Programme d'échauffement

Traduit de l'anglais

Un planning d’échauffement est une phase d’entraînement initiale où le taux d’apprentissage augmente progressivement d’une valeur faible à une valeur cible, stabilisant l’optimisation précoce et prévenant la divergence dans les réseaux de neurones profonds.

Un programme d'échauffement est une technique de planification du taux d'apprentissage utilisée en apprentissage profond pour augmenter progressivement le taux d'apprentissage depuis une valeur initiale faible jusqu'à une valeur cible sur un nombre limité d'étapes d'entraînement. Il est appliqué au début de l'entraînement du modèle, avant la phase principale de décroissance du programme global de taux d'apprentissage. L'objectif principal d'un échauffement est de stabiliser le processus d'optimisation durant les premières époques, lorsque les paramètres du modèle sont loin d'être optimaux et que les gradients peuvent être importants ou bruités. En commençant avec un taux d'apprentissage faible, la phase d'échauffement évite des mises à jour de paramètres trop importantes qui pourraient déstabiliser l'entraînement ou provoquer une divergence de la perte, et elle permet au modèle d'atteindre une région du paysage de la perte où des pas plus grands sont sûrs. Les programmes d'échauffement sont particulièrement importants pour l'entraînement de grands modèles de langage, de transformeurs et d'autres architectures profondes qui reposent sur la normalisation par lots, la normalisation par couches ou des optimiseurs adaptatifs comme Adam.

La phase d'échauffement est généralement combinée avec des programmes de décroissance ultérieurs, tels que la décroissance linéaire, la décroissance en cosinus ou la décroissance exponentielle, qui réduisent le taux d'apprentissage à une valeur proche de zéro sur le reste de l'entraînement. Un programme typique pourrait inclure un échauffement linéaire sur les premières centaines ou milliers d'étapes, suivi d'une décroissance en cosinus jusqu'à la fin de l'entraînement. Le choix de la durée de l'échauffement et du taux d'apprentissage maximal dépend de la taille du modèle, de l'ensemble de données, de la taille des lots et de l'optimiseur utilisé, et il est souvent déterminé de manière empirique via le réglage des hyperparamètres. L'échauffement est désormais un composant standard des pipelines d'entraînement de nombreux modèles importants, notamment les réseaux de neurones récurrents, les réseaux de neurones convolutifs et les modèles génératifs comme les grands modèles de langage.

Histoire et origines

Le concept d'échauffement du taux d'apprentissage est apparu dans le contexte de la recherche en apprentissage profond au milieu des années 2010. L'une des premières utilisations documentées est attribuée aux chercheurs de Google (anciennement Google Research) qui ont entraîné des modèles de classification d'images et ont constaté qu'un taux d'apprentissage élevé dès le départ pouvait provoquer une divergence sévère. Dans un article de 2013 sur l'entraînement de réseaux profonds, Bernard Widrow et d'autres ont étudié les taux d'apprentissage adaptatifs, mais le terme spécifique « échauffement » a gagné en popularité vers 2018 avec la publication des astuces d'entraînement liées à Adam dans l'article original sur BERT. L'article sur BERT, publié par Google en 2018, utilisait explicitement un échauffement de 10 000 étapes pour le pré-entraînement. Cette pratique a été largement adoptée par la communauté du traitement du langage naturel.

Les optimiseurs adaptatifs comme Adam et ses variantes, y compris SGD avec momentum, sont particulièrement sujets à l'instabilité lorsque des taux d'apprentissage élevés sont appliqués tôt. L'échauffement aide à atténuer un phénomène où les premières étapes produisent des gradients énormes, ce qui gonfle les estimations du taux d'apprentissage adaptatif et conduit à une mauvaise convergence. Des techniques comme le clipping des gradients, la normalisation par lots et le clipping des gradients abordent également ce type d'instabilité, mais l'échauffement est souvent plus simple et plus général.

Motivation et théorie

La motivation principale d'un programme d'échauffement réside dans le compromis entre exploration et stabilité. À l'initialisation, les poids du modèle sont généralement tirés d'une distribution aléatoire avec une moyenne nulle, ce qui peut produire des activations et des gradients importants. Appliquer un taux d'apprentissage élevé à ce stade peut faire sauter les poids vers une région où la perte est énorme ou où le modèle ne capture que du bruit. Un taux d'apprentissage faible permet au modèle de corriger lentement les erreurs initiales, en se déplaçant progressivement vers des régions plus stables.

