La rubrique AIxiv est une rubrique où ce site publie du contenu académique et technique. Au cours des dernières années, la rubrique AIxiv de ce site a reçu plus de 2 000 rapports, couvrant les meilleurs laboratoires des principales universités et entreprises du monde entier, favorisant efficacement les échanges et la diffusion académiques. Si vous souhaitez partager un excellent travail, n'hésitez pas à contribuer ou à nous contacter pour un rapport. E-mail de soumission : liyazhou@jiqizhixin.com ; zhaoyunfeng@jiqizhixin.com
À propos du co-premier auteur de cet article : Zhang Yihua : doctorant de troisième année au département d'informatique de la Michigan State University, étudiant Sous la direction du professeur Sijia Liu, ses principales orientations de recherche portent sur les questions de sécurité, de confidentialité et d'efficacité des grands modèles. Li Pingzhi : Il est diplômé de l'Université des sciences et technologies de Chine avec un baccalauréat. Il entrera à l'Université de Caroline du Nord à Chapel Hill en tant que doctorat à l'automne 2024, où il étudie sous la direction du professeur Chen Tianlong. se concentrer sur les domaines de l’apprentissage automatique efficace et de l’AI4Science. Hong Junyuan : chercheur postdoctoral à l'Université du Texas à Austin, encadré par le professeur Zhangyang Wang. Diplômé de la Michigan State University avec un doctorat sous la tutelle du professeur Jiayu Zhou, son principal domaine de recherche actuel concerne les grands modèles de langage fiables et les applications médicales de l'intelligence artificielle. Li Jiaxiang : chercheur postdoctoral à l'Université du Minnesota, effectuant actuellement des recherches sur la théorie de l'optimisation numérique, la théorie de l'apprentissage automatique et les problèmes d'optimisation de l'apprentissage automatique à grande échelle sous la direction du professeur Hong Mingyi et du professeur Zhang Shuzhong.
Les grands modèles de langage open source (LLM) fleurissent. Afin de les adapter à diverses tâches en aval, le réglage fin est la méthode de base la plus largement adoptée. Bien que les optimiseurs de premier ordre (SGD, Adam, etc.) basés sur la technologie de différenciation automatique (SGD, Adam, etc.) occupent la place principale dans le réglage fin des modèles, à mesure que les modèles deviennent de plus en plus grands, ils exercent une pression croissante sur la mémoire vidéo. Par conséquent, comment réduire efficacement la mémoire graphique pendant le réglage fin afin qu'une seule carte puisse répondre aux exigences de réglage fin est devenue un sujet de recherche brûlant. Il convient de noter que bien que la rétropropagation soit la pierre angulaire de ces optimiseurs de premier ordre et soit utilisée pour calculer le gradient de chaque poids du réseau neuronal, elle tue également la mémoire. La surcharge causée par la sauvegarde d'énormes graphiques de calcul est également importante. L’ère du modèle est particulièrement mise en avant. Dans le même temps, l'optimisation d'ordre zéro n'a pas du tout besoin de sauvegarder le graphique de calcul, mais utilise plutôt des différences finies pour approximer le gradient du réseau, réduisant ainsi considérablement le réseau neuronal en évitant complètement la rétro-propagation (BP). surcharge dans les mises à jour du réseau. Semblables aux différentes variantes de descente de gradient stochastique dans les optimiseurs de premier ordre, les optimiseurs d'ordre zéro disposent également de divers algorithmes améliorés qui n'ont jamais été explorés auparavant. Récemment, de nombreux chercheurs de l'Université d'État du Michigan, de l'Université de Caroline du Nord à Chapel Hill, de l'Université du Texas à Austin, de l'Université du Minnesota Twin Cities, du Centre de recherche IBM, de l'Université de Princeton et de l'Alibaba Damo Academy ont lancé conjointement un article d'évaluation complet (référence) : Revisiter l'optimisation d'ordre zéro pour un réglage fin LLM efficace en mémoire : une référence. Cet article couvre six types d'optimiseurs qui ne nécessitent pas de rétropropagation (sans BP), cinq types de grands modèles, des tâches de trois niveaux de complexité, quatre types de schémas de réglage fin et trois nouveaux algorithmes qui améliorent les optimiseurs d'ordre zéro. Actuellement, les articles connexes ont été acceptés par l'ICML 2024 avec des scores élevés, et le code est open source ;
- Adresse papier : https://arxiv.org/abs/2402.11592
- Adresse code : https://github.com/ZO-Bench/ZO-LLM
- Adresse des notes de cours sur l'optimisation d'ordre zéro (tutoriel AAAI 2024) : https://sites.google.com/view/zo-tutorial-aaai-2024/
Qu'est-ce qu'un optimiseur d'ordre zéro ? Pourquoi est-ce si important ? L'optimisation d'ordre zéro repose uniquement sur la sortie du réseau neuronal pour l'estimation du gradient, et est célèbre pour ne pas avoir besoin de calculer la rétropropagation du tout et nécessiter très peu de consommation de formation interne. Bien qu'il existe différentes méthodes d'estimation de gradient dans le domaine des optimiseurs d'ordre zéro, cet article fait spécifiquement référence à une série d'algorithmes basés sur l'estimateur de gradient aléatoire (RGE). En termes simples, la différence finie est calculée par des perturbations aléatoires tirées d'une distribution gaussienne et utilisée comme estimation approximative du gradient. La formule mathématique RGE est la suivante.
Avant cela, l'optimisation d'ordre zéro a été largement utilisée dans les problèmes d'apprentissage automatique, tels que la génération et la défense d'échantillons contradictoires, l'interprétation de modèles de boîte noire, l'apprentissage par renforcement et l'apprentissage automatique automatique pour une présentation détaillée de l'algorithme et de l'application, veuillez consulter [1] ; . Dans le domaine des grands modèles, MeZO [2] a d'abord proposé l'utilisation de la descente de gradient stochastique d'ordre zéro (ZO-SGD) comme réglage fin pour les grands modèles et a démontré le potentiel illimité des optimiseurs d'ordre zéro. Dans le même temps, ZO-SGD est l'optimiseur sans BP le plus simple et le plus basique. La question de savoir si ses nombreuses variantes plus avancées [3] peuvent nous apporter plus de surprises dans le domaine du réglage fin des grands modèles est un sujet qui nécessite des recherches urgentes. Cet article évalue systématiquement les performances, l'efficacité et la compatibilité des algorithmes d'optimisation suivants sans rétropropagation (sans BP) sur des tâches de réglage fin de grands modèles. Le but est de montrer à la communauté l'étendue de l'optimiseur d'ordre zéro sur une variété de sujets. tâches de grand modèle. Potentiel :
- ZO-SGD : descente de gradient stochastique d'ordre zéro basée sur les signes [5]
- ZO-SGD-MMT : Descente de gradient stochastique d'ordre zéro avec élan [6]
- ZO-SGD-Cons : Descente de gradient stochastique d'ordre zéro avec mises à jour de gradient conservatrices [7]
- ZO-Adam : Optimiseur Adam d'ordre zéro [8]
Cette étude inclut également la méthode Forward-Grad [9], dont les estimations impartiales des gradients sont basées sur des dérivées directionnelles le long de vecteurs de direction aléatoires. Il convient de noter que bien que Forward-Grad n'utilise pas directement la rétropropagation du gradient, il utilise toujours un algorithme de différenciation automatique, il s'agit donc d'un algorithme sans BP de premier ordre.
Pour résumer, l'évaluation de cet article inclut les cinq optimiseurs d'ordre zéro ci-dessus et la méthode Forward-Grad, tout en comparant les optimiseurs de premier ordre les plus couramment utilisés, FO-SGD et FO-Adam. En termes de formes de mise au point spécifiques, l'évaluation couvre de manière globale 5 architectures LLM (RoBERTa, OPT, LLaMA, Vicuna, Mistral), 3 tâches de complexité différente (SST2, COPA, WinoGrande) et 4 solutions de mise au point (full- réglage, LoRA, réglage rapide, réglage du préfixe).
Évaluation de la précision du réglage fin des grands modèles
L'auteur a souligné que pour utiliser efficacement l'optimiseur d'ordre zéro pour affiner les grands modèles sur les tâches en aval, le modèle d'entrée doit être utilisé de manière rationnelle afin que les tâches en aval puissent être alignées sur les tâches pré-entraînées. Par exemple, pour SST2, l'utilisation du modèle «
SENTENCE. C'était [terrible|génial].
» peut entraîner une amélioration des performances de 10 % sur ZO-SGD. Cependant, pour les optimiseurs de premier ordre (tels que FO-SGD), la différence de performances n'est pas significative, qu'un modèle soit utilisé ou non, ce qui met en évidence le caractère unique de l'optimiseur d'ordre zéro. SST2 En tant que tâche plus basique, ses résultats expérimentaux peuvent étayer les conclusions suivantes :
ZO-Adam semble être l'optimiseur d'ordre zéro le plus efficace : 4 paramètres précis sur 8 Meilleure performance en .
- Le Forward-grad est une méthode compétitive mais jusqu'alors négligée, notamment en pleine mise au point.
- ZO-SGD-Cons et ZO-SGD-MMT démontrent également de solides performances, tandis que ZO-SGD-Sign, en tant qu'optimiseur d'ordre zéro le plus simple, est souvent la méthode la plus faible.
De plus, l'étude a utilisé le modèle plus grand OPT-13B pour mener des expériences sur des tâches plus complexes et difficiles (COPA et WinoGrande) et est parvenue aux conclusions suivantes :
Dans des tâches plus complexes, les différences de performances entre les différents optimiseurs sont encore amplifiées.
- ZO-Adam et ZO-SGD-MMT ont démontré une très bonne stabilité dans diverses expériences, ce qui peut être attribué au plan à variance réduite.
- Le réglage fin de LoRA a toujours montré une forte robustesse aux algorithmes d'ordre zéro et est stable et fiable dans divers environnements expérimentaux.
Évaluation et explication détaillée de la surcharge de mémoire de réglage fin du grand modèle En prenant comme exemple le réglage fin du modèle OPT-13B sur l'ensemble de données MultiRC, l'auteur a ensuite comparé et analysé la mémoire et le temps coûts de différents optimiseurs d’ordre zéro et de premier ordre. Comme le montre le tableau suivant : Premièrement, du point de vue de l'efficacité de la mémoire, ZO-SGD, ZO-SGD-Cons et ZO-SGD-Sign affichent une efficacité de mémoire élevée similaire, ne nécessitant qu'un seul GPU A100 pour le réglage fin des grands modèles de langage. . Cela n’est pas surprenant, car ces optimiseurs d’ordre zéro emploient des étapes d’optimisation relativement simples, reposant principalement sur l’utilisation de l’estimateur de gradient d’ordre zéro RGE. Deuxièmement, Forward-Grad semble être le point de basculement auquel les méthodes d'optimisation d'ordre zéro surpassent les méthodes de premier ordre en termes d'efficacité de la mémoire (par exemple par rapport à ZO-Adam). Enfin, par rapport à la méthode du premier ordre, le coût du temps d'exécution de chaque itération d'optimisation d'ordre zéro est réduit d'environ 41,9 % (en prenant comme exemple ZO-SGD vs FO-SGD).
L'auteur a en outre comparé l'efficacité de la mémoire de ZO-SGD et FO-SGD sous différentes longueurs de séquence. On peut voir que la consommation de mémoire de ZO-SGD reste cohérente car sa consommation maximale de mémoire est uniquement déterminée par la taille des paramètres du modèle. En revanche, à mesure que la longueur de la séquence augmente, la consommation maximale de mémoire de FO-SGD reste d'abord inchangée, puis. commencer à augmenter. Par conséquent, dans le cas d’une longue longueur de contexte, ZO-SGD présentera de meilleurs avantages en termes d’efficacité de la mémoire. Pour les valeurs théoriques et expérimentales spécifiques de la mémoire, veuillez vous référer à l'article original.
Trois algorithmes améliorés pour améliorer l'optimiseur d'ordre zéro Les optimiseurs d'ordre zéro ont une efficacité de convergence limitée lorsqu'ils sont appliqués au LLM, principalement en raison de leur grande variance dans les estimations de gradient. Afin d'améliorer encore l'optimiseur d'ordre zéro, l'auteur a proposé trois algorithmes avancés dans la perspective de réduire la variance de l'estimation du gradient, notamment : le réglage fin du ZO par bloc, le réglage fin hybride d'ordre zéro et du premier ordre ( réglage fin hybride ZO et FO), estimation du gradient d'ordre zéro qui introduit la parcimonie (estimation du gradient ZO induite par la parcimonie). Réglage fin du ZO par blocLe point de départ principal de cette méthode est que si l'optimiseur d'ordre zéro perturbe séparément les blocs de paramètres dans le LLM lors de l'estimation du gradient, en réduisant la taille du problème est utilisée pour prendre en compte la variance de chaque estimation de gradient, améliorant ainsi les performances d'optimisation. L'avantage de cette méthode est qu'elle peut estimer le gradient du modèle avec plus de précision, mais le nombre de propagations vers l'avant nécessaires pour effectuer une estimation du gradient augmentera. Par exemple, OPT-1.3B peut être divisé en 26 blocs de paramètres (24 couches de transformateurs, couches d'intégration et tête de classification LM), de sorte que l'optimiseur d'ordre zéro calculera 26 passes avant à chaque fois qu'il calcule le gradient du modèle. Afin de comparer équitablement ZO-SGD et ZO-SGD-Block, l'auteur a également comparé les performances d'une autre variante de ZO-SGD, qui effectue à chaque fois des perturbations de paramètres sur le modèle complet et estime le gradient après plusieurs perturbations. Calculez la moyenne ( par exemple, 26 fois pour OPT-1.3B) pour garantir que le nombre de propagations vers l'avant pendant la comparaison est le même. Les résultats expérimentaux sur OPT-1.3B montrent que ZO-SGD-Block dépasse largement les deux ZO-SGD.
Réglage précis hybride ZO et FOLa rétropropagation (BP) calcule le gradient de poids des réseaux neuronaux profonds aux réseaux neuronaux peu profonds en séquence. Étant donné que l'optimiseur d'ordre zéro présente un avantage bien plus important en termes d'utilisation de la mémoire que l'optimiseur de premier ordre traditionnel, les performances de l'optimiseur de premier ordre sont souvent meilleures. Par conséquent, l’utilisation d’une combinaison d’optimiseurs d’ordre zéro et de premier ordre permettra d’obtenir un compromis entre l’utilisation de la mémoire et les performances. Plus précisément, pour les réseaux plus profonds, un optimiseur de premier ordre peut être utilisé pour calculer avec précision le gradient par rétropropagation ; pour les réseaux peu profonds, un optimiseur d’ordre zéro peut être utilisé pour l’estimation du gradient. Les résultats expérimentaux montrent que l'utilisation d'un optimiseur d'ordre zéro dans la partie peu profonde (comme les 8/24 premières couches d'OPT-1.3B) et l'utilisation d'un optimiseur de premier ordre dans les parties profondes restantes peuvent économiser environ un tiers de la vidéo. mémoire Dans le même temps, le même niveau de performance que l’utilisation entièrement d’un optimiseur de premier ordre est atteint.
Optimiseur d'ordre zéro utilisant un gradient clairsemé (ZO avec élagage de gradient)Dans les optimiseurs de premier ordre, l'élagage de gradient est généralement utilisé pour accélérer le processus de formation, tandis que dans les optimiseurs d'ordre zéro, le gradient clairsemé introduit par l'élagage de gradient peut être Réduit davantage la variance des estimations de gradient, améliorant ainsi les performances. Cet article étudie l'application d'une stratégie d'élagage basée sur l'amplitude dans un optimiseur d'ordre zéro pour obtenir le taux de parcimonie de chaque couche, puis génère des masques de gradient clairsemés aléatoires (masque) basés sur ces taux de parcimonie, et les applique à l'estimation de gradient stochastique. Perturbation activée. Les résultats expérimentaux montrent qu'une parcimonie modérée du gradient (environ 20 %) peut apporter un certain degré d'amélioration des performances à l'optimiseur d'ordre zéro.
Dans cet article, nous avons démontré l'application efficace des optimiseurs d'ordre zéro dans le réglage fin de grands modèles de langage. En utilisant les différences de perte pour approximer les gradients, la méthode d’optimisation d’ordre zéro évite le besoin de rétropropagation et de stockage d’activation, économisant ainsi considérablement les ressources mémoire. En élargissant le champ de recherche existant, nous avons inclus différentes méthodes d'optimisation d'ordre zéro, types de tâches et indicateurs d'évaluation dans cette évaluation, et avons mené la première étude de référence systématique sur la technologie d'optimisation d'ordre zéro. Notre étude révèle non seulement les performances de ces méthodes en termes de précision et d’efficacité, mais donne également un aperçu du rôle critique de l’alignement des tâches et du gradient avant. À l'aide de ces analyses expérimentales, nous proposons des techniques telles que l'optimisation de blocs, la formation hybride d'ordre zéro et de premier ordre et la sparsification par gradient pour améliorer encore le réglage fin des grands modèles basés sur l'optimisation d'ordre zéro. Ces améliorations sont conçues pour améliorer la précision du réglage tout en maintenant l'efficacité de la mémoire. Nous croyons fermement que l'application de ces découvertes et technologies peut réduire considérablement les besoins en ressources matérielles pour la recherche sur de grands modèles, rendant possible le réglage fin de grands modèles sur des GPU bas de gamme, favorisant ainsi davantage la recherche universitaire et produisant des résultats pratiques et des résultats pratiques dans l’industrie. Nous encourageons les chercheurs et les développeurs de technologies à prêter attention à nos résultats de recherche et à explorer davantage de possibilités grâce à l'optimisation ZO. Les recherches futures continueront d’explorer les problèmes profonds dans ce domaine afin de libérer davantage de potentiel dans le réglage fin du LLM. Pour plus d'informations, veuillez vous référer au document et au référentiel GitHub pour plus d'informations et de ressources. [1] Liu, et al,. "Une introduction à l'optimisation d'ordre zéro dans le traitement du signal et l'apprentissage automatique." 2020) : 43-54.[2] Malladi, et al., "Modèles linguistiques de réglage fin avec les passes Just Forward".[3] Liu, et al. al., « Une introduction à l'optimisation d'ordre zéro dans le traitement du signal et l'apprentissage automatique. » IEEE Signal Processing Magazine. pour la programmation stochastique non convexe. Méthodes accélérées d'ordre zéro et d'impulsion de premier ordre de l'optimisation Mini à Minimax '2022. [7] Kim, et al., « Optimisation sans dérivée sensible à la courbure [8] Chen. , et al., "ZO-AdaMM : méthode de moment adaptatif d'ordre zéro pour l'optimisation de la boîte noire." [9] Baydin, et al., "Dégradés sans rétropropagation."
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!