Nouvelles techniques pour entraîner de grands modèles de langage
Une nouvelle méthode améliore l'efficacité mémoire lors de l'entraînement de gros modèles de langage sur du matériel grand public.
― 8 min lire
Table des matières
- Défis de mémoire dans l'entraînement
- Approches actuelles pour réduire l'utilisation de mémoire
- Une nouvelle approche : Projection de Bas Rang de Gradient
- Performance et efficacité
- Avantages par rapport aux méthodes existantes
- Travail connexe sur les techniques efficaces en mémoire
- Implémentation de la nouvelle méthode
- Bénéfices pour la pré-formation et le réglage fin
- Résultats expérimentaux
- Implications dans le monde réel
- Conclusion
- Directions futures
- Source originale
- Liens de référence
Entraîner des grands modèles de langage (LLMs) demande beaucoup de mémoire à cause de la taille de leurs Paramètres et de l'état de l'optimiseur utilisé pendant l'Entraînement. Ces modèles deviennent de plus en plus courants dans des tâches comme les chatbots et la traduction de langues. Même s'ils fonctionnent bien, la forte demande en mémoire rend l'entraînement difficile, surtout sur des GPUs normaux qu'on trouve dans les ordinateurs personnels.
Défis de mémoire dans l'entraînement
Quand on entraîne un LLM typique, la mémoire utilisée doit accommoder des milliards de paramètres, ainsi que leurs gradients et états d'optimiseur. Par exemple, entraîner un modèle comme LLaMA 7B depuis le début peut nécessiter plus de 58 Go de mémoire. Cette mémoire est consommée par divers composants, comme les paramètres eux-mêmes, les termes de momentum des Optimiseurs comme Adam, et les activations intermédiaires pendant l'entraînement.
À cause de ces exigences, l'entraînement de grands modèles n'est généralement pas possible sur du matériel grand public, comme le NVIDIA RTX 4090, qui a seulement 24 Go de mémoire.
Approches actuelles pour réduire l'utilisation de mémoire
Les chercheurs ont essayé plusieurs méthodes pour réduire l'utilisation de mémoire pendant l'entraînement. Une méthode populaire s'appelle l'adaptation de bas rang (LoRA). LoRA ajoute une matrice plus petite et entraînable aux poids pré-entraînés dans chaque couche du modèle. Ça réduit le nombre de paramètres à entraîner, ce qui diminue l'utilisation de mémoire.
Cependant, LoRA et des techniques similaires ne performent souvent pas aussi bien que l'entraînement avec l'ensemble complet des paramètres. Elles limitent la gamme des mises à jour possibles au modèle, ce qui peut rendre l'entraînement moins efficace.
Une nouvelle approche : Projection de Bas Rang de Gradient
Pour pallier les limitations des méthodes existantes, une nouvelle stratégie appelée Projection de Bas Rang de Gradient a été proposée. Cette approche permet d'entraîner tous les paramètres tout en étant plus efficace en termes de mémoire que les méthodes standard d'adaptation de bas rang comme LoRA.
L'idée principale est d'exploiter le fait que, pendant l'entraînement, les gradients des poids peuvent prendre une structure de bas rang. En se concentrant sur cet aspect de bas rang des gradients au lieu de restreindre la matrice de poids elle-même à être de bas rang, on peut réaliser d'importantes économies de mémoire.
En utilisant une technique qui consiste à projeter les matrices de gradient dans une forme de bas rang, la mémoire requise pour les états d'optimiseur peut être réduite considérablement. Cette méthode a montré qu'elle pouvait diminuer l'utilisation de mémoire d'environ 65,5% pendant l'entraînement tout en maintenant la performance au même niveau que les modèles entraînés avec tous les paramètres.
Performance et efficacité
Dans la pratique, cette nouvelle méthode a été efficace quand elle a été appliquée à la pré-formation et au réglage fin. Pendant la pré-formation de LLaMA sur le jeu de données C4, la technique de Projection de Bas Rang de Gradient, combinée à des optimiseurs 8 bits, permet au modèle de performer de manière comparable aux techniques à plein rang tout en utilisant beaucoup moins de mémoire.
De plus, ça a permis d'entraîner un modèle de 7 milliards de paramètres en utilisant des GPUs grand public sans avoir besoin de stratégies compliquées comme le parallélisme des modèles ou le déchargement.
Avantages par rapport aux méthodes existantes
Comparé à LoRA, qui lutte souvent pour égaler l'efficacité de l'entraînement à plein rang, la Projection de Bas Rang de Gradient garde un avantage significatif. Elle atteint une utilisation de mémoire plus faible sans avoir besoin de l'entraînement du modèle à plein rang au départ, ce qui est un obstacle courant avec des méthodes comme ReLoRA.
Cette nouvelle technique nécessite seulement des ajustements simples aux optimiseurs existants et a montré une performance efficace sur des modèles populaires comme AdamW et Adafactor. Les hyperparamètres supplémentaires introduits par cette méthode sont minimes, ce qui facilite l'implémentation.
Travail connexe sur les techniques efficaces en mémoire
Plusieurs stratégies ont déjà été proposées pour réduire l'empreinte mémoire pendant l'entraînement des modèles. Par exemple, la méthode Adafactor réduit l'utilisation de mémoire en factorisant les statistiques d'ordre deux pour l'optimiseur. D'autres ont exploré des moyens de compresser les statistiques de gradient pour améliorer l'efficacité mémoire.
En ce qui concerne les stratégies de bas rang, des techniques comme l'apprentissage par sous-espace visent à maintenir les mises à jour dans un espace de faible dimension spécifique. Bien que ces concepts aient montré du potentiel, ils font souvent face à des défis qui limitent leur performance, en particulier avec des tâches complexes comme l'entraînement de LLMs.
Implémentation de la nouvelle méthode
La Projection de Bas Rang de Gradient fonctionne en calculant périodiquement des matrices de projection qui convertissent la matrice de gradient en un format de bas rang. Cela réduit la mémoire requise pour stocker les états d'optimiseur. Bien que cela entraîne des économies de mémoire, la surcharge computationnelle est minimale, permettant une intégration fluide dans les cadres d'entraînement existants.
Les aspects pratiques de l'implémentation de cette stratégie impliquent de déterminer la fréquence à laquelle mettre à jour les projections de bas rang. Des changements dans le sous-espace peuvent être effectués toutes les quelques centaines d'itérations sans augmentation significative du coût computationnel.
Bénéfices pour la pré-formation et le réglage fin
Les avantages de cette méthode dépassent la simple pré-formation. Lors du réglage fin des modèles sur des tâches comme GLUE, la Projection de Bas Rang de Gradient a également montré qu'elle délivre de meilleurs résultats par rapport aux méthodes traditionnelles comme LoRA. Elle performe bien sur diverses tâches, maintenant un niveau de performance comparable voire meilleur avec une utilisation de mémoire plus faible.
Résultats expérimentaux
Des tests approfondis sur les modèles LLaMA révèlent que la Projection de Bas Rang de Gradient surpasse constamment d'autres méthodes de bas rang. Lorsqu'elle est appliquée à une gamme de tailles de modèle, elle atteint une perplexité de validation plus faible, démontrant sa capacité à entraîner des modèles efficaces sans les exigences de mémoire excessives de l'entraînement à plein rang.
Par exemple, à travers des essais rigoureux, il a été montré que la méthode peut gérer efficacement le réglage fin des modèles après pré-formation, offrant une approche rationalisée pour adapter les modèles à des applications spécifiques.
Implications dans le monde réel
La capacité à entraîner efficacement des grands modèles de langage sur du matériel grand public a des implications significatives. Cela démocratise non seulement l'accès aux technologies d'IA avancées, mais réduit également l'impact environnemental associé à l'entraînement de ces modèles. En facilitant l'entraînement sur des machines moins puissantes, ça minimise la consommation d'énergie et réduit l'empreinte carbone globale.
Conclusion
L'introduction de la Projection de Bas Rang de Gradient représente un pas en avant pour répondre aux défis de mémoire de l'entraînement de grands modèles de langage. En se concentrant sur les propriétés de bas rang des gradients, cette méthode permet un apprentissage efficace tout en réduisant considérablement l'utilisation de mémoire. En conséquence, ça permet aux chercheurs et développeurs de former des modèles plus grands et plus complexes sur un matériel limité, ouvrant la voie à des avancées dans les technologies d'IA dans divers domaines.
Directions futures
Les recherches futures peuvent explorer des améliorations supplémentaires de l'efficacité mémoire dans l'entraînement des modèles. Cela pourrait inclure l'amélioration des matrices de projection de bas rang via des méthodes de paramétrisation ou de quantification efficaces. De plus, il y a un potentiel d'application de cette approche à d'autres types de modèles, comme ceux utilisés dans des tâches de vision ou des modèles génératifs.
En résumé, la Projection de Bas Rang de Gradient offre une voie pratique et efficace pour entraîner de grands modèles de langage, contribuant finalement à un paysage d'IA plus accessible et durable.
Titre: GaLore: Memory-Efficient LLM Training by Gradient Low-Rank Projection
Résumé: Training Large Language Models (LLMs) presents significant memory challenges, predominantly due to the growing size of weights and optimizer states. Common memory-reduction approaches, such as low-rank adaptation (LoRA), add a trainable low-rank matrix to the frozen pre-trained weight in each layer, reducing trainable parameters and optimizer states. However, such approaches typically underperform training with full-rank weights in both pre-training and fine-tuning stages since they limit the parameter search to a low-rank subspace and alter the training dynamics, and further, may require full-rank warm start. In this work, we propose Gradient Low-Rank Projection (GaLore), a training strategy that allows full-parameter learning but is more memory-efficient than common low-rank adaptation methods such as LoRA. Our approach reduces memory usage by up to 65.5% in optimizer states while maintaining both efficiency and performance for pre-training on LLaMA 1B and 7B architectures with C4 dataset with up to 19.7B tokens, and on fine-tuning RoBERTa on GLUE tasks. Our 8-bit GaLore further reduces optimizer memory by up to 82.5% and total training memory by 63.3%, compared to a BF16 baseline. Notably, we demonstrate, for the first time, the feasibility of pre-training a 7B model on consumer GPUs with 24GB memory (e.g., NVIDIA RTX 4090) without model parallel, checkpointing, or offloading strategies.
Auteurs: Jiawei Zhao, Zhenyu Zhang, Beidi Chen, Zhangyang Wang, Anima Anandkumar, Yuandong Tian
Dernière mise à jour: 2024-06-02 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2403.03507
Source PDF: https://arxiv.org/pdf/2403.03507
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.