

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.

# Création d’une tâche AutoML pour optimiser les modèles de génération de texte à l’aide de l’API
<a name="autopilot-create-experiment-finetune-llms"></a>

Les grands modèles linguistiques (LLMs) excellent dans de nombreuses tâches génératives, notamment la génération de texte, la synthèse, la complétion, la réponse aux questions, etc. Leur performance peut être attribuée à leur taille importante et à leur entraînement approfondi sur divers jeux de données et différentes tâches. Cependant, des domaines spécifiques, tels que les soins de santé et les services financiers, peuvent nécessiter un peaufinage personnalisé pour s’adapter à des données et à des cas d’utilisation uniques. En adaptant leur formation à leur domaine particulier, ils LLMs peuvent améliorer leurs performances et fournir des résultats plus précis pour des applications ciblées.

Autopilot permet d’optimiser une sélection de modèles de texte génératifs pré-entraînés. En particulier, Autopilot prend en charge le **réglage fin basé sur des instructions d'**une sélection de grands modèles de langage à usage général () alimentés par. LLMs JumpStart

**Note**  
Les modèles de génération de texte qui permettent un réglage précis dans Autopilot sont actuellement accessibles exclusivement dans les régions prises en charge par Canvas. SageMaker Consultez la documentation de SageMaker Canvas pour obtenir la [liste complète des régions prises en charge](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html).

Le peaufinage d’un modèle pré-entraîné nécessite un jeu de données spécifique contenant des instructions claires qui indiquent au modèle comment générer des sorties ou se comporter pour cette tâche. Le modèle apprend du jeu de données et ajuste ses paramètres conformément aux instructions fournies. Le peaufinage sur instructions implique l’utilisation d’exemples étiquetés au format de paires invite-réponse et formulés sous forme d’instructions. Pour plus d’informations sur le peaufinage, consultez [Peaufinage d’un modèle de fondation](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-fine-tuning.html).

[Les directives suivantes décrivent le processus de création d'une tâche Amazon SageMaker Autopilot dans le cadre d'une expérience pilote visant à affiner la génération de texte à LLMs l'aide de l' SageMaker API Reference.](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)

**Note**  
Les tâches telles que la classification d’images et de texte, les prévisions de séries temporelles et le peaufinage des grands modèles de langage sont exclusivement disponibles via la version 2 de l’[API REST AutoML](autopilot-reference.md). Si le langage de votre choix est Python, vous pouvez vous référer [AWS SDK pour Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html)directement à [MLV2 l'objet Auto](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2) du SDK Amazon SageMaker Python.  
Les utilisateurs qui préfèrent la commodité d'une interface utilisateur peuvent utiliser [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) pour accéder à des modèles préentraînés et à des modèles de base d'IA génératifs, ou créer des modèles personnalisés adaptés à des textes spécifiques, à une classification d'images, à des besoins de prévision ou à une IA générative.

Pour créer une expérience de pilote automatique par programmation afin de peaufiner un LLM, vous pouvez appeler l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)API dans n'importe quel langage pris en charge par Amazon Autopilot ou le. SageMaker AWS CLI

Pour plus d’informations sur la façon dont cette action d’API se traduit par une fonction dans le langage de votre choix, consultez la section [Voir aussi](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) de `CreateAutoMLJobV2`, et choisissez un kit SDK. À titre d'exemple, pour les utilisateurs de Python, consultez la syntaxe complète des demandes de `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` dans le kit AWS SDK pour Python (Boto3).

**Note**  
Autopilot optimise les grands modèles de langage sans nécessiter l’entraînement et l’évaluation de plusieurs candidats. Au lieu de cela, à l’aide de votre jeu de données, Autopilot optimise directement votre modèle cible pour améliorer une métrique objective par défaut : la perte d’entropie croisée. Le peaufinage de modèles de langages dans Autopilot ne nécessite pas de définir le champ `AutoMLJobObjective`.

Une fois votre LLM peaufiné, vous pouvez évaluer ses performances en accédant aux différents scores ROUGE via le `[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)` lors d’un appel d’API `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`. Le modèle fournit également des informations sur sa perte d’entraînement et de validation ainsi que sur sa perplexité. Pour une liste complète des métriques permettant d’évaluer la qualité du texte généré par les modèles peaufinés, consultez [Métriques de peaufinage des grands modèles de langage dans Autopilot](autopilot-llms-finetuning-metrics.md).

## Conditions préalables
<a name="autopilot-llms-finetuning-api-prerequisites"></a>

