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éploiement et prédictions des modèles Autopilot
Après avoir peaufiné un grand modèle de langage (LLM), vous pouvez le déployer pour générer du texte en temps réel en configurant un point de terminaison afin d’obtenir des prédictions interactives.
Note
Pour de meilleures performances, nous vous recommandons d’exécuter des tâches d’inférence en temps réel sur ml.g5.12xlarge. Sinon, les instances ml.g5.8xlarge conviennent également pour les tâches de génération de texte Falcon-7B-Instruct et MPT-7B-Instruct.
Découvrez les spécificités de ces instances dans la catégorie Calcul accéléré
Génération de texte en temps réel
Vous pouvez l'utiliser SageMaker APIs pour déployer manuellement votre modèle affiné sur un point de terminaison d'inférence en temps réel d' SageMaker AI Hosting, puis commencer à faire des prédictions en invoquant le point de terminaison comme suit.
Note
Vous pouvez également choisir l’option de déploiement automatique lors de la création de votre expérience de peaufinage dans Autopilot. Pour en savoir plus sur la configuration du déploiement automatique des modèles, consultez Comment activer le déploiement automatique.
Vous pouvez également utiliser le SDK SageMaker Python et la JumpStartModel classe pour effectuer des inférences avec des modèles affinés par Autopilot. Cela peut être fait en spécifiant un emplacement personnalisé pour l’artefact du modèle dans Amazon S3. Pour plus d'informations sur la définition de votre modèle en tant que JumpStart modèle et sur le déploiement de votre modèle à des fins d'inférence, consultez la section Déploiement à faible code avec la JumpStartModel classe
-
Obtention des définitions de conteneurs d’inférence candidats
Vous pouvez le trouver
InferenceContainerDefinitionsdans l'BestCandidateobjet extrait de la réponse à l'appel d'API DescribeAutoMLJobV2. Une définition de conteneur pour l’inférence fait référence à l’environnement conteneurisé conçu pour déployer et exécuter votre modèle entraîné afin d’effectuer des prédictions.L'exemple de AWS CLI commande suivant utilise l'API DescribeAutoMLJobV2 pour obtenir les définitions de conteneur recommandées pour le nom de votre tâche.
aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-namejob-name--regionregion -
Création d'un modèle d' SageMaker IA
Utilisez les définitions de conteneur de l'étape précédente pour créer un modèle d' SageMaker IA à l'aide de l'CreateModelAPI. Consultez la AWS CLI commande suivante à titre d'exemple. Utilisez
CandidateNamepour le nom de votre modèle.aws sagemaker create-model --model-name '<your-candidate-name>' \ --primary-container '<container-definition' \ --execution-role-arn '<execution-role-arn>' --region '<region> -
Créer une configuration de point de terminaison
L'exemple de AWS CLI commande suivant utilise l'CreateEndpointConfigAPI pour créer une configuration de point de terminaison.
Note
Pour éviter que la création du point de terminaison n’expire en raison d’un long téléchargement du modèle, nous vous recommandons de définir
ModelDataDownloadTimeoutInSeconds = 3600etContainerStartupHealthCheckTimeoutInSeconds = 3600.aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \ --production-variants '<list-of-production-variants>' ModelDataDownloadTimeoutInSeconds=3600 ContainerStartupHealthCheckTimeoutInSeconds=3600 \ --region '<region>' -
Créer le point de terminaison
L' AWS CLI exemple suivant utilise l'CreateEndpointAPI pour créer le point de terminaison.
aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \ --endpoint-config-name '<endpoint-config-name-you-just-created>' \ --region '<region>'Vérifiez la progression du déploiement de votre terminal à l'aide de l'DescribeEndpointAPI. Consultez la AWS CLI commande suivante à titre d'exemple.
aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region<region>Lorsque
EndpointStatusdevientInService, le point de terminaison est prêt à être utilisé pour l'inférence en temps réel. -
Appeler le point de terminaison
La commande suivante invoque le point de terminaison pour une inférence en temps réel. Votre invite doit être codée en octets.
Note
Le format de votre invite d’entrée dépend du modèle de langage. Pour plus d’informations sur le format des invites de génération de texte, consultez Format de demande pour l’inférence en temps réel des modèles de génération de texte.
aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ --region '<region>' --body '<your-promt-in-bytes>' [--content-type] 'application/json'<outfile>
Format de demande pour l’inférence en temps réel des modèles de génération de texte
Différents grands modèles de langage (LLMs) peuvent avoir des dépendances logicielles, des environnements d'exécution et des exigences matérielles spécifiques qui influencent le conteneur recommandé par Autopilot pour héberger le modèle à des fins d'inférence. De plus, chaque modèle dicte le format de données d’entrée requis et le format attendu pour les prédictions et les sorties.
Voici des exemples d’entrées pour certains modèles et conteneurs recommandés.
-
Pour les modèles Falcon avec le conteneur recommandé
huggingface-pytorch-tgi-inference:2.0.1-tgi1.0.3-gpu-py39-cu118-ubuntu20.04:payload = { "inputs": "Large language model fine-tuning is defined as", "parameters": { "do_sample": false, "top_p": 0.9, "temperature": 0.1, "max_new_tokens": 128, "stop": ["<|endoftext|>", "</s>"] } } -
Pour les autres modèles avec le conteneur recommandé
djl-inference:0.22.1-fastertransformer5.3.0-cu118:payload= { "text_inputs": "Large language model fine-tuning is defined as" }