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.

https://arxiv.org/pdf/2306.09782.pdf

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!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI

Google ajoute une fonctionnalité de vérification de la grammaire alimentée par l'IA apprenez comment l'activer

Dans un mouvement qui fait des vagues dans le monde en ligne, Google a discrètement dévoilé un nouvel outil qui vise ...

AI

Découvrez DeepOnto un package Python pour l'ingénierie ontologique avec l'apprentissage profond

Les avancées dans les méthodologies d’apprentissage profond ont un impact considérable sur la communauté de l&#...

AI

Détection de plumes de méthane par l'IA depuis l'espace

Un nouvel outil d'apprentissage automatique utilise des données provenant de satellites hyperspectraux pour détecter ...

Actualités sur l'IA

L'IA Générative peut contribuer 4,4 billions de dollars par an McKinsey

L’IA générative, une technologie révolutionnaire qui permet aux machines de créer du contenu de manière autonom...

AI

Test de Turing, Chambre Chinoise et Modèles de Langage Étendus

Le Test de Turing est une idée classique dans le domaine de l'IA. À l'origine appelé le jeu de l'imitation, Alan Turi...