Intelligence artificielle
MoRA: Mise à jour de haute rangée pour la mise à jour fine à rendement paramétrique
Grâce à ses performances robustes et à sa large applicabilité par rapport à d’autres méthodes, LoRA ou adaptation de bas rang est l’une des méthodes de mise à jour fine à rendement paramétrique (PEFT) les plus populaires pour la mise à jour fine d’un grand modèle de langage. Le cadre LoRA emploie deux matrices de bas rang pour décomposer et approximer les poids mis à jour dans la mise à jour fine complète (FFT), et le cadre LoRA modifie ces paramètres entraînables en conséquence 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 la mise à jour fine. De plus, même si les grands modèles de langage récents offrent des performances remarquables sur les tâches d’apprentissage en contexte, certaines situations nécessitent toujours une mise à jour fine et peuvent être classées en trois types. Le premier type, la mise à jour d’instruction, vise à aligner les modèles de langage (LLM) mieux avec 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 de domaine spécifique des grands modèles de langage.
Dans cet article, nous allons discuter de savoir si la mise à jour de bas rang affecte les performances du cadre LoRA, car il a été observé que le mécanisme de mise à jour de bas rang pourrait entraver la capacité du grand modèle de langage à apprendre et à mémoriser de nouvelles connaissances. En partant de là, dans cet article, nous allons discuter de MoRA, une nouvelle méthode qui atteint une mise à jour de haute rangée tout en maintenant le même nombre de paramètres entraînables, en utilisant une matrice carrée. Pour ce faire, 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 garantissent 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 de l’état de l’art. Alors, commençons.
MoRA : Mise à jour de haute rangée pour la mise à jour fine à rendement paramétrique
À mesure que la taille et les capacités des modèles de langage augmentent, la mise à jour fine à rendement paramétrique (PEFT) émerge comme l’une des méthodes les plus populaires et les plus efficaces pour adapter les LLM aux tâches en aval spécifiques. Par rapport à la mise à jour fine complète (FFT) qui met à jour tous les paramètres, la PEFT ne modifie qu’une fraction des paramètres totaux, car sur certaines tâches, elle peut atteindre des performances similaires à celles de la FFT en mettant à jour moins de 1 % des paramètres totaux, ce qui réduit ainsi 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 celle qui 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 la mise à jour de prompt est que LoRA utilise des matrices de bas rang pour mettre à jour les paramètres, avec un cadre qui a 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.
De plus, les expériences menées sur LoRA sur une large gamme de tâches, notamment la pré-formation continue, le raisonnement mathématique et la mise à jour d’instruction, indiquent que même si les cadres LoRA basés sur ces tâches démontrent des performances similaires et offrent des performances sur les tâches de mise à jour d’instruction comparables aux méthodes FFT, les modèles LoRA basés ne peuvent pas reproduire les performances sur les tâches de pré-formation continue et de raisonnement mathématique. Une explication possible de cette absence de performance peut être la dépendance de LoRA à la mise à jour de matrice de bas rang, car la matrice de mise à jour de bas rang 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 bas rang est inférieur au rang complet, il limite la capacité à stocker de nouvelles informations à l’aide de la mise à jour fine. En partant de ces observations, MoRA tente de maximiser le rang dans la matrice de mise à jour de bas rang tout en maintenant le même nombre de paramètres entraînables, en utilisant une matrice carrée au lieu de l’utilisation de matrices de bas rang dans les modèles LoRA traditionnels.
La figure suivante compare le cadre MoRA avec LoRA sous le même nombre de paramètres entraînables.

Dans 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 entraînable dans MoRA, A et B sont des matrices de bas rang entraînables dans LoRA, et r représente le rang dans LoRA et MoRA. Comme on peut l’observer, le cadre MoRA démontre une capacité plus grande que les modèles LoRA avec un grand rang.
MoRA : Méthodologie et architecture
L’influence de la mise à jour de bas rang
Le principe clé des modèles LoRA est d’estimer les mises à jour de rang complet dans la FFT en utilisant des mises à jour de bas rang. Traditionnellement, pour une matrice de paramètre pré-entraînée donnée, LoRA utilise deux matrices de bas rang pour calculer la mise à jour de poids.
Méthodologie
Bien que les LLM avec apprentissage en contexte soient une amélioration majeure par rapport aux approches précédentes, il existe encore des contextes qui dépendent de la mise à jour fine, qui peuvent être classés en trois catégories. Il y a les LLM de mise à jour d’instruction, en alignant avec les tâches et les préférences des utilisateurs, qui n’augmentent pas considérablement les connaissances et les capacités des LLM, ce qui facilite le traitement de multiples tâches et la compréhension d’instructions complexes.
La majorité des variantes de LoRA utilisent presque exclusivement GLUE pour évaluer leur efficacité dans le contexte des LLM. Puisque la mise à jour fine pour la mise à jour d’instruction nécessite les moins de ressources par rapport aux autres types, elle peut ne pas représenter une comparaison appropriée entre les variantes de LoRA.
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 haute rangée sur trois tâches : la mémorisation de paires d’UUID, les tâches de mise à jour fine et la pré-formation.
Mémorisation de paires d’UUID
Pour démontrer les améliorations de performance, le cadre MoRA est comparé à la FFT et aux cadres LoRA sur la mémorisation de paires d’UUID.

Tâches de mise à jour fine
Pour évaluer ses performances sur les tâches de mise à jour fine, le cadre MoRA est évalué sur trois tâches de mise à jour fine : la mise à jour d’instruction, 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.

Pré-formation
Pour évaluer l’influence de la mise à jour de haute rangée 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.


Pensées finales
Dans cet article, nous avons discuté de savoir si la mise à jour de bas rang affecte les performances du cadre LoRA, car il a été observé que le mécanisme de mise à jour de bas rang pourrait entraver la capacité du grand modèle de langage à apprendre et à mémoriser de nouvelles connaissances. En partant de là, dans cet article, nous allons discuter de MoRA, une nouvelle méthode qui atteint une mise à jour de haute rangée tout en maintenant le même nombre de paramètres entraînables, en utilisant une matrice carrée.












