Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Implementar un modelo personalizado
Cuando finalice el entrenamiento, implemente el modelo para la inferencia. Puede implementar un modelo personalizado mediante la CLI o el SDK.
Localización de los artefactos del modelo
-
Compruebe su bucket de S3: verifique que los artefactos del modelo se hayan guardado en
s3://my-bucket/model-artifacts/. -
Anote la ruta exacta: necesitará la ruta completa (por ejemplo,
s3://my-bucket/model-artifacts/test-pytorch-job/model.tar.gz).
Implementación mediante la CLI
Ejecute el siguiente comando para implementar su modelo personalizado:
hyp create hyp-custom-endpoint \ --version 1.0 \ --env '{"HF_MODEL_ID":"/opt/ml/model", "SAGEMAKER_PROGRAM":"inference.py", }' \ --model-source-type s3 \ --model-location test-pytorch-job \ --s3-bucket-name my-bucket \ --s3-region us-east-2 \ --prefetch-enabled true \ --image-uri 763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:latest \ --model-volume-mount-name model-weights \ --container-port 8080 \ --resources-requests '{"cpu": "30000m", "nvidia.com/gpu": 1, "memory": "100Gi"}' \ --resources-limits '{"nvidia.com/gpu": 1}' \ --tls-output-s3-uri s3://<bucket_name>\ --instance-type ml.g5.8xlarge \ --endpoint-name endpoint-custom-pytorch \ --model-name pytorch-custom-model
Este comando implementa el modelo entrenado como un punto de conexión denominado endpoint-custom-pytorch. --model-location hace referencia a la ruta del artefacto del trabajo de entrenamiento.
Implementación mediante el Python SDK
Cree un script de Python con el siguiente contenido:
from sagemaker.hyperpod.inference.config.hp_custom_endpoint_config import Model, Server, SageMakerEndpoint, TlsConfig, EnvironmentVariables from sagemaker.hyperpod.inference.hp_custom_endpoint import HPCustomEndpoint model = Model( model_source_type="s3", model_location="test-pytorch-job", s3_bucket_name="my-bucket", s3_region="us-east-2", prefetch_enabled=True ) server = Server( instance_type="ml.g5.8xlarge", image_uri="763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.4.0-tgi2.3.1-gpu-py311-cu124-ubuntu22.04-v2.0", container_port=8080, model_volume_mount_name="model-weights" ) resources = { "requests": {"cpu": "30000m", "nvidia.com/gpu": 1, "memory": "100Gi"}, "limits": {"nvidia.com/gpu": 1} } env = EnvironmentVariables( HF_MODEL_ID="/opt/ml/model", SAGEMAKER_PROGRAM="inference.py", SAGEMAKER_SUBMIT_DIRECTORY="/opt/ml/model/code", MODEL_CACHE_ROOT="/opt/ml/model", SAGEMAKER_ENV="1" ) endpoint_name = SageMakerEndpoint(name="endpoint-custom-pytorch") tls_config = TlsConfig(tls_certificate_output_s3_uri="s3://<bucket_name>") custom_endpoint = HPCustomEndpoint( model=model, server=server, resources=resources, environment=env, sage_maker_endpoint=endpoint_name, tls_config=tls_config ) custom_endpoint.create()
Invocar al punto de conexión
Uso de la CLI
Pruebe el punto de conexión con una entrada de muestra:
hyp invoke hyp-custom-endpoint \ --endpoint-name endpoint-custom-pytorch \ --body '{"inputs":"What is the capital of USA?"}'
Esto devuelve la respuesta del modelo, por ejemplo: “La capital de EE. UU. es Washington, D.C.”.
Uso del SDK
Incluya el siguiente código en el script de Python:
data = '{"inputs":"What is the capital of USA?"}' response = custom_endpoint.invoke(body=data).body.read() print(response)
Administración del punto de conexión
Uso de la CLI
Enumere e inspeccione el punto de conexión:
hyp list hyp-custom-endpoint hyp get hyp-custom-endpoint --name endpoint-custom-pytorch
Uso del SDK
Incluya el siguiente código en el script de Python:
logs = custom_endpoint.get_logs() print(logs)
Eliminar recursos
Cuando haya terminado, elimine el punto de conexión para evitar costos innecesarios.
Uso de la CLI
hyp delete hyp-custom-endpoint --name endpoint-custom-pytorch
Uso del SDK
custom_endpoint.delete()
Siguientes pasos
Ha implementado y probado satisfactoriamente un modelo personalizado utilizando SageMaker HyperPod. Ahora puede utilizar este punto de conexión para la inferencia en sus aplicaciones.