Connect with us

MoRA: Hochrangiges Aktualisieren für Parameter-Effiziente Feinabstimmung

Künstliche Intelligenz

MoRA: Hochrangiges Aktualisieren für Parameter-Effiziente Feinabstimmung

mm

Aufgrund seiner robusten Leistung und breiten Anwendbarkeit im Vergleich zu anderen Methoden ist LoRA oder Low-Rank-Anpassung eine der beliebtesten PEFT- oder Parameter-Effizienten Feinabstimmungsmethoden für die Feinabstimmung eines großen Sprachmodells. Das LoRA-Framework verwendet zwei niedrigrangige Matrizen, um die Gewichtsaktualisierungen zu dekomponieren und zu approximieren, und passt diese trainierbaren Parameter entsprechend an, indem es den Rang der Matrizen anpasst. Der Hauptvorteil der Implementierung dieses Prozesses besteht darin, dass es das LoRA-Framework ermöglicht, diese Matrizen ohne Inferenzverzögerung nach der Feinabstimmung zu mergen. Darüber hinaus liefern große Sprachmodelle, obwohl sie bemerkenswerte Leistungen bei In-Context-Lernalufgaben erbringen, in bestimmten Szenarien immer noch Feinabstimmung und können in drei Kategorien unterteilt werden. Die erste Kategorie, Anweisungsfeinabstimmung, zielt darauf ab, LLMs besser an Endaufgaben und Benutzervorlieben anzupassen, ohne das Wissen und die Fähigkeiten von LLMs zu verbessern, ein Ansatz, der den Umgang mit verschiedenen Aufgaben und komplexen Anweisungen vereinfacht. Die zweite Kategorie umfasst komplexe Denkaufgaben wie mathematisches Problemlösen. Schließlich ist die dritte Kategorie kontinuierliche Vorfeinabstimmung, ein Ansatz, der versucht, die gesamten domänenpezifischen Fähigkeiten großer Sprachmodelle zu verbessern.

In diesem Artikel werden wir darüber sprechen, ob niedrigrangige Aktualisierung die Leistung des LoRA-Frameworks beeinträchtigt, da beobachtet wurde, dass die niedrigrangige Aktualisierungsmechanik die Fähigkeit des großen Sprachmodells, neue Kenntnisse zu erlernen und zu memorisieren, beeinträchtigen könnte. Aufbauend auf diesem Artikel werden wir über MoRA sprechen, eine neue Methode, die hochrangige Aktualisierung unter Beibehaltung der gleichen Anzahl trainierbarer Parameter erreicht, indem sie eine quadratische Matrix verwendet. Um dies zu erreichen, reduziert das MoRA-Framework die Eingabedimension und erhöht die Ausgabedimension für die quadratische Matrix, indem es die entsprechenden nicht-parametrischen Operatoren einführt. Darüber hinaus stellen diese Operatoren sicher, dass das Gewicht in LLMs zurückgemergt werden kann, was das MoRA-Framework wie LoRA einsetzbar macht.

Dieser Artikel soll das MoRA-Framework in die Tiefe beleuchten, und wir erforschen den Mechanismus, die Methodik, die Architektur des Frameworks sowie seinen Vergleich mit State-of-the-Art-Frameworks. Also los geht’s.

MoRA: Hochrangiges Aktualisieren für PEFT

Da die Größe und die Fähigkeiten der Sprachmodelle zunehmen, wird PEFT oder Parameter-Effiziente Feinabstimmung zu einer der beliebtesten und effizientesten Methoden, um LLMs auf spezifische Downstream-Aufgaben anzupassen. Im Vergleich zu FFT oder Vollständiger Feinabstimmung, die alle Parameter aktualisiert, aktualisiert PEFT nur einen Bruchteil der Gesamtparameter, was auf einigen Aufgaben ähnliche Leistungen wie FFT erzielen kann, indem weniger als 1% der Gesamtparameter aktualisiert werden, was die Speicheranforderungen für den Optimierer erheblich reduziert und die Speicherung und Bereitstellung von Modellen erleichtert. Darüber hinaus ist LoRA unter allen bestehenden PEFT-Methoden die heute am meisten verwendete, insbesondere für LLMs. Einer der Hauptgründe, warum LoRA-Methoden bessere Leistungen als PEFT-Methoden wie Adapter oder Prompt-Tuning erbringen, liegt darin, dass LoRA niedrigrangige Matrizen verwendet, um Parameter zu aktualisieren, wobei das Framework die Kontrolle über die Mergen dieser Matrizen in die ursprünglichen Modellparameter ohne zusätzliche Rechenanforderungen während der Inferenz hat. Obwohl es zahlreiche Methoden gibt, die versuchen, LoRA für große Sprachmodelle zu verbessern, basieren die meisten dieser Modelle auf GLUE, um ihre Effizienz zu validieren, entweder durch die Anforderung weniger trainierbarer Parameter oder durch die Erzielung besserer Leistungen.

