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
Présentation de
L'entraînement itératif est le processus qui consiste à peaufiner un modèle à plusieurs reprises au cours de plusieurs cycles d'entraînement impliquant différentes méthodes d'entraînement (formation, évaluation, analyse des erreurs, ajustementdata/objectives/hyperparameters), chaque cycle commençant par le point de contrôle précédent. Cette approche vous permet de cibler systématiquement les modes de défaillance des modèles, d'intégrer des exemples sélectionnés pour remédier à des faiblesses spécifiques et de vous adapter à l'évolution des exigences au fil du temps.
Avantages par rapport à une formation en un seul passage :
-
Amélioration ciblée : Corriger les modèles de défaillance spécifiques découverts lors de l'évaluation
-
Raffinement adaptatif : répondre aux changements de distribution ou à l'évolution des exigences des produits
-
Atténuation des risques : validez les améliorations progressivement plutôt que de vous engager dans une seule formation de longue durée
-
Efficacité des données : concentrer les efforts de collecte de données sur les domaines dans lesquels le modèle est sous-performant
-
Curriculum training : plusieurs cycles de formation avec des données de meilleure qualité
Comment ça marche
Emplacement et accès aux points de contrôle
Une fois chaque tâche de formation terminée, un fichier manifeste est généré à l'emplacement de sortie spécifié par le output_path paramètre dans votre configuration d'entraînement.
Pour accéder à votre point de contrôle
-
Naviguez jusqu'à ce que vous avez spécifié
output_pathdans S3 -
Téléchargez et extrayez le
output.tar.gzfichier -
Ouvrez le
manifest.jsonfichier à l'intérieur -
Localisez le
checkpoint_s3_bucketparamètre, qui contient l'URI S3 de votre modèle entraîné
Exemple de structure manifest.json
{ "checkpoint_s3_bucket": "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>/stepID", ... }
Comprendre les compartiments d'entiercement
Les poids Amazon Nova étant exclusifs, les points de contrôle des modèles entraînés sont stockés dans des compartiments S3 séquestres au sein de comptes AWS gérés au lieu d'être copiés sur votre compte. Ces compartiments d'entiercement :
-
Conservez en toute sécurité les poids de votre modèle personnalisé
-
Peut être référencé par d'autres AWS services (inférence, évaluation et tâches de formation ultérieures)
-
Ne sont accessibles qu'à votre AWS compte via les autorisations IAM
-
Encourez des frais de stockage S3 standard sur votre compte (voir Considérations financières)
Vous pouvez utiliser le chemin du compartiment d'entiercement model_name_or_path lors de votre prochain cycle d'entraînement pour poursuivre l'entraînement itératif.
Utilisation de points de contrôle pour la formation itérative
Configurez votre prochaine tâche de formation pour utiliser le point de contrôle précédent comme modèle de base :
run: name: "my-iterative-training-job" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<previous-job-name>" data_s3_path: s3://<bucket>/<data-file>.jsonl replicas: 4
Quand utiliser la formation itérative
Cas d'utilisation idéaux
Utilisez l'entraînement itératif lorsque vous avez :
-
Boucles de rétroaction — Capacité à collecter des cas de défaillance réels et à les traiter systématiquement
-
Environnements dynamiques : documentation évolutive ou rubriques APIs de support nécessitant des mises à jour périodiques du modèle
-
Évaluation robuste — Des repères et des cadres d'évaluation solides (voir les exemples ci-dessous) pour mesurer les améliorations en toute confiance
-
Fonctionnalité des opérations de machine learning — Ressources pour gérer plusieurs cycles de formation et le contrôle des versions
Exemples de cadres d'évaluation robustes
-
Suites de référence automatisées avec pass/fail seuils
-
Protocoles d'évaluation humaine avec mesures de fiabilité inter-évaluateurs
-
Scénarios de test en équipe rouge couvrant les cas critiques et les contributions contradictoires
-
Infrastructure de tests A/B pour mesurer l'impact sur la production
Schémas courants
Pipeline SFT → RFT : Un modèle itératif fréquemment utilisé implique :
-
SFT first — Apprenez au modèle à résoudre des problèmes grâce à des exemples de démonstration
-
Deuxième RFT — Optimisez les performances dans l'ensemble des problèmes à l'aide de signaux de récompense
Cette séquence est essentielle lorsque les modèles fonctionnent mal au départ : la RFT sur des modèles de précision proche de zéro n'améliorera pas les performances sans établir au préalable des capacités de résolution de problèmes de base via SFT.
Quand ne pas utiliser la formation itérative
Évitez les formations itératives pour :
-
Tâches stables et bien définies — Des données fixes répondant à des exigences constantes atteignent déjà des performances proches du plafond
-
Problèmes de classification simples — Tâches restreintes pour lesquelles une formation en un seul passage suffit
-
Contraintes en matière de ressources — Absence de capacités dédiées aux opérations de machine learning pour gérer plusieurs cycles de formation
-
Gains marginaux — Lorsque les frais généraux ne justifient pas une amélioration minimale des performances
Exemple de flux de travail : SFT → RFT
Cet exemple illustre un modèle d'entraînement itératif courant pour les modèles de raisonnement.
Étape 1 : Formation initiale au SFT
Configurez et lancez votre tâche de formation SFT avec votre ensemble de données :
run: name: "initial-sft-training" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "nova-lite-2/prod" data_s3_path: s3://<bucket>/sft-training-data.jsonl validation_data_s3_path: s3://<bucket>/sft-validation-data.jsonl
Justification : SFT propose des démonstrations supplémentaires qui façonnent les sorties du modèle dans le format et la voix souhaités, établissant ainsi les capacités de base.
Une fois la formation terminée
-
Notez ce qui
output_pathest configuré dans votre tâche de formation -
Téléchargez
output.tar.gzà partir de cet emplacement -
Extraire et localiser
manifest.json -
Copiez la
checkpoint_s3_bucketvaleur
Étape 2 : formation RFT sur le point de contrôle SFT
Créez une nouvelle tâche de formation RFT à l'aide du point de contrôle SFT :
run: name: "rft-on-sft-checkpoint" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<initial-sft-training>" data_s3_path: s3://<bucket>/rft-training-data.jsonl reward_lambda_arn: <your-reward-function-arn>
Justification : La formation RFT s'appuie sur les bases du SFT, permettant au modèle de développer des modèles de raisonnement plus complexes optimisés par votre fonction de récompense.
Étape 3 : évaluer et itérer
Exécutez une évaluation sur le point de contrôle RFT pour évaluer les performances :
run: name: "evaluate-rft-checkpoint" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<rft-on-sft-checkpoint>" data_s3_path: s3://<bucket>/evaluation-data.jsonl
Si les métriques cibles ne sont pas satisfaites, poursuivez l'itération avec des données ajustées ou des hyperparamètres.
Important
⚠️ Important : la technique d'entraînement (LoRa ou Full Rank) doit rester cohérente à toutes les itérations :
-
Si vous utilisez SFT avec LoRa, vous devez utiliser RFT avec LoRa
-
Si vous utilisez SFT avec rang complet, vous devez utiliser RFT avec rang complet
-
Vous ne pouvez pas basculer entre LoRa et Full Rank en milieu de pipeline
Suivi des progrès au fil des itérations
Vous pouvez suivre les métriques via MLFlow.
Création d'une MLflow application
Utilisation de l'interface utilisateur de Studio : si vous créez une tâche de formation via l'interface utilisateur de Studio, une MLflow application par défaut est créée automatiquement et sélectionnée par défaut dans les options avancées.
Utilisation de la CLI : si vous utilisez la CLI, vous devez créer une MLflow application et la transmettre comme entrée à la demande d'API de la tâche de formation.
mlflow_app_name="<enter your MLflow app name>" role_arn="<enter your role ARN>" bucket_name="<enter your bucket name>" region="<enter your region>" mlflow_app_arn=$(aws sagemaker create-mlflow-app \ --name $mlflow_app_name \ --artifact-store-uri "s3://$bucket_name" \ --role-arn $role_arn \ --region $region)
Accédez à l' MLflow application
À l'aide de la CLI : créez une URL présignée pour accéder à l'interface utilisateur de l' MLflow application :
aws sagemaker create-presigned-mlflow-app-url \ --arn $mlflow_app_arn \ --region $region \ --output text
Utilisation de l'interface utilisateur de Studio : l'interface utilisateur de Studio affiche les indicateurs clés enregistrés MLflow et fournit un lien vers l'interface utilisateur de MLflow l'application.
Indicateurs clés à suivre
Surveillez ces indicateurs au fil des itérations pour évaluer les améliorations et suivre l'avancement des travaux :
Pour SFT
-
Courbes de pertes d'entraînement
-
Nombre d'échantillons consommés et temps de traitement des échantillons
-
Précision des performances sur des ensembles de test conservés
-
Conformité au format (par exemple, débit de sortie JSON valide)
-
Perplexité quant aux données d'évaluation spécifiques à un domaine
Pour RFT
-
Scores de récompense moyens au cours de l'entraînement
-
Répartition des récompenses (pourcentage de réponses offrant des récompenses élevées)
-
Tendances relatives aux récompenses de validation (attention au surajustement)
-
Taux de réussite spécifiques aux tâches (par exemple, taux de réussite de l'exécution du code, précision des problèmes mathématiques)
Général
-
Comparez les deltas de performance entre les itérations
-
Scores d'évaluation humaine sur des échantillons représentatifs
-
Métriques de production (en cas de déploiement itératif)
Déterminer quand s'arrêter
Arrêtez d'itérer lorsque :
-
Plateaux de performance — L'entraînement supplémentaire n'améliore plus de manière significative les indicateurs cibles
-
Le changement de technique est utile — Si une technique plafonne, essayez de la changer (par exemple, SFT → RFT → SFT) pour dépasser les plafonds de performance
-
Indicateurs cibles atteints — Vos critères de réussite sont atteints
-
Régression détectée — Les nouvelles itérations dégradent les performances (voir les procédures de restauration ci-dessous)
Pour les procédures d'évaluation détaillées, reportez-vous à la section Évaluation.
Bonnes pratiques
Commencez petit et agrandissez progressivement
Commencez avec un minimum d'ensembles de données et des périodes d'entraînement uniques pour valider votre approche avant de la mettre à l'échelle. Cela renforce la confiance et aide à identifier les problèmes à un stade précoce.
Établissez des indicateurs de réussite clairs
Définissez des indicateurs quantitatifs et qualitatifs avant de commencer :
Exemples de mesures de réussite par cas d'utilisation
-
Réponse aux questions — Précision exacte des correspondances, score F1, évaluations des préférences humaines
-
Génération de code — Taux de réussite des tests unitaires, réussite de la compilation, temps d'exécution
-
Tâches de raisonnement — Exactitude des pas, exactitude de la réponse finale, scores de récompense
-
Génération de contenu : scores de cohérence, précision factuelle, respect du style
Mettre en œuvre une évaluation automatisée
Configurez des pipelines d'évaluation automatisés pour suivre les performances après chaque cycle, ce qui permet une itération rapide et une comparaison objective.
Maintenez un contrôle rigoureux des versions
Document pour chaque itération :
-
Versions et modifications des ensembles de données
-
Modéliser les emplacements des points de contrôle
-
Modifications des hyperparamètres
-
Indicateurs de performance et deltas
-
Observations qualitatives
Cela renforce les connaissances institutionnelles et permet le débogage.
Concentrez-vous sur la qualité des données plutôt que sur la quantité
Analysez les cas d'échec des cycles précédents et ajoutez des exemples ciblés et de haute qualité au lieu de simplement augmenter la taille du jeu de données.
Planifier le budget d'itération
Prévoyez 3 à 5 itérations comme intervalle typique :
-
1 à 2 itérations : souvent suffisantes pour de simples améliorations ou un polissage final
-
3 à 5 itérations : convient aux tâches complexes nécessitant plusieurs cycles de raffinement
-
Plus de 5 itérations — Cela peut indiquer une baisse des rendements ou le besoin d'approches différentes
Ajustez en fonction du budget informatique et des taux d'amélioration des performances.
Mettre en œuvre des fonctionnalités de rétrogradation
Si une itération introduit des régressions :
-
Identifier la régression — Comparez les mesures d'évaluation entre les points de contrôle
-
Retourner au point de contrôle précédent — Utilisez le chemin S3 du point de contrôle précédent comme votre
model_name_or_path -
Ajuster l'approche d'entraînement : modifiez les données, les hyperparamètres ou la technique avant de réessayer
-
Documenter la défaillance — Enregistrer la cause de la régression pour éviter de la répéter
Exemple de rétrogradation
run: name: "rollback-to-iteration-2" model_type: amazon.nova-2-lite-v1:0:256k # Use iteration 2 checkpoint instead of failed iteration 3 model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<iteration-2-job-name>"
Considérations de coût
Stockage aux points de contrôle
-
Emplacement — Les points de contrôle stockés dans des compartiments d'entiercement entraînent des frais de stockage S3 standard facturés sur votre compte AWS
-
Conservation — Les points de contrôle sont conservés indéfiniment sauf s'ils sont explicitement supprimés
-
Gestion — Mettez en œuvre des politiques de cycle de vie pour archiver ou supprimer les anciens points de contrôle dont vous n'avez plus besoin
Conseils d'optimisation des coûts
-
Supprimer les points de contrôle intermédiaires après avoir validé les nouvelles itérations
-
Archivez les points de contrôle dans S3 Glacier pour une conservation à long terme à moindre coût
-
Définissez des politiques de rétention en fonction de vos besoins en matière de conformité et d'expérimentation
Limitations
Cohérence des familles de modèles
Lors d'un entraînement itératif, vous devez utiliser le même type de modèle pour toutes les itérations.
Formation initiale
run: model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "nova-lite-2/prod"
Les itérations suivantes doivent utiliser le même model_type
run: model_type: amazon.nova-2-lite-v1:0:256k # Must match original model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"
Cohérence des techniques d'entraînement
La technique d'entraînement doit rester cohérente d'une itération à l'autre :
-
Les modèles entraînés par LoRa ne peuvent être entraînés que de manière itérative avec LoRa
-
Full-Rank-trained les modèles ne peuvent être entraînés de manière itérative qu'avec Full-Rank
Comment fonctionnent les adaptateurs LoRa dans l'entraînement itératif
-
Chaque itération d'entraînement LoRa produit de nouveaux poids adaptateurs
-
Les nouveaux adaptateurs remplacent (et non empilés avec) les adaptateurs précédents
-
Le modèle de base reste figé ; seuls les adaptateurs sont mis à jour
Matrice de compatibilité technique
| Formation initiale | Peut itérer avec |
|---|---|
| SFT (classement complet) | SFT (rang complet), RFT (rang complet) |
| ST (LoRa) | ST (LoRa), RFT (LoRa) |
| RFT (classement complet) | RFT (classement complet) |
| RF (LoRa) | RF (LoRa) |
Vérifier la compatibilité avant de commencer une tâche
-
Vérifiez votre recette d'entraînement précédente pour identifier le type de modèle et la technique d'entraînement (LoRa ou Full-Rank)
-
Assurez-vous que votre nouvelle recette correspond à la fois au type de modèle et à la technique
-
Consultez le fichier manifest.json pour confirmer que le chemin du point de contrôle est correct
Résolution des problèmes
Erreur : « Des techniques d'entraînement de modèles incompatibles ont été détectées »
Cause : La technique d'entraînement (LoRa contre Full-Rank) ne correspond pas à la technique du point de contrôle.
Résolution : Assurez-vous que votre recette utilise la même technique d'entraînement que le modèle original :
-
Si le point de contrôle a été entraîné avec LoRa, utilisez LoRa dans votre nouvelle recette
-
Si le point de contrôle a été entraîné avec Full-Rank, utilisez Full-Rank dans votre nouvelle recette
Erreur : « Le modèle de base de la tâche extraite de model_name_or_path ne correspond pas à model_type »
Cause : Le type de modèle spécifié dans model_type ne correspond pas au modèle réel du point de contrôle.
Résolution : Vérifiez que :
-
Le modèle
model_typefigurant dans votre recette correspond au type de modèle d'origine -
Le chemin d'entrée du point de contrôle S3
model_name_or_pathest correct -
Vous utilisez le chemin du fichier manifest.json correct
Exemple de configuration correcte
run: model_type: amazon.nova-2-lite-v1:0:256k # Must match checkpoint's model model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"
Erreur : « Configuration du modèle introuvable »
Cause : Le chemin d'entrée S3 n'model_name_or_pathest pas valide ou est inaccessible.
Résolution :
-
Vérifiez que le chemin S3 est correctement copié depuis le fichier manifest.json
-
Assurez-vous que votre rôle IAM est autorisé à accéder au compartiment d'entiercement
-
Confirmez que le travail de formation précédent a été terminé avec succès
-
Vérifiez les fautes de frappe dans le chemin
Régression des performances après itération
Symptômes : les indicateurs d'évaluation diminuent après une nouvelle itération d'entraînement.
Résolution :
-
Annulation — Utilisez le point de contrôle précédent comme modèle de base
-
Analyser — Vérifiez les journaux d'entraînement et la qualité des données en cas d'échec de l'itération
-
Ajuster — Modifiez les hyperparamètres (réduisez le taux d'apprentissage), améliorez la qualité des données ou réduisez les périodes d'entraînement
-
Réessayer — Lance une nouvelle itération avec des ajustements