Ressources/Entraînement du modèle/Ce qui se passe lors de l'entraînement

Paramètre

Hyperparamètres

Les hyperparamètres sont les paramètres d'entraînement que vous choisissez, tels que les époques, le taux d'apprentissage, la taille du lot et le rang de l'adaptateur, par opposition aux poids que le modèle apprend. Auto les sélectionne à partir de vos données et effectue une bonne première exécution ; cette page explique chacun d'eux afin que vous puissiez les ajuster par la suite.

Chapitre 66 min de lecture4 références

Paramètres et hyperparamètres

Les paramètres d'un modèle, ses poids, sont appris : l'entraînement les définit. Les hyperparamètres sont définis par vos soins avant le début de l'entraînement et contrôlent la façon dont cet apprentissage se déroule : combien de fois les données sont vues, la taille de chaque mise à jour, le nombre d'exemples inclus dans chaque mise à jour, la taille d'un adaptateur. L'entraînement ne peut pas trouver de bons hyperparamètres par lui-même. Vous les trouvez en exécutant, en mesurant et en ajustant, c'est pourquoi une valeur par défaut sensée et une façon claire de lire les résultats importent plus qu'une première estimation parfaite.

Les paramètres

ÉpoquesTypique 1–3 (réglage des préférences 1–2)#

Le nombre de passages complets que l'entraînement effectue sur vos données. Trop peu, et le modèle change à peine ; trop, et il commence à reproduire vos exemples mot pour mot (surapprentissage), ce qui se traduit par une augmentation de la perte de validation tandis que la perte d'entraînement continue de diminuer. Les petits jeux de données peuvent supporter quelques époques supplémentaires ; les grands n'en nécessitent souvent qu'une seule. Le réglage des préférences nécessite généralement moins d'époques que l'entraînement supervisé. Chaque époque augmente également le coût.

Taux d'apprentissage / multiplicateurTypique Valeur par défaut du fournisseur (× 0,5–2)#

La taille de chaque mise à jour des poids. C'est le paramètre le plus sensible : s'il est trop élevé, les mises à jour dépassent la cible, la perte devient irrégulière et le modèle peut perdre des compétences qu'il avait acquises ; s'il est trop bas, l'exécution se termine avant que le modèle n'ait appris grand-chose. Les modèles hébergés exposent souvent un multiplicateur au lieu d'un taux brut : le taux par défaut du fournisseur pour ce modèle et vos données est multiplié par votre valeur, donc 1 conserve la valeur par défaut, 2 la double et 0,5 la réduit de moitié. Les modèles ouverts prennent un taux brut, comme environ 1e-4 pour un adaptateur LoRA ou 1e-5 pour un ajustement fin complet.

Taille de lotTypique Auto#

Le nombre d'exemples dont la moyenne est calculée pour chaque mise à jour des poids. Des lots plus grands donnent des mises à jour plus lisses et plus fiables, mais moins nombreuses par époque, et nécessitent plus de mémoire ; des lots plus petits sont mis à jour plus souvent mais de manière plus bruyante. Lorsque vous modifiez la taille de lot, reconsidérez également le taux d'apprentissage : un lot plus grand tolère, et nécessite, généralement un taux plus élevé. Sur un petit jeu de données, un très grand lot laisse trop peu d'étapes pour en tirer un apprentissage.

Rang LoRA / taille de l'adaptateurTypique 4–16#

Pour l'entraînement d'adaptateurs sur des modèles ouverts. Le rang des deux petites matrices que LoRA entraîne à côté de chaque couche, ce qui définit la capacité d'apprentissage de l'adaptateur. Un rang de 4 à 16 est suffisant pour le ton, le style et le format ; les jeux de données plus vastes et riches en connaissances peuvent en utiliser davantage. Les rangs plus élevés coûtent plus de mémoire et de temps, et cessent d'être utiles une fois que l'adaptateur a une capacité suffisante. La page LoRA couvre l'alpha, les modules cibles et le dropout.

Étapes de préchauffageTypique 0–10 % des étapes#

Pour les premières étapes de l'entraînement, le taux d'apprentissage augmente progressivement de presque zéro à sa valeur maximale au lieu de commencer à pleine puissance. Au début, les statistiques d'exécution de l'optimiseur sont basées sur très peu de gradients, de sorte que des étapes à taille réelle risquent de provoquer un mauvais premier mouvement ; un court préchauffage évite un démarrage instable. Il est indiqué sous forme de nombre d'étapes ou de proportion de l'ensemble des étapes. Après le préchauffage, le taux décroît généralement vers zéro pour le reste de l'exécution.