Darüber hinaus zeigen Experimente, die mit LoRA durchgeführt wurden, dass LoRA-basierte Frameworks, obwohl sie ähnliche Leistungen auf einer breiten Palette von Aufgaben, einschließlich kontinuierlicher Vorfeinabstimmung, mathematischem Denken und Anweisungsfeinabstimmung, erbringen, nicht in der Lage sind, die Leistung auf kontinuierlicher Vorfeinabstimmung und mathematischem Denken zu wiederholen. Eine mögliche Erklärung für diese mangelnde Leistung kann die Abhängigkeit von LoRA von niedrigrangigen Matrixaktualisierungen sein, da die niedrigrangige Aktualisierungsmatrix Schwierigkeiten haben kann, die vollrangigen Aktualisierungen in FFT zu schätzen, insbesondere bei speicherintensiven Aufgaben, die das Memorieren domänenpezifischer Kenntnisse wie kontinuierliche Vorfeinabstimmung erfordern. Da der Rang der niedrigrangigen Aktualisierungsmatrix kleiner ist als der vollrangige Rang, begrenzt er die Fähigkeit, neue Informationen mithilfe der Feinabstimmung zu speichern. Aufbauend auf diesen Beobachtungen versucht MoRA, den Rang in der niedrigrangigen Aktualisierungsmatrix zu maximieren, während die gleiche Anzahl trainierbarer Parameter beibehalten wird, indem eine quadratische Matrix verwendet wird, im Gegensatz zur Verwendung niedrigrangiger Matrizen in herkömmlichen LoRA-Modellen. Die folgende Abbildung vergleicht das MoRA-Framework mit LoRA unter der gleichen Anzahl trainierbarer Parameter.

In der obigen Abbildung stellt (a) LoRA und (b) MoRA dar. W ist das eingefrorene Gewicht aus dem Modell, M ist die trainierbare Matrix in MoRA, A und B sind trainierbare niedrigrangige Matrizen in LoRA und r stellt den Rang in LoRA und MoRA dar. Wie zu sehen ist, weist das MoRA-Framework eine größere Kapazität als LoRA-basierte Modelle mit großem Rang auf. Darüber hinaus entwickelt das MoRA-Framework entsprechende nicht-parametrische Operatoren, um die Eingabedimension und die Ausgabedimension für die trainierbare Matrix M zu reduzieren. Darüber hinaus gewährt das MoRA-Framework die Flexibilität, eine niedrigrangige Aktualisierungsmatrix zu verwenden, um die trainierbare Matrix M und die Operatoren zu ersetzen, was sicherstellt, dass die MoRA-Methode in das große Sprachmodell wie LoRA zurückgemergt werden kann. Die folgende Tabelle vergleicht die Leistung von FFT, LoRA, LoRA-Varianten und unserer Methode auf Anweisungsfeinabstimmung, mathematischem Denken und kontinuierlicher Vorfeinabstimmung.

MoRA: Methodik und Architektur

Der Einfluss niedrigrangiger Aktualisierung

Das Schlüsselprinzip von LoRA-basierten Modellen besteht darin, vollrangige Aktualisierungen in FFT mithilfe niedrigrangiger Aktualisierungen zu schätzen. Traditionell verwendet LoRA für eine gegebene vorgefertigte Parametermatrix zwei niedrigrangige Matrizen, um die Gewichtsaktualisierung zu berechnen. Um sicherzustellen, dass die Gewichtsaktualisierungen 0 sind, wenn die Ausbildung beginnt, initialisiert LoRA eine der niedrigrangigen Matrizen mit einer Gauß-Verteilung und die andere mit 0. Die Gesamtgewichtsaktualisierung in LoRA weist einen niedrigen Rang auf im Vergleich zur Feinabstimmung in FFT, obwohl die niedrigrangige Aktualisierung in LoRA Leistungen auf demselben Niveau wie die vollrangige Aktualisierung auf bestimmten Aufgaben wie Anweisungsfeinabstimmung und Textklassifikation erbringt. Allerdings beginnt die Leistung des LoRA-Frameworks bei Aufgaben wie kontinuierlicher Vorfeinabstimmung und komplexem Denken zu verschlechtern. Auf der Grundlage dieser Beobachtungen schlägt MoRA vor, dass es einfacher ist, die Fähigkeiten und das ursprüngliche Wissen von LLMs zu nutzen, um Aufgaben mithilfe niedrigrangiger Aktualisierungen zu lösen, aber das Modell Schwierigkeiten hat, Aufgaben zu lösen, die die Verbesserung der Fähigkeiten und des Wissens von LLMs erfordern.

