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.
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 formation approfondie sur divers ensembles de données et diverses tâches. Cependant, des domaines spécifiques, tels que les soins de santé et les services financiers, peuvent nécessiter un ajustement 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.
Le pilote automatique permet de peaufiner 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.
L'ajustement précis 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 résultats ou se comporter pour cette tâche. Le modèle apprend de l'ensemble de données et ajuste ses paramètres conformément aux instructions fournies. Le réglage précis basé sur les instructions implique l'utilisation d'exemples étiquetés, formatés sous forme de paires prompte-réponse et formulés sous forme d'instructions. Pour plus d'informations sur le réglage précis, voir Affiner un modèle de base.
Note
Les tâches telles que la classification du texte et des images, les prévisions de séries chronologiques et le réglage précis de grands modèles linguistiques sont exclusivement disponibles via la version 2 de l'API REST AutoML. Si le langage de votre choix est Python, vous pouvez vous référer AWS SDK pour Python (Boto3)
Les utilisateurs qui préfèrent la commodité d'une interface utilisateur peuvent utiliser Amazon SageMaker Canvas 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'CreateAutoMLJobV2
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 la langue de votre choix, consultez la section Voir aussi de CreateAutoMLJobV2
et choisissez un SDK. À titre d'exemple, pour les utilisateurs de Python, consultez la syntaxe complète des demandes de create_auto_ml_job_v2
dans le kit AWS SDK pour Python (Boto3).
Note
Le pilote automatique affine les grands modèles linguistiques sans nécessiter la formation et l'évaluation de plusieurs candidats. Au lieu de cela, à l'aide de votre jeu de données, Autopilot affine directement votre modèle cible pour améliorer une métrique objective par défaut, la perte d'entropie croisée. Pour affiner les modèles linguistiques dans Autopilot, il n'est pas nécessaire de définir le champ. AutoMLJobObjective
Une fois votre LLM peaufiné, vous pouvez évaluer ses performances en accédant à différents ROUGE obtient des scores BestCandidate
lors d'un appel d'DescribeAutoMLJobV2
API. 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 mesures permettant d'évaluer la qualité du texte généré par les modèles affinés, voirMétriques pour affiner de grands modèles linguistiques dans Autopilot.
Prérequis
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 affiner.
Pour consulter la liste des modèles préentraînés disponibles pour un réglage précis dans Amazon SageMaker Autopilot, consultez. Modèles linguistiques étendus pris en charge pour un réglage précis 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 pour en savoir plus sur les exigences de format pour votre jeu de données basé sur des instructions.
-
Placez votre ensemble 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, consultezObtenez votre rôle d'exécution.
-
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 dansCréer un rôle d'exécution.
-
-
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 accorder l'accès à ce compartiment Amazon S3, vous devez créer une nouvelle politique personnalisée en ligne concernant 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 réglage précis 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 bucket 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
Lorsque vous appelez CreateAutoMLJobV2
pour créer une expérience de pilote automatique pour le réglage précis du LLM, vous devez fournir les valeurs suivantes :
-
Un paramètre
AutoMLJobName
pour spécifier le nom de votre tâche. Le nom doit être de typestring
et doit avoir une longueur minimale de 1 caractère et une longueur maximale de 32. -
Au moins l'un
AutoMLJobChannel
destraining
types figurant dans leAutoMLJobInputDataConfig
. Ce canal indique le nom du compartiment Amazon S3 dans lequel se trouve votre ensemble de données de réglage précis. Vous avez la possibilité de définir unvalidation
canal. Si aucun canal de validation n'est fourni et que aValidationFraction
est configuré dans leAutoMLDataSplitConfig
, cette fraction est utilisée pour diviser aléatoirement l'ensemble de données d'apprentissage en ensembles d'apprentissage et de validation. En outre, vous pouvez spécifier le type de contenu (fichiers CSV ou Parquet) pour le jeu de données. -
Un
AutoMLProblemTypeConfig
de typeTextGenerationJobConfig
permettant de configurer les paramètres de votre tâche de formation.Vous pouvez notamment spécifier le nom du modèle de base à affiner
BaseModelName
sur le terrain. Pour consulter la liste des modèles préentraînés disponibles pour un réglage précis dans Amazon SageMaker Autopilot, consultez. Modèles linguistiques étendus pris en charge pour un réglage précis -
Un élément
OutputDataConfig
pour spécifier le chemin de sortie Amazon S3 pour stocker les artefacts de votre tâche AutoML. -
Un élément
RoleArn
pour spécifier l'ARN du rôle utilisé pour accéder à vos données.
Voici un exemple du format de demande complet utilisé lors d'un appel d'API CreateAutoMLJobV2
pour affiner 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
Les sections suivantes fournissent des détails sur certains paramètres facultatifs que vous pouvez transmettre à votre tâche de réglage AutoML.
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 AutoMLJobChannel
objet (voir le paramètre obligatoire Auto MLJob InputDataConfig) possède unChannelType
, 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 surtraining
par défaut et doit avoir cette valeur.-
Si la valeur
ValidationFraction
deAutoMLDataSplitConfig
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 objetsAutoMLJobChannel
doit être défini surtraining
(valeur par défaut). LeChannelType
de l'autre source de données doit être défini survalidation
. 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 deValidationFraction
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.
Avec le pilote automatique, vous pouvez déployer automatiquement votre modèle affiné sur un terminal. Pour activer le déploiement automatique de votre modèle affiné, incluez un 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
surTrue
. -
Pour fournir votre propre nom pour le point de terminaison, définissez
AutoGenerateEndpointName to
.False
and provide a name of your choice in EndpointName
Pour les modèles nécessitant l'acceptation d'un contrat de licence utilisateur final avant d'être peaufinés, vous pouvez accepter le CLUF en définissant l'AcceptEula
attribut ModelAccessConfig
to True
in TextGenerationJobConfig
lors de la configuration de votre. AutoMLProblemTypeConfig
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'TextGenerationHyperParameters
attribut de TextGenerationJobConfig
lors de la configuration de votreAutoMLProblemTypeConfig
.
Le pilote automatique permet de définir quatre hyperparamètres communs à tous les modèles.
-
epochCount
: Sa valeur doit être une chaîne contenant une valeur entière comprise entre1
et10
. -
batchSize
: Sa valeur doit être une chaîne contenant une valeur entière comprise entre1
et64
. -
learningRate
: Sa valeur doit être une chaîne contenant une valeur à virgule flottante comprise entre et.0
1
-
learningRateWarmupSteps
: Sa valeur doit être une chaîne contenant une valeur entière comprise entre0
et250
.
Pour plus de détails sur chaque hyperparamètre, consultezHyperparamètres pour optimiser le processus d'apprentissage de vos modèles de génération de texte.
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"}
}
}