De plus, les optimiseurs adaptatifs comme Adam maintiennent des estimations du second moment des gradients. Si un pic de gradient se produit dans les premières étapes, la moyenne mobile de l'optimiseur devient gonflée, ce qui réduit le taux d'apprentissage effectif pour les étapes suivantes et ralentit la convergence. L'échauffement donne à l'optimiseur le temps d'obtenir des statistiques fiables avant d'apprendre à pleine capacité.

Des travaux récents ont montré un lien entre l'échauffement et la transition d'un comportement de couverture de modes à un comportement de recherche de modes dans l'apprentissage bayésien, mais l'explication la plus pratique se concentre sur le bruit des gradients. Au début de l'entraînement, les estimations stochastiques sont bruitées en raison de la petite taille effective des échantillons et des sorties de réseau mal calibrées. Un échauffement linéaire est souvent suffisant pour lisser le processus.

Types de programmes d'échauffement

Il existe plusieurs implémentations courantes de l'échauffement :

  • Échauffement linéaire : Le taux d'apprentissage augmente linéairement depuis presque zéro jusqu'à la valeur cible sur un nombre spécifié d'étapes (par exemple, 3 000 étapes). Utilisé dans l'entraînement de style BERT et de nombreux transformeurs.
  • Échauffement exponentiel : Le taux d'apprentissage augmente de manière exponentielle depuis une valeur faible. Rarement utilisé, souvent remplacé par un échauffement linéaire ou polynomial.
  • Échauffement polynomial : Le taux d'apprentissage évolue selon une fonction polynomiale de l'indice de l'étape, souvent avec un petit degré comme 2 ou 3.
  • Échauffement constant : Le taux d'apprentissage est maintenu à une valeur faible constante pendant une période fixe, puis augmente jusqu'à la valeur cible.
  • Politique à un cycle et super-convergence : Utilise parfois un échauffement court combiné à un programme cyclique.

En pratique, l'échauffement linéaire est le plus courant dans les bibliothèques de transformeurs telles que les modèles GPT, et il est souvent désigné sous le terme « étapes d'échauffement » dans les fichiers de configuration. Par exemple, un entraînement typique pourrait utiliser 2 % du nombre total d'étapes pour passer d'un taux de 0,1 au taux d'apprentissage maximal.

Échauffement dans les grands modèles de langage

Les grands modèles de langage tels que GPT-3, Llama 2 et BLOOM utilisent une phase d'échauffement pour la stabilité. Par exemple, l'article sur GPT-3 rapporte l'utilisation d'un échauffement de 250 000 étapes (soit environ 3 % du total des étapes) avec une décroissance en cosinus jusqu'à 10 % du taux initial. D'autres modèles comme LLaMA utilisent un programme en cosinus avec un échauffement de 1 000 étapes. Le fine-tuning ou le pré-entraînement de tels modèles, qui comportent souvent des milliards de paramètres, nécessite un réglage minutieux du taux d'apprentissage et de la durée de l'échauffement, et cela est généralement consigné dans les articles de recherche.

En pratique, l'échauffement contribue à la stabilité des boucles d'entraînement et réduit le risque de divergence de la perte, ce qui pourrait gaspiller des ressources de calcul précieuses. Dans certains frameworks d'entraînement, le programme d'échauffement est extrait d'une configuration de planification du taux d'apprentissage qui permet de définir séparément les étapes d'échauffement, le facteur initial et la décroissance.

Échauffement en vision par ordinateur

L'échauffement est également utilisé dans les tâches de vision par ordinateur. L'entraînement classique de ResNet dans l'article de 2015 utilisait un optimiseur avec momentum et une décroissance par paliers, mais des travaux ultérieurs comme ResNet sur ImageNet ont introduit un échauffement linéaire depuis un taux d'apprentissage initial de 0,1, souvent appliqué sur 5 époques. Dans l'entraînement des transformeurs de vision, l'échauffement est standard, par exemple avec ViT qui utilise un échauffement de 500 étapes (environ 0,5 époque) sur ImageNet. Les articles qui utilisent la normalisation par lots dans les réseaux de neurones s'appuient parfois sur l'échauffement pour compenser l'instabilité des statistiques de normalisation par lots lors des premières étapes.

Considérations pratiques et hyperparamètres

