Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Déployer un modèle personnalisé
Une fois la formation terminée, déployez votre modèle à des fins d'inférence. Vous pouvez déployer un modèle personnalisé à l'aide de la CLI ou du SDK.
Localisez les artefacts de votre modèle
-
Vérifiez votre compartiment S3 : vérifiez que les artefacts du modèle sont enregistrés dans
s3://my-bucket/model-artifacts/
-
Notez le chemin exact : vous aurez besoin du chemin complet (par exemple,
s3://my-bucket/model-artifacts/test-pytorch-job/model.tar.gz
)
Déploiement à l'aide de la CLI
Exécutez la commande suivante pour déployer votre modèle personnalisé :
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 \
Cette commande déploie le modèle entraîné en tant que point de terminaison nomméendpoint-custom-pytorch
. Il fait --model-location
référence au parcours de l'artefact issu de la tâche de formation.
Déploiement à l'aide du SDK Python
Créez un script Python avec le contenu suivant :
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()
Appeler le point de terminaison
Utilisation de l’ CLI
Testez le point final avec un échantillon d'entrée :
hyp invoke hyp-custom-endpoint \ --endpoint-name endpoint-custom-pytorch \ --body '{"inputs":"What is the capital of USA?"}'
Cela renvoie la réponse du modèle, telle que « La capitale des États-Unis est Washington, D.C. »
Utilisation de l'SDK
Ajoutez le code suivant à votre script Python :
data = '{"inputs":"What is the capital of USA?"}' response = custom_endpoint.invoke(body=data).body.read() print(response)
Gérez le point de terminaison
Utilisation de l’ CLI
Répertoriez et inspectez le point de terminaison :
hyp list hyp-custom-endpoint hyp get hyp-custom-endpoint --name endpoint-custom-pytorch
Utilisation de l'SDK
Ajoutez le code suivant à votre script Python :
logs = custom_endpoint.get_logs() print(logs)
Nettoyage des ressources
Lorsque vous avez terminé, supprimez le point de terminaison pour éviter des coûts inutiles.
Utilisation de l’ CLI
hyp delete hyp-custom-endpoint --name endpoint-custom-pytorch
Utilisation de l'SDK
custom_endpoint.delete()
Étapes suivantes
Vous avez déployé et testé avec succès un modèle personnalisé à l'aide de SageMaker HyperPod. Vous pouvez désormais utiliser ce point de terminaison pour l'inférence dans vos applications.