Methodik

Obwohl LLMs mit In-Context-Lernen eine wesentliche Leistungsverbesserung gegenüber früheren Ansätzen darstellen, gibt es immer noch Kontexte, die auf Feinabstimmung angewiesen sind, die sich in drei Kategorien unterteilen lassen. Es gibt LLMs, die für Anweisungen feinabgestimmt werden, um LLMs besser an Benutzeraufgaben und -präferenzen anzupassen, ohne das Wissen und die Fähigkeiten von LLMs zu verbessern, ein Ansatz, der den Umgang mit verschiedenen Aufgaben und komplexen Anweisungen vereinfacht. Ein weiterer Typ umfasst komplexe Denkaufgaben wie mathematisches Problemlösen, für die allgemeine Anweisungsfeinabstimmung nicht ausreicht, um komplexe symbolische mehrschrittige Denkaufgaben zu bewältigen. Die meisten damit verbundenen Forschungen zielen darauf ab, die Denkfähigkeiten von LLMs zu verbessern und erfordern entweder die Erstellung entsprechender Trainingsdatensätze auf der Grundlage größerer Lehrermodelle wie GPT-4 oder die Umformulierung von Begründungen entsprechenden Fragen entlang eines Denkpfads. Der dritte Typ, kontinuierliche Vorfeinabstimmung, zielt darauf ab, die domänenpezifischen Fähigkeiten von LLMs zu verbessern. Im Gegensatz zur Anweisungsfeinabstimmung erfordert die Feinabstimmung die Anreicherung von domänenpezifischem Wissen und Fähigkeiten.

Trotzdem verwenden die meisten LoRA-Varianten fast ausschließlich GLUE-Anweisungsfeinabstimmung oder Textklassifikationsaufgaben, um ihre Effizienz im Kontext von LLMs zu bewerten. Da die Feinabstimmung für Anweisungsfeinabstimmung im Vergleich zu anderen Aufgaben die wenigsten Ressourcen erfordert, kann sie möglicherweise nicht den richtigen Vergleich zwischen LoRA-Varianten darstellen. Die Hinzufügung von Denkaufgaben zur Bewertung ihrer Methoden ist in jüngeren Arbeiten eine gängige Praxis. Allerdings verwenden wir in der Regel kleine Trainingsdatensätze (selbst bei 1 Mio. Beispielen, was ziemlich groß ist). LLMs haben Schwierigkeiten, aus Beispielen dieser Größe angemessenes Denken zu lernen. Beispielsweise verwenden einige Ansätze das GSM8K mit nur 7,5 Tausend Trainingssequenzen. Diese Zahlen sind jedoch unzureichend, um die Fähigkeit dieser Methoden zu beurteilen, die Denkfähigkeiten von NLP zu erlernen.

Basierend auf den Beobachtungen zum Einfluss niedrigrangiger Aktualisierung schlägt das MoRA-Framework eine neue Methode vor, um die negativen Auswirkungen niedrigrangiger Aktualisierung zu mildern. Das grundlegende Prinzip des MoRA-Frameworks besteht darin, die gleichen trainierbaren Parameter in größtmöglichem Umfang zu verwenden, um einen höheren Rang in der niedrigrangigen Aktualisierungsmatrix zu erreichen. Nach der Berücksichtigung der vorgefertigten Gewichte verwendet LoRA zwei niedrigrangige Matrizen A und B mit insgesamt trainierbaren Parametern für den Rang r. Allerdings kann für die gleiche Anzahl trainierbarer Parameter eine quadratische Matrix den höchsten Rang erreichen, und das MoRA-Framework erreicht dies, indem es die Eingabedimension reduziert und die Ausgabedimension für die trainierbare quadratische Matrix erhöht. Darüber hinaus sollten diese beiden Funktionen nicht-parametrische Operatoren sein und in linearer Zeit entsprechend der Dimension ausgeführt werden.

MoRA: Experimente und Ergebnisse

Um seine Leistung zu bewerten, wird das MoRA-Framework auf einer breiten Palette von Aufgaben ausgewertet, um den Einfluss hochrangiger Aktualisierung auf drei Aufgaben zu verstehen: das Memorieren von UUID-Paaren, Feinabstimmungsaufgaben und Vorfeinabstimmung.

Memorieren von UUID-Paaren

