Suivez nous sur

Intelligence artificielle

MoRA : mise à jour de haut rang pour un réglage fin efficace des paramètres

mm

Publié le

 on

En raison de ses performances robustes et de sa large applicabilité par rapport à d'autres méthodes, LoRA ou Low-Rank Adaption est l'une des méthodes PEFT ou Parameter Efficient Fine-Tuning les plus populaires pour affiner un grand modèle de langage. Le framework LoRA utilise deux matrices de bas rang pour décomposer et se rapprocher des poids mis à jour dans la FFT ou Full Fine Tuning, et le framework LoRA modifie ces paramètres entraînables en conséquence en ajustant le rang des matrices. Le principal avantage de la mise en œuvre du processus est qu'il permet au cadre LoRA de fusionner ces matrices sans latence d'inférence après un réglage fin. En outre, bien que les grands modèles de langage récents offrent des performances remarquables sur les tâches d’apprentissage en contexte, certains scénarios nécessitent encore des ajustements et peuvent être globalement classés en trois types. Le premier type, le réglage des instructions, vise à mieux aligner les LLM sur les tâches finales et les préférences de l'utilisateur 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 globales spécifiques au domaine des grands modèles de langage. 

Dans cet article, nous verrons si la mise à jour de bas rang a un impact sur 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. Sur la même base, dans cet article, nous parlerons de MoRA, une nouvelle méthode qui permet d'obtenir une mise à jour de haut rang tout en conservant le même nombre de paramètres pouvant être entraînés, en employant une matrice carrée. Pour y parvenir, le cadre MoRA réduit la dimension d'entrée et augmente la dimension de sortie de la matrice carrée en introduisant les opérateurs non paramétriques correspondants. De plus, ces opérateurs garantissent que le poids peut être réintégré dans les LLM, ce qui rend le cadre MoRA déployable comme LoRA. 

Cet article vise à couvrir le framework MoRA en profondeur et nous explorons le mécanisme, la méthodologie, l'architecture du framework ainsi que sa comparaison avec les frameworks de pointe. Alors, commençons. 

MoRA : mise à jour de haut rang pour PEFT

À mesure que la taille et les capacités des modèles de langage augmentent, le PEFT ou Parameter Efficient Fine-Tuning apparaît comme l'une des méthodes les plus populaires et les plus efficaces pour adapter les LLM à des tâches spécifiques en aval. Comparé à FFT ou Full Fine Tuning, qui met à jour tous les paramètres, PEFT ne modifie qu'une fraction du total des paramètres car sur certaines tâches, il peut atteindre des performances similaires à celles de FFT en mettant à jour moins de 1 % du total des paramètres, réduisant ainsi les besoins en mémoire de l'optimiseur. de manière significative tout en facilitant le stockage et le déploiement des modèles. De plus, parmi toutes les méthodes PEFT existantes, LoRA est aujourd’hui la plus populaire, notamment pour les LLM. L'une des principales raisons pour lesquelles les méthodes LoRA offrent de meilleures performances par rapport aux méthodes PEFT telles que les adaptateurs ou le réglage rapide est que LoRA utilise des matrices de bas rang pour mettre à jour les paramètres, le framework ayant le contrôle de fusionner ces matrices dans les paramètres du modèle d'origine, sans s'ajoutant aux exigences de calcul lors de 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 majorité de ces modèles s'appuient sur GLUE pour valider leur efficacité, soit en exigeant peu de paramètres entraînables, soit en obtenant de meilleures performances. 

En outre, les expériences menées sur LoRA dans un large éventail de tâches, notamment la pré-formation continue, le raisonnement mathématique et le réglage des instructions, indiquent que, bien que les cadres basés sur LoRA démontrent des performances similaires dans ces tâches, ils offrent des performances sur les tâches de réglage des instructions comparables aux méthodes basées sur la FFT. Cependant, les modèles basés sur LoRA n'ont pas pu reproduire les performances lors des tâches de pré-entraînement continu et de raisonnement mathématique. Une explication possible de ce manque de performances peut être le recours à LoRA pour les mises à jour de matrice de bas rang, puisque la matrice de mise à jour de bas rang pourrait avoir du mal à estimer les mises à jour de rang complet dans FFT, en particulier dans les tâches gourmandes en mémoire qui nécessitent la mémorisation de domaines. connaissances spécifiques comme une préformation continue. Étant donné que le rang de la matrice de mise à jour de bas rang est inférieur au rang complet, il limite la capacité de stockage de nouvelles informations à l'aide d'un réglage fin. En s'appuyant sur ces observations, le MoRA tente de maximiser le rang dans la matrice de mise à jour de bas rang tout en conservant le même nombre de paramètres pouvant être entraînés, en employant une matrice carrée par opposition à l'utilisation de matrices de bas rang dans les modèles traditionnels basés sur LoRA. La figure suivante compare le cadre MoRA avec LoRA pour le même nombre de paramètres pouvant être entraînés. 

