ModelBuilder fails w/ DJL container using HF_MODEL_ID
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Tranquilo
- Stack tecnológico
- aws, python
- Área
- cloud, machine-learning
Línea de trabajo
Comienza en ModelBuilder._build_for_passthrough() y sigue los valores que se pasan a _create_model(). Reproduce la compilación passthrough con image_uri y HF_MODEL_ID y, a continuación, verifica que una solicitud CreateModel exitosa omita ModelDataUrl y que el contenedor pueda cargar el modelo configurado desde S3.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
PySDK Version
- PySDK V2 (2.x)
- PySDK V3 (3.4.0)
Describe the bug
When using ModelBuilder in "passthrough" mode (image_uri + env_vars, no model
or inference_spec), build() fails with a ValidationException because a
non-existent S3 path is injected as ModelDataUrl in the CreateModel request.
Passthrough mode is the intended path for deploying models on custom/DJL
containers where the container itself handles model loading (e.g. via
HF_MODEL_ID env var pointing to S3).
Expected behavior
Expected: Model created with no ModelDataUrl (container loads via HF_MODEL_ID)
Actual: ValidationException -- "Could not find model data at
s3:///model-builder///"
Suggested Fix
In _build_for_passthrough(), also clear s3_model_data_url:
def _build_for_passthrough(self) -> Model:
if not self.image_uri:
raise ValueError("image_uri is required for pass-through cases")
self.s3_upload_path = None
self.s3_model_data_url = None # <-- add this line
return self._create_model()
To reproduce
from sagemaker.core.helper.session_helper import Session, get_execution_role
from sagemaker.serve.model_builder import ModelBuilder
sagemaker_session = Session()
region = sagemaker_session.boto_session.region_name
role = get_execution_role(sagemaker_session, use_default=True)
bucket = sagemaker_session.default_bucket()
image_uri = f"763104351884.dkr.ecr.{region}.amazonaws.com/djl-inference:0.33.0-lmi15.0.0-cu128"
model_builder = ModelBuilder(
image_uri=image_uri,
role_arn=role,
sagemaker_session=sagemaker_session,
instance_type="ml.g5.2xlarge",
env_vars={
"HF_MODEL_ID": f"s3://{bucket}/models/any-model",
"OPTION_ROLLING_BATCH": "vllm",
},
)
model_builder.build(model_name="passthrough-bug-repro")
- Lenguaje dominante
- Python
- Estrellas
- 2.3k
- Forks
- 1.3k
- Merge medio
- 3 d 9 h
- PR fusionados (30 d)
- 42
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de aws/sagemaker-python-sdk
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
aws/sagemaker-python-sdk#6278 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
aws/sagemaker-python-sdk#6253 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 93/100
aws/sagemaker-python-sdk#6232 ·
-
component: model monitor type: bug
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
aws/sagemaker-python-sdk#6206 ·
-
component: model builder type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
aws/sagemaker-python-sdk#6199 ·
Todos los issues de aws/sagemaker-python-sdk
Issues similares
-
documentation help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
simonw/sqlite-utils#872 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100