Rencontrez LOMO (LOw-Memory Optimization) un nouvel optimiseur d’IA qui fusionne le calcul du gradient et la mise à jour des paramètres en une seule étape pour réduire l’utilisation de la mémoire.
Meet LOMO (LOw-Memory Optimization), a new AI optimizer that combines gradient computation and parameter updates into a single step to reduce memory usage.
Les modèles de langage de grande taille ont transformé le traitement du langage naturel en mettant en avant des compétences étonnantes telles que l’émergence et la compréhension profonde, et en faisant augmenter continuellement la taille des modèles. La recherche en PLN élève la barre en formant ces modèles avec des milliards de paramètres, tels que ceux comprenant de 30 à 175 milliards de paramètres. Il est difficile pour les petits laboratoires et les entreprises de participer à ce domaine de recherche, car l’ajustement fréquent des MLL demande des ressources GPU coûteuses, telles que des machines de 880 Go. Récemment, l’ajustement des MLL à ressources limitées a été rendu possible grâce à des techniques d’ajustement fin efficaces en termes de paramètres, telles que LoRA et le préfixe-tuning.
Bien que l’ajustement complet des paramètres ait été considéré comme une stratégie plus efficace que l’ajustement fin efficace des paramètres, les deux techniques doivent fournir une solution fonctionnelle. Ils souhaitent étudier des méthodes pour effectuer un ajustement complet des paramètres dans des conditions de ressources limitées. Ils examinent l’activation, les états de l’optimiseur, le tenseur de gradient et les paramètres, les quatre caractéristiques de l’utilisation de la mémoire dans les MLL, et optimisent le processus d’entraînement de trois manières : 1) Ils réévaluent la fonctionnalité algorithmique d’un optimiseur et découvrent que SGD est un substitut approprié pour l’ajustement fin complet des paramètres des MLL. Étant donné que SGD ne maintient pas les étapes intermédiaires, nous pouvons supprimer toute la partie des états de l’optimiseur. 2) Leur optimiseur suggéré, LOMO, tel qu’illustré à la Figure 1, réduit l’utilisation de la mémoire des tenseurs de gradient à O, équivalent à la consommation de mémoire du plus grand tenseur de gradient. 3) Ils intègrent une normalisation du gradient et une mise à l’échelle de la perte, et basculent certains calculs en précision totale pendant l’entraînement pour stabiliser l’entraînement en mix-precision avec LOMO. Leur méthode combine la même quantité de mémoire que les paramètres, l’activation et le plus grand tenseur de gradient.
Ils augmentent considérablement la consommation de mémoire de l’ajustement complet des paramètres, la réduisant au niveau de l’inférence. C’est parce que le processus avant seul ne devrait pas nécessiter moins de mémoire que le processus arrière. Notamment, ils garantissent que la fonction d’ajustement fin n’est pas altérée lors de l’utilisation de LOMO pour économiser de la mémoire, car le processus de mise à jour des paramètres est similaire à SGD. Des chercheurs de l’Université Fudan démontrent comment l’utilisation de LOMO permet de former avec succès un modèle de 65B avec seulement 8 GPU RTX 3090 en évaluant empiriquement les capacités de mémoire et de débit de LOMO. De plus, ils utilisent LOMO pour ajuster l’ensemble des paramètres des MLL sur la collection de jeux de données SuperGLUE afin de valider les performances en aval de leur approche suggérée. Les résultats empiriques montrent les bonnes performances de LOMO lors de l’optimisation des MLL avec de nombreux paramètres.
- Plugins de diffusion sur l’appareil pour la génération conditionnée de texte vers image
- Donner aux robots la capacité d’effectuer des tâches complexes Meta AI développe un modèle d’affordance visuelle en utilisant des vidéos en ligne du comportement humain.
- Google DeepMind travaille sur un algorithme visant à dépasser ChatGPT.
Voici leurs contributions globales :
• Ils proposent une étude théorique qui suggère que SGD peut ajuster avec succès tous les paramètres des MLL. Il est possible que les obstacles qui empêchaient autrefois l’utilisation répandue de SGD ne soient pas aussi graves lors de l’optimisation des MLL.
• Ils suggèrent LOMO, ou optimisation à faible mémoire, pour réduire considérablement l’utilisation de la mémoire GPU tout en maintenant le processus d’ajustement fin.
• Ils démontrent empiriquement l’efficacité de LOMO dans l’optimisation des MLL dans des conditions de ressources limitées en analysant soigneusement l’utilisation de la mémoire et les performances de débit. Les évaluations des performances des tâches en aval fournissent une justification supplémentaire pour cela.
Le code d’implémentation est disponible sur GitHub.
We will continue to update IPGirl; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Ajustez de manière interactive Falcon-40B et d’autres LLMs sur les cahiers Amazon SageMaker Studio en utilisant QLoRA
- Diffusion Stable Intuition de base derrière l’IA générative
- Construction de modèles de langage Un guide pas à pas de mise en œuvre de BERT
- 5 Livres gratuits sur le Traitement du Langage Naturel à lire en 2023
- Rencontrez Wanda une approche simple et efficace de l’élagage pour les grands modèles de langage.
- Générer de la musique à partir de texte en utilisant Google MusicLM
- Rencontrez ProFusion Un cadre d’IA sans régularisation pour la préservation des détails dans la synthèse texte-image