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.
Implemente un modelo personalizado
Una vez finalizado el entrenamiento, implemente su modelo para la inferencia. Puede implementar un modelo personalizado mediante la CLI o el SDK.
Localice los artefactos de su modelo
-
Compruebe su depósito de S3: compruebe que los artefactos del modelo estén guardados 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/model.tar.gz \ --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://tls-bucket-inf1-beta2 \ --instance-type ml.g5.8xlarge \ --endpoint-name endpoint-custom-pytorch \ --model-name pytorch-custom-model \
Este comando implementa el modelo entrenado como un punto final denominadoendpoint-custom-pytorch
. Hace --model-location
referencia a la ruta del artefacto del trabajo de entrenamiento.
Implemente con el SDK de Python
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/model.tar.gz", 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://tls-bucket-inf1-beta2") 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 final 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
Agrega el siguiente código a tu secuencia de comandos de Python:
data = '{"inputs":"What is the capital of USA?"}' response = custom_endpoint.invoke(body=data).body.read() print(response)
Gestione el punto final
Uso de la CLI
Enumere e inspeccione el punto final:
hyp list hyp-custom-endpoint hyp get hyp-custom-endpoint --name endpoint-custom-pytorch
Uso del SDK
Agrega el siguiente código a tu secuencia de comandos de Python:
logs = custom_endpoint.get_logs() print(logs)
Eliminar recursos
Cuando haya terminado, elimine el punto final para evitar costes innecesarios.
Uso de la CLI
hyp delete hyp-custom-endpoint --name endpoint-custom-pytorch
Uso del SDK
custom_endpoint.delete()
Pasos a seguir a continuación
Ha implementado y probado satisfactoriamente un modelo personalizado utilizando SageMaker HyperPod. Ahora puede usar este punto final para realizar inferencias en sus aplicaciones.