Avant d'utiliser le pilote automatique pour créer une expérience de réglage précis dans l' SageMaker IA, assurez-vous de suivre les étapes suivantes :
+ (Facultatif) Choisissez le modèle pré-entraîné que vous souhaitez optimiser.

  Pour consulter la liste des modèles préentraînés disponibles pour un réglage précis dans Amazon SageMaker Autopilot, consultez. [Grands modèles de langage pris en charge pour le peaufinage](autopilot-llms-finetuning-models.md) *La sélection d'un modèle n'est pas obligatoire ; si aucun modèle n'est spécifié, le pilote automatique utilise automatiquement par défaut le modèle Falcon7. BInstruct*
+ Créez un jeu de données d’instructions. Consultez [Types de fichiers de jeux de données et format des données d’entrée](autopilot-llms-finetuning-data-format.md) pour en savoir plus sur les exigences de format concernant votre jeu de données basé sur des instructions.
+ Placez votre jeu de données dans un compartiment Amazon S3.
+ Accordez un accès complet au compartiment Amazon S3 contenant vos données d'entrée pour le rôle d'exécution de l' SageMaker IA utilisé pour exécuter votre expérience.
  + Pour plus d'informations sur la récupération de votre rôle d'exécution SageMaker AI, consultez[Obtention de votre rôle d’exécution](sagemaker-roles.md#sagemaker-roles-get-execution-role).
  + Pour plus d'informations sur l'octroi à votre rôle d'exécution SageMaker AI des autorisations pour accéder à un ou plusieurs compartiments spécifiques dans Amazon S3, consultez *Ajouter des autorisations Amazon S3 supplémentaires à un rôle d'exécution SageMaker AI* dans[Créer un rôle d’exécution](sagemaker-roles.md#sagemaker-roles-create-execution-role).
+ En outre, vous devez fournir à votre rôle d'exécution les autorisations nécessaires pour accéder au compartiment de stockage par défaut utilisé par Amazon S3 JumpStart. Cet accès est requis pour stocker et récupérer des artefacts de modèles préentraînés dans. JumpStart Pour octroyer l’accès à ce compartiment Amazon S3, vous devez créer une nouvelle politique personnalisée intégrée à votre rôle d’exécution.

  Voici un exemple de politique que vous pouvez utiliser dans votre éditeur JSON lorsque vous configurez des tâches de peaufinage AutoML dans `us-west-2` :

  *JumpStartles noms de bucket suivent un schéma prédéterminé qui dépend du Régions AWS. Vous devez ajuster le nom du compartiment en conséquence.* 

  ```
  {
      "Sid": "Statement1",
      "Effect": "Allow",
      "Action": [
          "s3:GetObject",
          "s3:PutObject",
          "s3:ListBucket"
      ],
      "Resource": [
          "arn:aws:s3:::jumpstart-cache-prod-us-west-2",
          "arn:aws:s3:::jumpstart-cache-prod-us-west-2/*"
      ]
  }
  ```

Après cela, vous pouvez utiliser l’ARN de ce rôle d’exécution dans les demandes d’API Autopilot.

## Paramètres requis
<a name="autopilot-llms-finetuning-api-required-params"></a>

Lorsque vous appelez `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` pour créer une expérience Autopilot de peaufinage des LLM, vous devez fournir les valeurs suivantes :
+ Un paramètre `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)` pour spécifier le nom de votre tâche. Le nom doit être de type `string` et doit avoir une longueur minimale de 1 caractère et une longueur maximale de 32.
+ Au moins un `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` de type `training` dans `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)`. Ce canal indique le nom du compartiment Amazon S3 dans lequel votre jeu de données de peaufinage est situé. Vous avez la possibilité de définir un canal de `validation`. Si aucun canal de validation n’est fourni et qu’une `ValidationFraction` est configurée dans [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html), cette fraction est utilisée pour diviser aléatoirement le jeu de données d’entraînement en jeux de données d’entraînement et de validation. En outre, vous pouvez spécifier le type de contenu (fichiers CSV ou Parquet) pour le jeu de données.
+ Une `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` de type `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` pour configurer les paramètres de votre tâche d’entraînement.

  Vous pouvez notamment spécifier le nom du modèle de base à optimiser dans le champ `BaseModelName`. Pour consulter la liste des modèles préentraînés disponibles pour un réglage précis dans Amazon SageMaker Autopilot, consultez. [Grands modèles de langage pris en charge pour le peaufinage](autopilot-llms-finetuning-models.md)
+ Un élément `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` pour spécifier le chemin de sortie Amazon S3 pour stocker les artefacts de votre tâche AutoML.
+ Un élément `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)` pour spécifier l'ARN du rôle utilisé pour accéder à vos données.

Voici un exemple du format complet d’une demande utilisée lors d’un appel d’API vers `CreateAutoMLJobV2` pour le peaufinage d’un modèle (`Falcon7BInstruct`).

```
{
   "AutoMLJobName": "<job_name>",
   "AutoMLJobInputDataConfig": [ 
      { 
         "ChannelType": "training",
         "CompressionType": "None",
         "ContentType": "text/csv", 
         "DataSource": { 
            "S3DataSource": { 
               "S3DataType": "S3Prefix",
               "S3Uri": "s3://<bucket_name>/<input_data>.csv"
            }
         }
      }
   ],
  "OutputDataConfig": {
      "S3OutputPath": "s3://<bucket_name>/output",
      "KmsKeyId": "arn:aws:kms:<region>:<account_id>:key/<key_value>"
   },
   "RoleArn":"arn:aws:iam::<account_id>:role/<sagemaker_execution_role_name>",
   "AutoMLProblemTypeConfig": {
        "TextGenerationJobConfig": {
            "BaseModelName": "Falcon7BInstruct"
       }
   }
}
```

Tous les autres paramètres sont facultatifs.

## Paramètres facultatifs
<a name="autopilot-llms-finetuning-api-optional-params"></a>

Les sections suivantes fournissent des détails sur certains paramètres facultatifs que vous pouvez transmettre à votre tâche de peaufinage AutoML.

### Comment spécifier les jeux de données d’entraînement et de validation d’une tâche AutoML
<a name="autopilot-llms-finetuning-data-training-or-validation"></a>

Vous pouvez fournir votre propre jeu de données de validation et un rapport de répartition des données personnalisé, ou laisser Autopilot répartir automatiquement le jeu de données.

Chaque [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)objet (voir le paramètre obligatoire [Auto MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)) possède un`ChannelType`, qui peut être défini sur l'une `training` ou l'autre des `validation` valeurs spécifiant la manière dont les données doivent être utilisées lors de la création d'un modèle d'apprentissage automatique.

Au moins une source de données doit être fournie et deux sources de données maximum sont autorisées : une pour les données d'entraînement et l'autre pour les données de validation. Le fractionnement des données en jeux de données d'entraînement et de validation varie selon que vous disposiez d'une ou de deux sources de données. 
+ Si vous n'avez qu'**une source de données**, `ChannelType` est défini sur `training` par défaut et doit avoir cette valeur.
  + Si la valeur `ValidationFraction` de [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) n'est pas définie, 0,2 (20 %) des données de cette source sont utilisées pour la validation par défaut. 
  + Si `ValidationFraction` est défini sur une valeur comprise entre 0 et 1, le jeu de données est divisé en fonction de la valeur spécifiée, où la valeur spécifie la fraction du jeu de données utilisé pour la validation.
+ Si vous disposez de **deux sources de données**, le `ChannelType` de l'un des objets `AutoMLJobChannel` doit être défini sur `training` (valeur par défaut). Le `ChannelType` de l'autre source de données doit être défini sur `validation`. Les deux sources de données doivent avoir le même format, CSV ou Parquet, et le même schéma. Vous ne devez pas définir la valeur de `ValidationFraction` dans ce cas, car toutes les données de chaque source sont utilisées à des fins d'entraînement ou de validation. La définition de cette valeur provoque une erreur.

### Comment activer le déploiement automatique
<a name="autopilot-llms-finetuning-auto-model-deployment"></a>

Avec Autopilot, vous pouvez déployer automatiquement votre modèle peaufiné sur un point de terminaison. Pour activer le déploiement automatique de votre modèle peaufiné, incluez le paramètre `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)` dans la demande de tâche AutoML. Cela permet le déploiement de votre modèle affiné sur un point de terminaison d' SageMaker IA. Vous trouverez ci-dessous les configurations disponibles pour la personnalisation.
+ Pour permettre à Autopilot de générer le nom du point de terminaison, définissez `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` sur `True`.
+ Pour fournir votre propre nom pour le point de terminaison, définissez `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`.

### Comment définir l’acceptation du CLUF lors du peaufinage d’un modèle à l’aide de l’API AutoML
<a name="autopilot-llms-finetuning-set-eula"></a>

Pour les modèles nécessitant l’acceptation d’un contrat de licence utilisateur final (CLUF) avant le peaufinage, vous pouvez accepter le CLUF en définissant l’attribut `AcceptEula` du paramètre `[ModelAccessConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelAccessConfig.html)` sur `True` dans `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` lors de la configuration de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

### Comment définir les hyperparamètres pour optimiser le processus d’apprentissage d’un modèle
<a name="autopilot-llms-finetuning-set-hyperparameters"></a>

Vous pouvez optimiser le processus d’apprentissage de votre modèle de génération de texte en définissant des valeurs d’hyperparamètres dans l’attribut `TextGenerationHyperParameters` du paramètre `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` lors de la configuration de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Autopilot permet de définir quatre hyperparamètres communs à tous les modèles.
+ `epochCount` : sa valeur doit être une chaîne contenant un nombre entier compris entre `1` et `10`.
+ `batchSize` : sa valeur doit être une chaîne contenant un nombre entier compris entre `1` et `64`.
+ `learningRate` : sa valeur doit être une chaîne contenant une valeur à virgule flottante comprise entre `0` et `1`.
+ `learningRateWarmupSteps` : sa valeur doit être une chaîne contenant un nombre entier compris entre `0` et `250`.

Pour plus de détails sur chaque hyperparamètre, consultez [Hyperparamètres d’optimisation du processus d’apprentissage de vos modèles de génération de texte](autopilot-llms-finetuning-hyperparameters.md).

L'exemple JSON suivant montre un `TextGenerationHyperParameters` champ transmis au TextGenerationJobConfig où les quatre hyperparamètres sont configurés.

```
"AutoMLProblemTypeConfig": {
  "TextGenerationJobConfig": {
    "BaseModelName": "Falcon7B",
    "TextGenerationHyperParameters": {"epochCount":"5", "learningRate":"0.000001", "batchSize": "32", "learningRateWarmupSteps": "10"}
  }
}
```

# Grands modèles de langage pris en charge pour le peaufinage
<a name="autopilot-llms-finetuning-models"></a>

À l'aide de l'API Autopilot, les utilisateurs peuvent affiner les grands modèles de langage (LLMs) développés par Amazon. SageMaker JumpStart

**Note**  
Pour le peaufinage des modèles qui nécessitent l’acceptation d’un contrat de licence d’utilisateur final, vous devez déclarer explicitement l’acceptation du CLUF lors de ma création de votre tâche AutoML. Notez qu’après peaufinage d’un modèle pré-entraîné, les poids du modèle d’origine sont modifiés. Vous n’avez donc pas besoin d’accepter un CLUF ultérieurement lors du déploiement du modèle peaufiné.  
Pour en savoir plus sur la façon d’accepter le CLUF lors de la création d’une tâche de peaufinage à l’aide de l’API AutoML, consultez [Comment définir l’acceptation du CLUF lors du peaufinage d’un modèle à l’aide de l’API AutoML](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-eula).

Vous pouvez trouver tous les détails de chaque modèle en recherchant votre **numéro de JumpStart modèle** dans le [tableau des modèles](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table) suivant, puis en suivant le lien dans la colonne **Source**. Ces informations peuvent inclure les langages pris en charge par le modèle, les biais qu’il peut présenter, les jeux de données utilisés pour le peaufinage, etc.

Le tableau suivant répertorie les JumpStart modèles pris en charge que vous pouvez affiner à l'aide d'une tâche AutoML.


| JumpStart ID du modèle | `BaseModelName` dans la demande d’API | Description | 
| --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B |  Dolly 3B est un grand modèle de langage à 2,8 milliards de paramètres, basé sur [pythia-2.8b](https://huggingface.co/EleutherAI/pythia-2.8b#pythia-28b) et conçu pour suivre des instructions. Il est formé à l'utilisation du jeu de instruction/response données [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) et peut effectuer des tâches telles que le brainstorming, la classification, les questions et réponses, la génération de texte, l'extraction d'informations et la synthèse.  | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B |  Dolly 7B est un grand modèle de langage à 6,9 milliards de paramètres, basé sur [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b) et conçu pour suivre des instructions. Il est formé à l'utilisation du jeu de instruction/response données [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) et peut effectuer des tâches telles que le brainstorming, la classification, les questions et réponses, la génération de texte, l'extraction d'informations et la synthèse.  | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B |  Dolly 12B est un grand modèle de langage à 12 milliards de paramètres, basé sur [pythia-12b](https://huggingface.co/EleutherAI/pythia-12b) et conçu pour suivre des instructions. Il est formé à l'utilisation du jeu de instruction/response données [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) et peut effectuer des tâches telles que le brainstorming, la classification, les questions et réponses, la génération de texte, l'extraction d'informations et la synthèse.  | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B |  Falcon 7B est un grand modèle de langage causal à 7 milliards de paramètres, entraîné sur 1 500 milliards de jetons et enrichi par des corpus sélectionnés. Falcon 7B est formé uniquement à partir de données en anglais et en français, et ne répond pas de manière appropriée aux autres langues. Le modèle ayant été entraîné sur de grandes quantités de données Web, il reprend les stéréotypes et les préjugés courants qu’on peut trouver en ligne.  | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct |  Falcon7B Instruct est un grand modèle de langage causal à 7 milliards de paramètres construit sur Falcon7B et affiné sur un mélange de 250 millions de jetons d'ensembles de données. chat/instruct Falcon 7B Instruct est formé principalement à partir de données en anglais, et ne répond pas de manière appropriée aux autres langues. De plus, comme il est formé sur des corpus à grande échelle représentatifs du web, il véhicule les stéréotypes et les préjugés couramment rencontrés en ligne.  | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B |  Falcon 40B est un grand modèle de langage causal à 40 milliards de paramètres, entraîné sur 1 000 milliards de jetons et enrichi par des corpus sélectionnés. Il est formé principalement en anglais, allemand, espagnol et français, avec des capacités limitées en italien, portugais, polonais, néerlandais, roumain, tchèque et suédois. Il ne répond pas de manière appropriée aux autres langues. De plus, comme il est formé sur des corpus à grande échelle représentatifs du web, il véhicule les stéréotypes et les préjugés couramment rencontrés en ligne.  | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct |  Falcon40B Instruct est un grand modèle de langage causal à 40 milliards de paramètres, construit sur Falcon40B et peaufiné sur un mélange jeux de données Baize. Il est formé principalement à partir de données en anglais et en français, et ne répond pas de manière appropriée aux autres langues. De plus, comme il est formé sur des corpus à grande échelle représentatifs du web, il véhicule les stéréotypes et les préjugés couramment rencontrés en ligne.   | 
| huggingface-text2text-flan-t5-large | FlanT5L |  La famille de modèles [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) est un ensemble de grands modèles de langage peaufinés pour de multiples tâches et dont l’entraînement peut être poussé. Ces modèles sont parfaitement adaptés à des tâches telles que la traduction linguistique, la génération de texte, la complétion de phrases, la désambiguïsation du sens des mots, la synthétisation ou la réponse à des questions. Flan T5 L est un grand modèle de langage à 780 millions de paramètres, entraîné dans de nombreuses langues. Vous trouverez la liste des langues prises en charge par le Flan T5 L dans les détails du modèle extraits de votre recherche par numéro de modèle dans JumpStart le tableau des [modèles](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table).  | 
| huggingface-text2text-flan-t5-xl | FlanT5XL |  La famille de modèles [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) est un ensemble de grands modèles de langage peaufinés pour de multiples tâches et dont l’entraînement peut être poussé. Ces modèles sont parfaitement adaptés à des tâches telles que la traduction linguistique, la génération de texte, la complétion de phrases, la désambiguïsation du sens des mots, la synthétisation ou la réponse à des questions. Flan T5 XL est un grand modèle de langage à 3 milliards de paramètres, entraîné dans de nombreuses langues. Vous trouverez la liste des langues prises en charge par le Flan T5 XL dans les détails du modèle extraits de votre recherche par numéro de modèle dans JumpStart le tableau des [modèles](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table).  | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL |  La famille de modèles [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) est un ensemble de grands modèles de langage peaufinés pour de multiples tâches et dont l’entraînement peut être poussé. Ces modèles sont parfaitement adaptés à des tâches telles que la traduction linguistique, la génération de texte, la complétion de phrases, la désambiguïsation du sens des mots, la synthétisation ou la réponse à des questions. Le Flan T5 XXL est un modèle à 11 milliards de paramètres. [Vous trouverez la liste des langues prises en charge par le Flan T5 XXL dans les détails du modèle extraits de votre recherche par numéro de modèle dans JumpStart le tableau des modèles.](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)  | 
| meta-textgeneration-llama-2-7b | Llama2-7B |  Llama 2 est une collection de modèles de texte génératifs pré-entraînés et peaufinés, composés de 7 à 70 milliards de paramètres. Llama2-7B est le modèle à 7 milliards de paramètres destiné à être utilisé en anglais et qui peut être adapté à diverses tâches de génération de langage naturel.  | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat |  Llama 2 est une collection de modèles de texte génératifs pré-entraînés et peaufinés, composés de 7 à 70 milliards de paramètres. Llama2-7B est le modèle de chat à 7 milliards de paramètres, optimisé pour les cas d’utilisation de dialogues.  | 
| meta-textgeneration-llama-2-13b | Llama2-13B |  Llama 2 est une collection de modèles de texte génératifs pré-entraînés et peaufinés, composés de 7 à 70 milliards de paramètres. Llama2-13B est le modèle à 13 milliards de paramètres destiné à être utilisé en anglais et qui peut être adapté à diverses tâches de génération de langage naturel.  | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat |  Llama 2 est une collection de modèles de texte génératifs pré-entraînés et peaufinés, composés de 7 à 70 milliards de paramètres. Llama2-13B est le modèle de chat à 13 milliards de paramètres, optimisé pour les cas d’utilisation de dialogues.  | 
| huggingface-llm-mistral-7b | Mistral7B |  Mistral 7B bénéficie d’un code à 7 milliards de paramètres et est un modèle de génération de texte anglais à usage général. Il peut être utilisé dans divers cas d’utilisation, notamment pour la synthétisation de texte, la classification, la complétion de texte ou la complétion de code.  | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct |  Mistral 7B Instruct est la version peaufinée de Mistral 7B pour les cas d’utilisation conversationnels. Il a été spécialisé à l’aide de divers jeux de données de conversation en anglais accessibles au public.  | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B |  MPT 7B est un grand modèle de langage de type décodeur (transformeur) à 6,7 milliards de paramètres, pré-entraîné à partir de zéro sur 1 billion de jetons de code et de texte en anglais. Il est préparé pour gérer d’importantes longueurs de contexte.  | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct |  MPT 7B Instruct est un modèle destiné aux tâches d’exécution d’instructions courtes. Il est construit en peaufinant le modèle MPT 7B sur un jeu de données dérivé des jeux de données [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) et [Anthropic Helpful and Harmless (HH-RLHF)](https://huggingface.co/datasets/Anthropic/hh-rlhf).  | 

# Types de fichiers de jeux de données et format des données d’entrée
<a name="autopilot-llms-finetuning-data-format"></a>

Le réglage précis basé sur les instructions utilise des ensembles de données étiquetés pour améliorer les performances des tâches de traitement du langage naturel ( LLMs NLP) préentraînées. Les exemples étiquetés sont présentés sous forme de paires invite-réponse et formulés comme des instructions.



Pour en savoir plus sur les types de fichiers de jeux de données pris en charge, consultez [Types de fichiers de jeu de données pris en charge](#autopilot-llms-finetuning-dataset-format).

Pour en savoir plus sur le format des données d’entrée, consultez [Format des données d’entrée pour le peaufinage sur instructions](#autopilot-llms-finetuning-input-format).

## Types de fichiers de jeu de données pris en charge
<a name="autopilot-llms-finetuning-dataset-format"></a>

Autopilot prend en charge les jeux de données de peaufinage sur instructions au format de fichiers CSV (par défaut) ou de fichiers Parquet.
+ **CSV** (valeurs séparées par des virgules) est un format de fichier basé sur les lignes qui stocke les données en texte brut lisible par l’utilisateur, un choix populaire pour l’échange de données, car il est pris en charge par un large éventail d’applications.
+ **Parquet** est un format de fichier binaire basé sur des colonnes, dans lequel les données sont stockées et traitées plus efficacement que dans les formats de fichiers basés sur des lignes, comme CSV. Il s’agit d’un meilleure option pour les problèmes de big data.

**Note**  
Le jeu de données peut être composé de plusieurs fichiers, dont chacun doit respecter un modèle spécifique. Pour en savoir plus sur la façon de formater vos données d’entrée, consultez [Format des données d’entrée pour le peaufinage sur instructions](#autopilot-llms-finetuning-input-format).

## Format des données d’entrée pour le peaufinage sur instructions
<a name="autopilot-llms-finetuning-input-format"></a>

Chaque fichier du jeu de données doit respecter le format suivant :
+ Le jeu de données doit contenir exactement deux colonnes nommées et séparées par des virgules, `input` et `output`. Autopilot n’autorise aucune colonne supplémentaire. 
+ La colonne `input` contient les invites, et la colonne `output` correspondante contient la réponse attendue. Les colonnes `input` et `output` sont toutes deux au format chaîne.

L’exemple suivant illustre le format des données d’entrée pour le peaufinage sur instructions dans Autopilot.

```
input,output
"<prompt text>","<expected generated text>"
```

**Note**  
Nous recommandons d’utiliser de jeux de données d’un minimum de 1 000 lignes pour garantir un apprentissage efficace et des performances optimales du modèle.

En outre, Autopilot définit une limite maximale du nombre de lignes dans le jeu de données et de la longueur du contexte en fonction du type de modèle utilisé.
+ Les limites du nombre de lignes d’un jeu de données s’appliquent au nombre cumulé de lignes dans tous les fichiers du jeu de données, même quand il y a plusieurs fichiers. Si deux [types de canaux](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) sont définis (un pour l’entraînement et un pour la validation), la limite s’applique au nombre total de lignes de l’ensemble des jeux de données des deux canaux. Lorsque le nombre de lignes dépasse le seuil, la tâche échoue avec une erreur de validation.
+ Lorsque la longueur de l’entrée ou de la sortie d’une ligne du jeu de données dépasse la limite définie dans le contexte du modèle de langage, elle est automatiquement tronquée. Si plus de 60 % des lignes du jeu de données sont tronquées, que ce soit en entrée ou en sortie, Autopilot met la tâche en échec avec une erreur de validation.

Le tableau suivant présente ces limites pour chaque modèle.


| JumpStart ID du modèle | `BaseModelName` dans la demande d’API | Limite de ligne | Limite de longueur du contexte | 
| --- | --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B | 10 000 lignes | 1 024 jetons | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B | 10 000 lignes | 1 024 jetons | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B | 10 000 lignes | 1 024 jetons | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B | 1 000 lignes | 1 024 jetons | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct | 1 000 lignes | 1 024 jetons | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B | 10 000 lignes | 1 024 jetons | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct | 10 000 lignes | 1 024 jetons | 
| huggingface-text2text-flan-t5-large | FlanT5L | 10 000 lignes | 1 024 jetons | 
| huggingface-text2text-flan-t5-xl | FlanT5XL | 10 000 lignes | 1 024 jetons | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL | 10 000 lignes | 1 024 jetons | 
| meta-textgeneration-llama-2-7b | Llama2-7B | 10 000 lignes | 2 048 jetons | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat | 10 000 lignes | 2 048 jetons | 
| meta-textgeneration-llama-2-13b | Llama2-13B | 7 000 lignes | 2 048 jetons | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat | 7 000 lignes | 2 048 jetons | 
| huggingface-llm-mistral-7b | Mistral7B | 10 000 lignes | 2 048 jetons | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct | 10 000 lignes | 2 048 jetons | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B | 10 000 lignes | 1 024 jetons | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct | 10 000 lignes | 1 024 jetons | 

# Hyperparamètres d’optimisation du processus d’apprentissage de vos modèles de génération de texte
<a name="autopilot-llms-finetuning-hyperparameters"></a>

Vous pouvez optimiser le processus d’apprentissage de votre modèle de base en ajustant n’importe quelle combinaison des hyperparamètres suivants. Ces paramètres sont disponibles pour tous les modèles.
+ **Nombre d’époques** : l’hyperparamètre `epochCount` détermine le nombre de fois que le modèle parcourt le jeu de données d’entraînement dans son intégralité. Il influence la durée de l’entraînement et peut empêcher le surajustement lorsqu’il est réglé de façon appropriée. Un grand nombre d’époques peut augmenter le temps d’exécution global des tâches de peaufinage. Nous vous recommandons de définir une grande valeur `MaxAutoMLJobRuntimeInSeconds` pour `CompletionCriteria` dans `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` afin d’éviter que les tâches de peaufinage ne s’arrêtent prématurément.
+ **Taille du lot** : l’hyperparamètre `batchSize` définit le nombre d’exemples de données utilisés lors de chaque itération d’entraînement. Il peut affecter la vitesse de convergence et l’utilisation de la mémoire. Lorsque la taille des lots est importante, le risque d’erreurs liées au manque de mémoire (OOM) augmente, ce qui peut se traduire par une erreur interne du serveur dans Autopilot. Pour détecter une telle erreur, consultez le groupe de journaux `/aws/sagemaker/TrainingJobs` des tâches d’entraînement lancées par votre tâche Autopilot. Vous pouvez accéder à ces connexions CloudWatch depuis la console AWS de gestion. Choisissez **Journaux**, puis le **groupe de journaux** `/aws/sagemaker/TrainingJobs`. Pour corriger les erreurs OOM, réduisez la taille du lot.

  Nous vous recommandons de commencer par une taille de lot de 1, puis de l’augmenter progressivement jusqu’à ce qu’une erreur de mémoire insuffisante se produise. À titre de référence, le traitement complet de 10 époques prend généralement jusqu’à 72 heures.
+ **Taux d’apprentissage** : l’hyperparamètre `learningRate` contrôle la taille de l’étape à laquelle les paramètres d’un modèle sont mis à jour pendant l’entraînement. Il détermine la rapidité ou la lenteur avec laquelle les paramètres du modèle sont mis à jour pendant l’entraînement. Un taux d’apprentissage élevé signifie que les paramètres sont mis à jour par étapes importantes, ce qui peut accélérer la convergence, mais aussi entraîner le dépassement de la solution optimale et l’instabilité du processus d’optimisation. Un faible taux d’apprentissage signifie que les paramètres sont mis à jour par petites étapes, ce qui peut conduire à une convergence plus stable, mais au prix d’un apprentissage plus lent.
+ **Étapes d’échauffement du taux d’apprentissage** : l’hyperparamètre `learningRateWarmupSteps` indique le nombre d’étapes d’entraînement au cours desquelles le taux d’apprentissage augmente progressivement avant d’atteindre sa valeur cible ou maximale. Cela permet au modèle de converger plus efficacement et d’éviter les problèmes tels que la divergence ou la lenteur de convergence, qui peuvent survenir avec un taux d’apprentissage initialement élevé.

Pour savoir comment ajuster les hyperparamètres pour votre expérience de peaufinage dans Autopilot et découvrir leurs valeurs possibles, consultez [Comment définir les hyperparamètres pour optimiser le processus d’apprentissage d’un modèle](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-hyperparameters).

# Métriques de peaufinage des grands modèles de langage dans Autopilot
<a name="autopilot-llms-finetuning-metrics"></a>

La section suivante décrit les indicateurs que vous pouvez utiliser pour comprendre vos grands modèles linguistiques affinés (LLMs). À l’aide de votre jeu de données, Autopilot optimise directement un modèle LLM cible pour améliorer une métrique objective par défaut : la perte d’entropie croisée.

La perte d’entropie croisée est une métrique largement utilisée pour évaluer la dissemblance entre la distribution de probabilité prévue et la distribution réelle des mots dans les données d’entraînement. En minimisant la perte d’entropie croisée, le modèle apprend à faire des prédictions plus précises et pertinentes contextuellement, en particulier dans les tâches liées à la génération de texte.

Après avoir peaufiné un LLM, vous pouvez évaluer la qualité du texte généré à l’aide d’une gamme de scores ROUGE. De plus, vous pouvez analyser la perplexité et les pertes d’entropie croisée de l’entraînement et de la validation dans le cadre du processus d’évaluation.
+ La perte de perplexité mesure la capacité du modèle à prédire le mot suivant dans une séquence de texte, les valeurs les plus faibles indiquant une meilleure compréhension du langage et du contexte. 
+ Recall-Oriented Understudy for Gisting Evaluation (ROUGE) est un ensemble de métriques utilisé dans le domaine du traitement du langage naturel (NLP) et du machine learning pour évaluer la qualité du texte généré par la machine, tel que la génération ou la synthétisation de texte. Il évalue principalement les similitudes entre le texte généré et le texte de référence (écrit par des humains) d’un jeu de données de validation. Les mesures ROUGE sont conçues pour évaluer divers aspects de la similitude des textes, notamment la précision et le rappel des n-grammes (séquences contiguës de mots) dans les textes générés par le système et les textes de référence. L’objectif est d’évaluer dans quelle mesure un modèle capture les informations présentes dans le texte de référence.

  Il existe plusieurs variantes de métriques ROUGE, en fonction du type de n-grammes utilisé et des aspects spécifiques de la qualité du texte évalué.

  La liste suivante contient le nom et la description des métriques ROUGE disponibles après le peaufinage de grands modèles de langage dans Autopilot.  
**`ROUGE-1`, `ROUGE-2`**  
ROUGE-N, la métrique ROUGE principale, mesure le chevauchement des n-grammes entre les textes générés par le système et les textes de référence. ROUGE-N peut être ajustée à différentes valeurs de `n` (ici `1` ou `2`) pour évaluer dans quelle mesure le texte généré par le système capture les n-grammes du texte de référence.  
**`ROUGE-L`**  
ROUGE-L (Sous-séquence commune ROUGE-Longest) calcule la plus longue sous-séquence commune entre le texte généré par le système et le texte de référence. Cette variante prend en compte l’ordre des mots en plus du chevauchement du contenu.  
**`ROUGE-L-Sum`**  
ROUGE-L-SUM (Sous-séquence commune la plus longue pour la synthétisation) est conçue pour l’évaluation des systèmes de synthétisation de texte. Elle se concentre sur la mesure de la sous-séquence commune la plus longue entre le résumé généré par la machine et le résumé de référence. ROUGE-L-SUM prend en compte l’ordre des mots dans le texte, ce qui est important dans les tâches de synthétisation de texte.

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