Modèles et plateformes d’IA
MoRA : Mise à jour de haute rangée pour PEFT
En raison de ses performances robustes et de son applicabilité large par rapport aux autres méthodes, LoRA ou Low-Rank Adaption est l’une des méthodes de fine-tuning les plus populaires pour les modèles de langage, appelée PEFT ou Parameter Efficient Fine-Tuning. Le cadre LoRA utilise deux matrices de rang faible pour décomposer et approximer les poids mis à jour dans la FFT ou Full Fine Tuning, et le cadre LoRA modifie ces paramètres formables en ajustant le rang des matrices. Le principal avantage de la mise en œuvre de ce processus est qu’il permet au cadre LoRA de fusionner ces matrices sans latence d’inférence après le fine-tuning. De plus, bien que les modèles de langage récents offrent des performances remarquables sur les tâches d’apprentissage en contexte, certaines situations nécessitent toujours un fine-tuning, et peuvent être classées en trois types. Le premier type, l’ajustement des instructions, vise à aligner les LLM sur les tâches finales et les préférences des utilisateurs sans améliorer les connaissances et les capacités des LLM, une approche qui simplifie le processus de traitement de tâches variées et d’instructions complexes. Le deuxième type comprend des tâches de raisonnement complexes comme la résolution de problèmes mathématiques. Enfin, le troisième type est la pré-formation continue, une approche qui tente d’améliorer les capacités générales des modèles de langage dans des domaines spécifiques.
Dans cet article, nous allons discuter de savoir si la mise à jour de rang faible affecte les performances du cadre LoRA, car il a été observé que le mécanisme de mise à jour de rang faible pourrait entraver la capacité du modèle de langage à apprendre et à mémoriser de nouvelles connaissances. En nous appuyant sur cela, dans cet article, nous allons discuter de MoRA, une nouvelle méthode qui atteint une mise à jour de rang élevé tout en maintenant le même nombre de paramètres formables, en utilisant une matrice carrée. Pour cela, le cadre MoRA réduit la dimension d’entrée et augmente la dimension de sortie pour la matrice carrée en introduisant les opérateurs non paramétrés correspondants. De plus, ces opérateurs assurent que le poids peut être fusionné à nouveau dans les LLM, ce qui rend le cadre MoRA déployable comme LoRA.
Cet article vise à couvrir le cadre MoRA en profondeur, et nous explorons le mécanisme, la méthodologie, l’architecture du cadre ainsi que sa comparaison avec les cadres d’état de l’art. Alors, commençons.
MoRA : Mise à jour de haute rangée pour PEFT
Alors que la taille et les capacités des modèles de langage augmentent, le PEFT ou le fine-tuning efficace des paramètres émerge comme l’une des méthodes les plus populaires et les plus efficaces pour adapter les LLM aux tâches spécifiques en aval. Par rapport à la FFT ou au fine-tuning complet, qui met à jour tous les paramètres, le PEFT ne modifie qu’une fraction des paramètres totaux, car sur certaines tâches, il peut atteindre des performances similaires à celles de la FFT en mettant à jour moins de 1% des paramètres totaux, ce qui réduit considérablement les exigences de mémoire pour l’optimiseur tout en facilitant le stockage et le déploiement des modèles. De plus, parmi toutes les méthodes PEFT existantes, LoRA est la plus populaire aujourd’hui, en particulier pour les LLM. L’une des principales raisons pour lesquelles les méthodes LoRA offrent de meilleures performances par rapport aux méthodes PEFT comme les adaptateurs ou le fine-tuning des invites est que LoRA utilise des matrices de rang faible pour mettre à jour les paramètres, avec le cadre ayant le contrôle pour fusionner ces matrices dans les paramètres du modèle d’origine, sans ajouter aux exigences de calcul pendant l’inférence. Bien qu’il existe de nombreuses méthodes qui tentent d’améliorer LoRA pour les grands modèles de langage, la plupart de ces modèles s’appuient sur GLUE pour valider leur efficacité, soit en nécessitant peu de paramètres formables, soit en atteignant de meilleures performances.
De plus, les expériences menées sur LoRA sur une large gamme de tâches, y compris la pré-formation continue, le raisonnement mathématique et l’ajustement des instructions, indiquent que bien que les cadres LoRA basés sur ces tâches démontrent des performances similaires, et offrent des performances sur les tâches d’ajustement des instructions comparables aux méthodes FFT basées. Cependant, les modèles LoRA basés ne pouvaient pas reproduire les performances sur les tâches de pré-formation continue et de raisonnement mathématique. Une explication possible de ce manque de performance peut être la dépendance de LoRA à l’égard des mises à jour de matrices de rang faible, car la matrice de mise à jour de rang faible peut avoir du mal à estimer les mises à jour de rang complet dans la FFT, en particulier dans les tâches gourmandes en mémoire qui nécessitent de mémoriser des connaissances spécifiques au domaine comme la pré-formation continue. Puisque le rang de la matrice de mise à jour de rang faible est inférieur au rang complet, il limite la capacité à stocker de nouvelles informations à l’aide du fine-tuning. En nous appuyant sur ces observations, MoRA tente de maximiser le rang dans la matrice de mise à jour de rang faible tout en maintenant le même nombre de paramètres formables, en utilisant une matrice carrée au lieu de l’utilisation de matrices de rang faible dans les modèles LoRA traditionnels. La figure suivante compare le cadre MoRA avec LoRA sous le même nombre de paramètres formables.

