Entraînement itératif - Amazon SageMaker AI

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.

Entraînement itératif

La formation itérative permet de développer des pipelines de formation sophistiqués pour les modèles Amazon Nova en enchaînant plusieurs techniques d'entraînement en séquence. Cette approche vous permet de superposer différentes méthodes de personnalisation pour obtenir des modèles parfaitement adaptés.

Le processus commence par l'entraînement d'un modèle Amazon Nova à l'aide de l'une des techniques standard (telles que SFT, PEFT ou DPO). Une fois terminé, vous trouverez un manifest.json fichier dans l'emplacement de sortie S3 que vous avez spécifié. Ce fichier contient une checkpoint_s3_bucket valeur qui indique où le modèle entraîné est stocké.

Vous pouvez ensuite utiliser cet emplacement de point de contrôle comme model_name_or_path paramètre lors des sessions d'entraînement suivantes, en vous appuyant efficacement sur votre travail de personnalisation précédent. Cela crée une chaîne d'améliorations progressives, chaque étape d'entraînement affinant davantage le modèle en fonction de vos besoins spécifiques.

La formation itérative vous permet de développer des pipelines de formation plus sophistiqués pour ajuster les modèles Amazon Nova. En enchaînant les modules de formation, vous pouvez superposer les techniques de formation pour personnaliser vos modèles exactement en fonction de vos besoins.

Vous commencez par entraîner Amazon Nova à l'aide de l'une des techniques décrites dansPersonnalisation d'Amazon Nova sur Amazon SageMaker HyperPod. Dans l'emplacement S3 de sortie défini pendant l'entraînement, localisez le manifest.json fichier. Ce fichier contient la valeur checkpoint_s3_bucket qui indique où le modèle de sortie est défini. Vous pouvez utiliser cet emplacement de sortie comme model_name_or_path valeur lors de futurs entraînements.

exemple

L'exemple suivant décrit un flux de travail qui définit les exécutions itératives de réglage fin supervisé (SFT) > SFT > optimisation directe des préférences (DPO) pour un modèle Amazon Nova Lite. Tout d'abord, vous devez définir la recette d'exécution pour l'entraînement SFT initial du modèle de base.

## Run config run: name: "my-fullrank-run-sft" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "nova-lite/prod" # Base model path, do not change replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data" # Your training data path output_s3_path: "s3://Path to output data location" # Output artifact path

Cette tâche de formation produira un manifest.json fichier dans le chemin défini ici output_s3_path qui ressemble au suivant :

{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}

Ce chemin de point de contrôle peut être utilisé lors de la prochaine étape d'entraînement itératif en tant que. model_name_or_path Cela permet à l'entraînement d'utiliser le point de contrôle précédent comme modèle de base pour la méthode d'entraînement suivante au lieu du modèle de base de base.

L'étape suivante de l'exemple définit un entraînement SFT exécuté sur un ensemble de données différent, qui peut être utilisé pour entraîner un modèle sur différents ensembles d'interactions.

## Run config run: name: "my-fullrank-run-sft-2" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "s3://customer-escrow-bucket-unique_id/my-fullrank-run-sft-unique id/outputs/checkpoints" # Model checkpoint after 1st SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2" # Customer data path output_s3_path: "s3://Path to output data location" # Output artifact path

Comme le premier set d'entraînement, cela produira un manifest.json fichier similaire à l'emplacement de sortie :

{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}

Cela peut ensuite être utilisé comme entrée finale pour le dernier entraînement itératif à l'aide de DPO :

## Run config run: name: "my-fullrank-run-dpo" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "s3://customer-escrow-bucket-unique_id/my-fullrank-run-sft-2-unique id/outputs/checkpoints" # Model checkpoint after 2nd SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2" # Your training data path output_s3_path: "s3://Path to output data location" # Output artifact path

Le résultat obtenu à n'importe quelle étape de ce pipeline d'entraînement itératif peut également être utilisé à des fins d'inférence ou d'évaluation afin de vérifier la progression du modèle en cours de route et de s'assurer qu'il converge vers le résultat souhaité.

Limites

L'entraînement itératif peut être exécuté avec n'importe laquelle des méthodes d'entraînement disponibles dans n'importe quel ordre, pendant autant d'itérations que nécessaire pour obtenir le résultat souhaité. Lors d'un entraînement itératif, le modèle et la technique (c'est-à-dire un classement complet par rapport à LoRa PEFT) doivent rester cohérents. Par exemple, si vous essayez de vous entraîner de manière itérative avec un réglage précis du classement complet après un entraînement LoRa PEFT, le travail de formation générera une erreur. De même, si vous souhaitez définir une tâche de formation Amazon Nova Lite au-dessus d'un point de contrôle Amazon Nova Micro, vous recevrez un message d'erreur.