Dans l'image ci-dessus, (a) représente LoRA et (b) représente MoRA. W est le poids gelé 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 plus grande capacité que les modèles basés sur LoRA avec un rang élevé. De plus, le cadre MoRA développe des opérateurs non paramétriques correspondants pour réduire la dimension d'entrée et augmenter la dimension de sortie de la matrice entraînable M. De plus, le cadre MoRA offre la flexibilité d'utiliser une matrice de mise à jour de bas rang pour remplacer la matrice entraînable M et les opérateurs, garantissant que la méthode MoRA peut être fusionnée dans le grand modèle de langage comme LoRA. Le tableau suivant compare les performances des variantes FFT, LoRA, LoRA et de notre méthode sur le réglage des instructions, le raisonnement mathématique et les tâches continues de pré-entraînement. 

MoRA : Méthodologie et Architecture

L'influence de la mise à jour de bas rang

Le principe clé des modèles basés sur 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ètres pré-entraînée donnée, LoRA utilise deux matrices de bas rang pour calculer la mise à jour du poids. POUR garantir que les mises à jour de poids sont 0 lorsque l'entraînement commence, le cadre LoRA initialise l'une des matrices de bas rang avec une distribution gaussienne tandis que l'autre avec 0. La mise à jour globale du poids dans LoRA présente un rang bas par rapport au réglage fin. dans FFT, bien que la mise à jour de bas rang dans LoRA offre des performances comparables à la mise à jour de rang complet sur des tâches spécifiques, notamment le réglage des instructions et la classification de texte. Cependant, les performances du cadre LoRA commencent à se détériorer pour des tâches telles que la pré-formation continue et le raisonnement complexe. Sur la base de ces observations, MoRA propose qu'il est plus facile d'exploiter les capacités et les connaissances originales du LLM pour résoudre des tâches à l'aide de mises à jour de bas rang, mais que le modèle a du mal à effectuer des tâches qui nécessitent d'améliorer les capacités et les connaissances du système. grand modèle de langage

Méthodologie

Bien que les LLM avec apprentissage en contexte constituent une amélioration majeure des performances par rapport aux approches précédentes, il existe encore des contextes qui reposent sur un réglage fin, répartis en trois catégories. Il existe des LLM ajustant les instructions, en s'alignant sur les tâches et les préférences de l'utilisateur, ce qui n'augmente pas considérablement les connaissances et les capacités des LLM. Cela facilite le travail sur plusieurs tâches et la compréhension d’instructions complexes. Un autre type consiste à impliquer des tâches de raisonnement complexes qui s'apparentent à la résolution de problèmes mathématiques pour lesquelles le réglage général des instructions est insuffisant lorsqu'il s'agit de gérer des tâches de raisonnement symboliques complexes en plusieurs étapes. La plupart des recherches connexes visent à améliorer les capacités de raisonnement des LLM, et nécessitent soit de concevoir des ensembles de données de formation correspondants, basés sur des modèles d'enseignants plus larges tels que GPT-4 ou reformuler des questions correspondant à une justification tout au long d'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 au réglage des instructions, un réglage fin est nécessaire pour enrichir les connaissances et les compétences spécifiques au domaine concerné. 