Um die Verbesserungen in der Leistung zu demonstrieren, wird das MoRA-Framework mit FFT und LoRA auf dem Memorieren von UUID-Paaren verglichen. Der Trainingsverlust aus dem Experiment wird in der folgenden Abbildung reflektiert.

Es ist erwähnenswert, dass das MoRA-Framework für die gleiche Anzahl trainierbarer Parameter in der Lage ist, die bestehenden LoRA-Modelle zu übertreffen, was darauf hindeutet, dass es von der hochrangigen Aktualisierungsstrategie profitiert hat. Der Bericht über die Zeichen-genauigkeit bei der Ausbildung bei verschiedenen Trainingschritten wird in der folgenden Tabelle zusammengefasst.

Wie zu sehen ist, benötigt das MoRA-Framework im Vergleich zu LoRA weniger Trainingschritte, um die UUID-Paare zu memorieren.

Feinabstimmungsaufgaben

Um seine Leistung auf Feinabstimmungsaufgaben zu bewerten, wird das MoRA-Framework auf drei Feinabstimmungsaufgaben ausgewertet: Anweisungsfeinabstimmung, mathematisches Denken und kontinuierliche Vorfeinabstimmung, die für große Sprachmodelle konzipiert sind, zusammen mit einem hochwertigen entsprechenden Datensatz für sowohl das MoRA- als auch das LoRA-Modell. Die Ergebnisse der Feinabstimmungsaufgaben werden in der folgenden Tabelle präsentiert.

Wie zu sehen ist, erbringen sowohl das LoRA- als auch das MoRA-Modell auf mathematischem Denken und Anweisungsfeinabstimmung ähnliche Leistungen. Allerdings liegt das MoRA-Modell auf kontinuierlicher Vorfeinabstimmung vor dem LoRA-Framework, sowohl für biomedizinische als auch für finanzielle Domänen, und profitiert von der hochrangigen Aktualisierungsstrategie, um neue Kenntnisse zu memorieren. Darüber hinaus ist es wichtig zu verstehen, dass die drei Aufgaben voneinander unterschiedlich sind und unterschiedliche Anforderungen haben, und unterschiedliche Feinabstimmungsfähigkeiten.

Vorfeinabstimmung

Um den Einfluss hochrangiger Aktualisierung auf die Gesamtleistung zu bewerten, wird der Transformer im MoRA-Framework von Grund auf auf den C4-Datensätzen trainiert, und die Leistung wird mit dem LoRA- und ReLoRA-Modell verglichen. Der Vorfeinabstimmungsverlust sowie die entsprechende Komplexität auf dem C4-Datensatz werden in den folgenden Abbildungen demonstriert.

Wie zu sehen ist, erbringt das MoRA-Modell bessere Leistungen auf Vorfeinabstimmungsaufgaben im Vergleich zu LoRA- und ReLoRA-Modellen mit der gleichen Anzahl trainierbarer Parameter.

Darüber hinaus wird, um den Einfluss hochrangiger Aktualisierung auf den Rang der niedrigrangigen Aktualisierungsmatrix zu demonstrieren, das MoRA-Framework die Spektrum der Singulärwerte für die gelernte niedrigrangige Aktualisierungsmatrix analysiert, indem das 250-M-Modell vorgefeinabgestimmt wird, und die Ergebnisse werden in der folgenden Abbildung enthalten.

Letzte Gedanken

In diesem Artikel haben wir darüber gesprochen, ob niedrigrangige Aktualisierung die Leistung des LoRA-Frameworks beeinträchtigt, da beobachtet wurde, dass die niedrigrangige Aktualisierungsmechanik die Fähigkeit des großen Sprachmodells, neue Kenntnisse zu erlernen und zu memorieren, beeinträchtigen könnte. Aufbauend auf diesem Artikel werden wir über MoRA sprechen, eine neue Methode, die hochrangige Aktualisierung unter Beibehaltung der gleichen Anzahl trainierbarer Parameter erreicht, indem sie eine quadratische Matrix verwendet. Um dies zu erreichen, reduziert das MoRA-Framework die Eingabedimension und erhöht die Ausgabedimension für die quadratische Matrix, indem es die entsprechenden nicht-parametrischen Operatoren einführt. Darüber hinaus stellen diese Operatoren sicher, dass das Gewicht in LLMs zurückgemergt werden kann, was das MoRA-Framework wie LoRA einsetzbar macht.

Ein Ingenieur von Beruf, ein Schriftsteller von Herzen. Kunal ist ein technischer Schriftsteller mit einer tiefen Liebe und einem tiefen Verständnis für KI und ML, der sich der Aufgabe widmet, komplexe Konzepte in diesen Bereichen durch seine ansprechenden und informativen Dokumentationen zu vereinfachen.