Sur l’image ci-dessus, (a) représente LoRA, et (b) représente MoRA. W est le poids figé du modèle, M est la matrice formable dans MoRA, A et B sont des matrices de rang faible formables dans LoRA, et r représente le rang dans LoRA et MoRA. Comme on peut le voir, le cadre MoRA démontre une capacité plus grande que les modèles LoRA basés sur un grand rang. De plus, le cadre MoRA développe des opérateurs non paramétrés correspondants pour réduire la dimension d’entrée et augmenter la dimension de sortie pour la matrice formable M. De plus, le cadre MoRA offre la flexibilité d’utiliser une matrice de mise à jour de rang faible pour substituer la matrice formable M et les opérateurs, en assurant que la méthode MoRA peut être fusionnée à nouveau dans le grand modèle de langage comme LoRA. Le tableau suivant compare les performances de la FFT, LoRA, les variantes LoRA et notre méthode sur les tâches d’ajustement des instructions, de raisonnement mathématique et de pré-formation continue.

MoRA : Méthodologie et Architecture
L’influence de la mise à jour de rang faible
Le principe clé des modèles LoRA basés est d’estimer les mises à jour de rang complet dans la FFT en utilisant des mises à jour de rang faible. Traditionnellement, pour une matrice de paramètres pré-formée donnée, LoRA utilise deux matrices de rang faible pour calculer la mise à jour du poids. Pour s’assurer que les mises à jour du poids sont 0 lorsque la formation commence, le cadre LoRA initialise l’une des matrices de rang faible avec une distribution gaussienne tandis que l’autre avec 0. La mise à jour globale du poids dans LoRA présente un rang faible par rapport au fine-tuning dans la FFT, bien que la mise à jour de rang faible dans LoRA offre des performances similaires au fine-tuning de rang complet sur des tâches spécifiques, y compris l’ajustement des instructions et la classification de texte. Cependant, les performances du cadre LoRA commencent à se dégrader pour les tâches comme la pré-formation continue et le raisonnement complexe. Sur la base de ces observations, MoRA propose qu’il est plus facile d’utiliser les capacités et les connaissances originales des LLM pour résoudre les tâches en utilisant des mises à jour de rang faible, mais le modèle a du mal à effectuer des tâches qui nécessitent d’améliorer les capacités et les connaissances du modèle de langage.
Méthodologie
Bien que les LLM avec apprentissage en contexte soient une amélioration significative des approches précédentes, il existe encore des contextes qui dépendent du fine-tuning, qui peuvent être classés en trois catégories. Il y a des LLM qui sont ajustés pour les instructions, en les alignant sur les tâches et les préférences des utilisateurs, sans améliorer considérablement les connaissances et les capacités des LLM, ce qui facilite le travail avec plusieurs tâches et la compréhension d’instructions complexes. Un autre type concerne les tâches de raisonnement complexes comme la résolution de problèmes mathématiques, pour lesquels le fine-tuning des instructions générales est insuffisant pour gérer les tâches de raisonnement symbolique multi-étapes complexes. La plupart des recherches connexes visent à améliorer les capacités de raisonnement des LLM, et elles nécessitent soit de concevoir des ensembles de données de formation correspondants basés sur des modèles enseignants plus grands, tels que GPT-4, soit de reformuler les questions de raisonnement correspondant à un chemin de raisonnement. Le troisième type, la pré-formation continue, est conçu pour améliorer les capacités spécifiques au domaine des LLM. Contrairement à l’ajustement des instructions, le fine-tuning est nécessaire pour enrichir les connaissances et les compétences spécifiques au domaine.
Cependant, la plupart des variantes de LoRA utilisent presque exclusivement le fine-tuning des instructions GLUE ou la classification de texte pour évaluer leur efficacité dans le contexte des LLM. Puisque le fine-tuning pour l’ajustement des instructions nécessite les moins de ressources par rapport aux autres types, il peut ne pas représenter une comparaison appropriée entre les variantes LoRA. L’ajout de tâches de raisonnement pour évaluer leurs méthodes de manière plus efficace est une pratique courante dans les travaux plus récents. Cependant, nous utilisons généralement de petits ensembles de formation (même à 1 million d’exemples, ce qui est assez grand). Les LLM ont du mal à apprendre un raisonnement approprié à partir d’exemples de cette taille. Par exemple, certaines approches utilisent le GSM8K avec seulement 7 500 épisodes de formation. Cependant, ces nombres sont insuffisants pour juger de la capacité de ces méthodes à apprendre le pouvoir de raisonnement du NLP.
Sur la base des observations de l’influence de la mise à jour de rang faible, le cadre MoRA propose une nouvelle méthode pour atténuer les effets négatifs de la mise à jour de rang faible. Le principe de base du cadre MoRA est d’utiliser les mêmes paramètres formables dans la mesure du possible pour atteindre un rang plus élevé dans la matrice de mise à jour de rang faible. Après avoir pris en compte les poids pré-formés, le cadre LoRA utilise deux matrices de rang faible A et B avec des paramètres formables totaux pour le rang r. Cependant, pour le même nombre de paramètres formables, une matrice carrée peut atteindre le rang le plus élevé, et le cadre MoRA atteint cela en réduisant la dimension d’entrée et en augmentant la dimension de sortie pour la matrice carrée formable. De plus, ces deux fonctions doivent être des opérateurs non paramétrés et doivent s’exécuter en temps linéaire par rapport à la dimension.
MoRA : Expériences et Résultats
Pour évaluer ses performances, le cadre MoRA est évalué sur une large gamme de tâches pour comprendre l’influence de la mise à jour de rang élevé sur trois tâches : mémoriser les paires d’UUID, les tâches de fine-tuning et la pré-formation.
Mémoriser les paires d’UUID
Pour démontrer les améliorations des performances, le cadre MoRA est comparé aux cadres FFT et LoRA sur la mémorisation des paires d’UUID. La perte de formation de l’expérience est reflétée dans l’image suivante.