Néanmoins, la majorité des variantes de LoRA utilisent presque exclusivement des tâches de réglage des instructions GLUE ou de classification de texte pour évaluer leur efficacité dans le contexte des LLM. Étant donné que le réglage fin des instructions nécessite le moins de ressources par rapport aux autres types, il peut ne pas représenter une comparaison appropriée entre les variantes de LoRA. L’ajout de tâches de raisonnement pour mieux évaluer leurs méthodes est une pratique courante dans les travaux plus récents. Cependant, nous utilisons généralement de petits ensembles de formation (même avec 1 million d'exemples, ce qui est assez volumineux). Les LLMS ont du mal à apprendre le raisonnement approprié à partir d’exemples de cette taille. Par exemple, certaines approches utilisent le GSM8K avec seulement 7.5 395 épisodes de formation. Cependant, ces chiffres sont inférieurs à ceux de la méthode SOTA qui a été entraînée sur XNUMX XNUMX échantillons et il est difficile de juger de la capacité de ces méthodes à apprendre le pouvoir de raisonnement de la PNL.

Sur la base des observations de l'influence de la mise à jour de bas rang, le cadre MoRA propose une nouvelle méthode pour atténuer les effets négatifs de la mise à jour de bas rang. Le principe de base du cadre MoRA est d'utiliser les mêmes paramètres entraînables dans la mesure du possible pour atteindre un rang plus élevé dans la matrice de mise à jour de bas rang. Après avoir pris en compte les poids pré-entraînés, le cadre LoRA utilise deux matrices de bas rang A et B avec le total des paramètres entraînables pour le rang r. Cependant, pour le même nombre de paramètres pouvant être entraînés, une matrice carrée peut atteindre le rang le plus élevé, et le cadre MoRA y parvient en réduisant la dimension d'entrée et en augmentant la dimension de sortie de la matrice carrée pouvant être entraînée. De plus, ces deux fonctions doivent être des opérateurs non paramétrés et censés s'exécuter en temps linéaire correspondant à la dimension. 

MoRA : expériences et résultats

Pour évaluer ses performances, le framework MoRA est évalué sur un large éventail de tâches afin de comprendre l'influence de la mise à jour de haut rang sur trois tâches : la mémorisation des paires UUID, le réglage fin des tâches et la pré-formation. 

Mémorisation des paires UUID

Pour démontrer les améliorations de performances, le framework MoRA est comparé aux frameworks FFT et LoRA sur la mémorisation des paires UUID. La perte de formation résultant de l'expérience est reflétée dans l'image suivante. 

Il convient de noter que pour le même nombre de paramètres pouvant être entraînés, le cadre MoRA est capable de surpasser les modèles LoRA existants, ce qui indique qu'il a bénéficié de la stratégie de mise à jour de haut rang. Le rapport sur la précision de la formation au niveau des personnages à différentes étapes de formation est résumé dans le tableau suivant.

Comme on peut l'observer, par rapport à LoRA, le framework MoRA nécessite moins d'étapes de formation pour mémoriser les paires UUID. 

Tâches de réglage fin

Pour évaluer ses performances sur les tâches de réglage fin, le cadre MoRA est évalué sur trois tâches de réglage fin : le réglage des instructions, le raisonnement mathématique et la pré-formation continue, conçue pour grands modèles de langage, ainsi qu'un ensemble de données correspondant de haute qualité pour les modèles MoRA et LoRA. Les résultats des tâches de réglage fin sont présentés dans le tableau suivant. 

Comme on peut l’observer, sur les tâches de raisonnement mathématique et de réglage des instructions, les modèles LoRA et MoRA renvoient des performances similaires. Cependant, le modèle MORA émerge avant le cadre LoRA sur les tâches de pré-formation continue dans les domaines biomédical et financier, bénéficiant d'une approche de mise à jour de haut niveau pour mémoriser de nouvelles connaissances. En outre, 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 réglage différentes. 

Pré-formation

Pour évaluer l'influence de la mise à jour de haut rang 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 pré-entraînement ainsi que la complexité correspondante sur l'ensemble de données C4 sont démontrées dans les figures suivantes. 

Comme on peut l'observer, le modèle MoRA offre de meilleures performances sur les tâches de pré-entraînement par rapport aux modèles LoRA et ReLoRA avec le même nombre de paramètres pouvant être entraînés. 

De plus, pour démontrer l'impact de la mise à jour de haut rang sur le rang de la matrice de mise à jour de bas rang, le cadre MoRA analyse le spectre des valeurs singulières de la matrice de mise à jour de bas rang apprise en pré-entraînant le modèle 250M, et les résultats sont contenus dans l’image suivante. 

Réflexions finales

Dans cet article, nous avons discuté de la question de savoir si la mise à jour de bas rang avait un impact sur 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. Sur la même base, dans cet article, nous parlerons de MoRA, une nouvelle méthode qui permet d'obtenir une mise à jour de haut rang tout en conservant le même nombre de paramètres pouvant être entraînés, en employant une matrice carrée. Pour y parvenir, le cadre MoRA réduit la dimension d'entrée et augmente la dimension de sortie de la matrice carrée en introduisant les opérateurs non paramétriques correspondants. De plus, ces opérateurs garantissent que le poids peut être réintégré dans les LLM, ce qui rend le cadre MoRA déployable comme LoRA.  

« Ingénieur de profession, écrivain de cœur ». Kunal est un rédacteur technique avec un amour et une compréhension profonds de l'IA et du ML, dédié à la simplification de concepts complexes dans ces domaines grâce à sa documentation engageante et informative.