Implemente un modelo personalizado - Amazon SageMaker AI

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.