

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
<a name="autopilot-llms-finetuning-deploy-models"></a>

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é](https://aws.amazon.com/ec2/instance-types/) de la sélection de types d’instances proposée par Amazon EC2.

## Génération de texte en temps réel
<a name="autopilot-llms-finetuning-realtime"></a>

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](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html) 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](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-auto-model-deployment).   
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](https://sagemaker.readthedocs.io/en/stable/overview.html#deploy-a-pre-trained-model-directly-to-a-sagemaker-endpoint).

1. **Obtention des définitions de conteneurs d’inférence candidats**

   Vous pouvez le trouver `InferenceContainerDefinitions` dans l'`BestCandidate`objet extrait de la réponse à l'appel d'API [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html#API_DescribeAutoMLJobV2_ResponseSyntax). 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](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) 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-name job-name --region region
   ```

1. **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'[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API. Consultez la AWS CLI commande suivante à titre d'exemple. Utilisez `CandidateName` pour 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>
   ```

1. **Créer une configuration de point de terminaison**

   L'exemple de AWS CLI commande suivant utilise l'[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API 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 = 3600` et `ContainerStartupHealthCheckTimeoutInSeconds = 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>'
   ```

1. **Créer le point de terminaison** 

   L' AWS CLI exemple suivant utilise l'[CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API 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'[DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API. Consultez la AWS CLI commande suivante à titre d'exemple.

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   Lorsque `EndpointStatus` devient `InService`, le point de terminaison est prêt à être utilisé pour l'inférence en temps réel.

1. **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](#autopilot-llms-finetuning-realtime-prompt-examples). 

   ```
   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
<a name="autopilot-llms-finetuning-realtime-prompt-examples"></a>

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"
  }
  ```