PHASE DE CHAUFFEtaux d'apprentissage maximaldécroissance cosinusoïdaledécroissance linéairetaux d'apprentissageétapes d'entraînement →010%100%
Un programme typique de taux d'apprentissage. La phase de chauffe fait passer le taux de presque zéro à son maximum au cours des premiers pourcentages d'étapes, de sorte que les premières mises à jour, plus bruitées, soient petites. Le taux diminue ensuite vers zéro, selon une courbe cosinusoïdale ou une ligne droite, afin que les dernières mises à jour effectuent des ajustements fins au lieu de grands sauts.

Comment les paramètres interagissent

Si vous modifiezEnvisagez égalementPourquoi
Plus d'époquesUn taux d'apprentissage plus faible ; surveiller la perte de validationPlus de passages combinés à de grandes étapes aggravent le surajustement
Un lot plus grandUn taux d'apprentissage plus élevéIl y a moins d'étapes par époque, mais elles sont plus fiables
Un jeu de données plus petitUn lot plus petit ; éventuellement quelques époques supplémentairesSinon, il y a trop peu d'étapes pour en tirer un apprentissage
LoRA au lieu d'un ajustement fin completUn taux d'apprentissage plus élevé, environ 10×L'adaptateur commence à zéro et sa sortie est mise à l'échelle par alpha ÷ r
Ajustement des préférences après l'apprentissage superviséMoins d'époques et un taux d'apprentissage plus faibleIl peaufine un modèle fonctionnel ; de grandes étapes le font dériver

Un ordre de réglage pratique

  1. Exécutez une fois sur Auto. C'est une base de référence raisonnable qui montre ce que le fournisseur sélectionne pour vos données.
  2. Lisez les courbes de perte. Une perte de validation qui augmente tôt : moins d'époques ou un taux d'apprentissage plus faible. Les deux pertes continuent de baisser à la fin : plus d'époques. Aucune ne bouge : vérifiez d'abord les données, puis essayez un taux d'apprentissage plus élevé.
  3. Évaluez par rapport au modèle de base, et pas seulement la perte. Une perte plus faible ne garantit pas de meilleures réponses.
  4. Modifiez un paramètre à la fois, en gardant les autres fixes, afin de savoir ce qui a fait la différence. Le taux d'apprentissage et les époques en premier ; la taille du lot et le préchauffage ont rarement besoin d'être modifiés.
  5. Conservez les exécutions perdantes. Archivées avec leurs évaluations, elles permettent de répondre à la question « avons-nous essayé un taux d'apprentissage plus élevé ? » des mois plus tard.
Un seul ajustement, déduit des courbes
  1. Exécution 1, en Auto : 3 époques, multiplicateur 1. La perte d'entraînement diminue tout du long ; la perte de validation est au plus bas au début de l'époque 2, puis augmente.
  2. Diagnostic : surapprentissage à partir du milieu de l'exécution environ. Le taux d'apprentissage semble correct : la courbe est lisse, et non en dents de scie.
  3. Exécution 2 : 2 époques, tout le reste est inchangé. La perte de validation se termine désormais près de son point le plus bas, et l'exécution coûte un tiers de moins.
  4. Avant de la conserver : évaluez l'exécution 2 par rapport au modèle de base et à l'exécution 1.

Erreurs courantes

  • Modifier plusieurs paramètres à la fois, de sorte qu'un résultat meilleur ou pire ne puisse être expliqué.
  • Régler en fonction de la perte d'entraînement. Elle s'améliore presque toujours avec plus d'époques ou un taux plus élevé ; la perte de validation et l'évaluation sont les véritables juges.
  • Traiter un multiplicateur comme un taux d'apprentissage brut. Un multiplicateur de 2 double la valeur par défaut du fournisseur ; ce n'est pas un taux de 2.
  • Copier les paramètres d'une exécution avec une taille de données très différente. Les étapes, le préchauffage et le bon nombre d'époques s'adaptent tous aux données.
  • Rechercher de petites différences sur un minuscule jeu de validation. Avec quelques dizaines de conversations réservées, un petit écart n'est que du bruit.

Références et lectures complémentaires

Les sources externes s'ouvrent dans un nouvel onglet.

  1. 01TrainerHugging Face Transformers docs · huggingface.coLa liste complète des arguments d'entraînement et de leurs valeurs par défaut, du taux d'apprentissage et des époques au préchauffage et à la décroissance des poids.
  2. 02Linear regression: HyperparametersGoogle Machine Learning Crash Course · developers.google.comLe taux d'apprentissage, la taille de lot et les époques expliqués avec des exemples interactifs.
  3. 03Accurate, Large Minibatch SGD: Training ImageNet in 1 HourGoyal et al., 2017 · arXiv · arxiv.orgLa règle de mise à l'échelle linéaire reliant la taille de lot et le taux d'apprentissage, ainsi que le préchauffage graduel.
  4. 04Hyperparameter (machine learning)Wikipedia · en.wikipedia.org

Transformez des semaines de travail d'expert en quelques minutes

Découvrez comment Scalata s'adapte à votre équipe, à vos données et à vos contrôles.

Contacter le service commercial