À suivreGuide suivant
Optimiseurs ZeRO et Sharded
Technique
GUIDE Technique
Adam est l'optimiseur de référence derrière la plupart des réseaux de neurones modernes, réglant automatiquement un taux d'apprentissage distinct pour chaque paramètre.
Écoutez ce guideNarré par l'IA · ~2 min
It matters because it makes training deep models faster and far less finicky than plain gradient descent.
Adam (Adaptive Moment Estimation), introduit par Kingma et Ba en 2014, combine deux idées. Premièrement, l'élan : il conserve une moyenne en décroissance exponentielle des gradients passés (le premier instant), de sorte que les mises à jour augmentent la vitesse dans des directions cohérentes. Deuxièmement, la mise à l'échelle par paramètre : elle suit une moyenne des gradients carrés (le deuxième moment) et divise chaque pas par la racine carrée de cette valeur, de sorte que les paramètres avec des gradients importants et bruyants prennent des pas plus petits et ceux rarement mis à jour prennent des pas plus grands. Cette adaptabilité signifie que vous pouvez souvent utiliser un seul taux d'apprentissage sur l'ensemble d'un réseau. Une variante, AdamW, dissocie la dégradation du poids de la mise à jour du gradient et est devenue la valeur par défaut pour la formation de grands transformateurs et de modèles de langage.
Formation de grands modèles de langage comme GPT et Llama, qui utilisent AdamW comme optimiseur standard.
Affiner un classificateur d'images pré-entraîné (par exemple, ResNet) sur un ensemble de données personnalisé avec juste un taux d'apprentissage Adam par défaut.
Entraîner les modèles de diffusion derrière des générateurs d'images tels que Stable Diffusion.
Exécution d'Adam 8 bits dans des bibliothèques telles que bitsandbytes pour adapter les états de l'optimiseur à la mémoire GPU limitée.
Adam et AdamW restent dominants, mais la recherche encourage l'efficacité des modèles comportant des milliards de paramètres, dans lesquels le stockage de deux valeurs supplémentaires par poids est coûteux. Des variantes légères en mémoire comme Adafactor, Adam 8 bits et des optimiseurs plus récents tels que Lion (qui utilise uniquement l'élan basé sur les signes) et Sophia visent à égaler la qualité d'Adam avec moins de mémoire ou une convergence plus rapide. Attendez-vous à ce que des optimiseurs adaptatifs spécialement conçus pour la formation distribuée et de faible précision continuent d'évoluer.
Newsletter gratuite
Trois histoires d'IA vérifiées chaque matin de la semaine, écrites dans un anglais simple. Gratuit pour toujours, sans publicité.
Un e-mail chaque jour de la semaine. Désabonnez-vous en un clic. Nous ne vendons ni ne partageons jamais votre adresse.
Testez-vous
Commentaires instantanés sur chaque réponse et un certificat partageable avec une pièce d'identité vérifiable une fois que vous avez réussi un cours.
Soutenez l’enseignement gratuit de l’IA. AI Understanding est une organisation à but non lucratif 501(c)(3) : pas de publicité, pas de paywall, jamais. Faire un don
Adam est l'optimiseur de référence derrière la plupart des réseaux de neurones modernes, réglant automatiquement un taux d'apprentissage distinct pour chaque paramètre. C'est important car cela rend l'entraînement des modèles profonds plus rapide et beaucoup moins capricieux qu'une simple descente de gradient.
Adam conserve une moyenne décroissante exponentielle des gradients (premier moment) et des gradients au carré (deuxième moment) pour chaque paramètre.
m et v sont tous deux initialisés à zéro, de sorte que les premières estimations sont biaisées à un niveau bas ; la division par (1 - beta^t) corrige cela.
AdamW applique la décroissance du poids directement aux poids plutôt que de la mélanger au terme de gradient adaptatif, ce qui améliore la généralisation dans les transformateurs.
Epsilon (environ 1e-8) est ajouté au dénominateur afin que les paramètres avec des moyennes de gradient carré proches de zéro ne provoquent pas d'explosion.
En divisant par la racine carrée de la moyenne du gradient carré de chaque paramètre, Adam met à l'échelle la taille du pas par paramètre plutôt que d'utiliser une valeur globale.
Continuez à apprendre
Plus de guides sélectionnés pour ce sujet
À suivreGuide suivant
Optimiseurs ZeRO et Sharded
Technique