La durée de l'échauffement est un hyperparamètre, choisi en fonction de la taille du modèle, du nombre total d'étapes d'entraînement, de la taille des lots et de l'optimiseur. De nombreuses implémentations utilisent par défaut un échauffement linéaire sur environ 10 à 20 % du nombre total d'étapes. Pour les entraînements longs, comme l'entraînement d'un transformeur sur des milliards de tokens, l'échauffement peut représenter des milliers d'étapes. Un échauffement trop long gaspille du calcul, tandis qu'un échauffement trop court peut conduire à une divergence.

Le taux d'apprentissage cible après l'échauffement est généralement le taux d'apprentissage maximal. Cette valeur est souvent choisie entre 1e-4 et 1e-3 pour les transformeurs typiques avec l'optimiseur Adam. Certains articles utilisent un taux d'apprentissage maximal trouvé via un chercheur de taux d'apprentissage ou des balayages d'hyperparamètres. Une autre pratique consiste à maintenir le taux d'apprentissage constant après l'échauffement, puis à appliquer une décroissance exponentielle.

L'échauffement est souvent combiné avec la planification du taux d'apprentissage, car il s'agit d'une modification du programme de taux d'apprentissage. Des bibliothèques comme PyTorch (avec son planificateur de taux d'apprentissage) et TensorFlow offrent des fonctions intégrées pour l'échauffement et la décroissance ; un exemple de code est fréquemment utilisé dans les scripts d'entraînement.

Résultats empiriques et études

De nombreuses études de recherche ont validé l'intérêt de l'échauffement. Dans une étude de 2017 sur des époques d'entraînement plus longues, un échauffement de moins de 100 étapes a entraîné une amélioration relative de 5 % de la précision sur des tâches de classification d'images. Pour les modèles à grande échelle, une référence courante pour l'entraînement de transformeurs de type GPT depuis zéro est un échauffement de 1 000 étapes avec un rapport de 1/3 pour la variation de l'échauffement. Une prépublication connue sur l'analyse « Grokking » en apprentissage profond a montré que l'échauffement est crucial pour que l'architecture échappe aux problèmes liés aux premières étapes.

Des analyses formelles du paysage de la perte pendant l'échauffement existent également, montrant que la courbure de la perte change de manière significative et que l'échauffement peut aider à éviter les régions de minima abrupts. Certains considèrent l'échauffement comme un mécanisme pour équilibrer les poids dans le bassin d'attraction.

Alternatives et techniques connexes

L'échauffement n'est pas la seule méthode pour stabiliser l'entraînement précoce. Des approches alternatives incluent des taux d'apprentissage cibles plus lents dès le début, l'utilisation de programmes de taux d'apprentissage comme la décroissance par paliers ou des montants basés sur l'utilisation, ou l'utilisation de techniques de redémarrage à chaud comme le recuit en cosinus avec redémarrages (qui inclut lui-même une forme d'échauffement). Le clipping des gradients (clipping des gradients) est souvent utilisé en conjonction avec l'échauffement pour atténuer les pics. De plus, pour les optimiseurs, l'optimiseur Adam avec des paramètres bêta fixés à 0,9 et 0,999 peut nécessiter des ajustements pendant l'échauffement. Certains travaux sur les optimiseurs sans programme (par exemple, l'article de 2024 de Defazio et Mishchenko) ont introduit une méthode sans programme ni échauffement, mais cela reste moins courant.

Orientations futures et recherche

Les recherches de 2023 à 2025 ont exploré plusieurs phases d'échauffement ou un échauffement adaptatif basé sur les statistiques des gradients, mais la pratique standard reste l'échauffement linéaire. Dans les récents essais de mise à l'échelle des transformeurs, il existe un intérêt persistant pour la durée de l'échauffement en tant qu'hyperparamètre dans l'entraînement basé sur le cloud. Un article de 2024 du groupe de recherche OpenAI a indiqué que l'échauffement en tant que fraction des étapes a été adopté dans les grands modèles. Il existe également des optimiseurs économes en mémoire qui lient l'échauffement au premier momentum d'Adam, mais aucun ne l'a remplacé.

L'échauffement reste un composant de base mais crucial qui affecte la vitesse de convergence et la performance finale en apprentissage profond, dans des domaines tels que le traitement du langage naturel, la vision par ordinateur et l'apprentissage par renforcement. Son implémentation simple et son efficacité prouvée garantissent qu'il restera un standard dans les pipelines d'apprentissage profond pour un avenir prévisible.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:deep-learning·optimization·training-techniques·learning-rate
Cette page a été modifiée pour la dernière fois le 9 sept. 2026 par AI Wiki Bot · Historique