Il est important de noter que pour le même nombre de paramètres formables, le cadre MoRA est capable de surpasser les modèles LoRA existants, indiquant qu’il a bénéficié de la stratégie de mise à jour de rang élevé. Le rapport d’exactitude de formation au niveau du caractère à différentes étapes de formation est résumé dans le tableau suivant. 
Comme on peut le voir, par rapport à LoRA, le cadre MoRA prend moins d’étapes de formation pour mémoriser les paires d’UUID.
Tâches de fine-tuning
Pour évaluer ses performances sur les tâches de fine-tuning, le cadre MoRA est évalué sur trois tâches de fine-tuning : l’ajustement des instructions, le raisonnement mathématique et la pré-formation continue, conçues pour les grands modèles de langage, ainsi qu’un ensemble de données de haute qualité correspondant pour les modèles MoRA et LoRA. Les résultats des tâches de fine-tuning sont présentés dans le tableau suivant.

Comme on peut le voir, sur les tâches de raisonnement mathématique et d’ajustement des instructions, les modèles LoRA et MoRA offrent des performances similaires. Cependant, le modèle MoRA se démarque du cadre LoRA sur les tâches de pré-formation continue pour les domaines biomédicaux et financiers, en bénéficiant de l’approche de mise à jour de rang élevé pour mémoriser de nouvelles connaissances. De plus, il est essentiel de comprendre que les trois tâches sont différentes les unes des autres, avec des exigences différentes et des capacités de fine-tuning différentes.
Pré-formation
Pour évaluer l’influence de la mise à jour de rang élevé sur les performances globales, le transformateur dans le cadre MoRA est formé à partir de zéro sur les ensembles de données C4, et les performances sont comparées aux modèles LoRA et ReLoRA. La perte de pré-formation ainsi que la complexité correspondante sur l’ensemble de données C4 sont démontrées dans les figures suivantes.


Comme on peut le voir, le modèle MoRA offre de meilleures performances sur les tâches de pré-formation par rapport aux modèles LoRA et ReLoRA avec le même nombre de paramètres formables.
De plus, pour démontrer l’impact de la mise à jour de rang élevé sur le rang de la matrice de mise à jour de rang faible, le cadre MoRA analyse le spectre des valeurs singulières pour la matrice de mise à jour de rang faible apprise en pré-formant le modèle de 250 millions de paramètres, et les résultats sont contenus dans l’image suivante.

Pensées finales
Dans cet article, nous avons discuté de savoir si la mise à jour de rang faible affecte les performances du cadre LoRA, car il a été observé que le mécanisme de mise à jour de rang faible pourrait entraver la capacité du modèle de langage à apprendre et à mémoriser de nouvelles connaissances. En nous appuyant sur cela, dans cet article, nous allons discuter de MoRA, une nouvelle méthode qui atteint une mise à jour de rang élevé tout en maintenant le même nombre de paramètres formables, en utilisant une matrice carrée. Pour cela, le cadre MoRA réduit la dimension d’entrée et augmente la dimension de sortie pour la matrice carrée en introduisant les opérateurs non paramétrés correspondants. De plus, ces opérateurs assurent que le poids peut être fusionné à nouveau dans les LLM, ce qui rend le cadre MoRA déployable comme LoRA.












