Le planning d'entraînement standard pour un LLM a trois phases : (1) warmup : augmenter linéairement le taux d'apprentissage de ~0 à la valeur pic sur les premiers 0.1–2% des étapes d'entraînement. Cela empêche le modèle initialisé aléatoirement de faire des pas trop grands au début. (2) Stable/pic : maintenir le taux d'apprentissage pic pour le gros de l'entraînement. (3) Décroissance : diminuer le taux d'apprentissage suivant une courbe cosinus jusqu'à quasi-zéro à la fin. Cela permet au modèle de faire des ajustements à grain fin dans la phase finale.
Décroissance cosinus : lr(t) = lr_min + 0.5 · (lr_max − lr_min) · (1 + cos(π · t / T)), où t est l'étape actuelle et T le nombre total d'étapes. Cela produit une courbe lisse qui diminue lentement au début, puis plus vite, puis lentement à nouveau en approchant le minimum. Pourquoi cosinus ? Ça fonctionne bien empiriquement et évite les transitions abruptes des plannings par paliers. Le taux d'apprentissage final est typiquement 10x plus petit que le pic.
La règle de mise à l'échelle linéaire : si tu doubles la taille du lot, double le taux d'apprentissage. Cela préserve la taille de pas effective quand l'estimation du gradient devient plus précise (grâce au plus grand lot). La règle tient approximativement pour des tailles de lot modérées mais s'effondre pour des lots très grands, où le taux d'apprentissage optimal croît plus lentement que linéairement. Trouver cette relation juste est critique pour l'entraînement distribué où la taille du lot augmente avec le nombre de GPU.