Was ist LoRA (Low-Rank-Adaptation)?

Autor

Joshua Noble

Data Scientist

Was ist LoRA?

Low-Rank-Adaption (LoRA) ist eine Technik, mit der maschinelle Lernmodelle an neue Kontexte angepasst werden. Sie kann große Modelle an bestimmte Verwendungszwecke anpassen, indem sie dem ursprünglichen Modell leichte Teile hinzufügt, anstatt das gesamte Modell zu ändern. Ein Data Scientist kann schnell die Möglichkeiten erweitern, wie ein Modell verwendet werden kann, anstatt dass er ein völlig neues Modell erstellen muss.

Die Technik wurde ursprünglich von Edward Hu, Yelong Shen und Mitarbeitern in ihrer Arbeit LoRA: Low-Rank Adaptation Of Large Language Models 1 veröffentlicht. In der Arbeit zeigten sie, dass Modelle, die mit LoRA reduziert und neu trainiert wurden, bei einer Reihe von Benchmark-Aufgaben die Basismodelle übertrafen. Die Modellleistung könnte verbessert werden, ohne dass eine vollständige Feinabstimmung erforderlich ist und indem eine deutlich geringere Anzahl trainierbarer Modellparameter verwendet wird.

Die neuesten KI-Trends, präsentiert von Experten

Erhalten Sie kuratierte Einblicke in die wichtigsten – und faszinierendsten – KI-Neuheiten. Abonnieren Sie unseren wöchentlichen Think-Newsletter. Weitere Informationen in der IBM Datenschutzerklärung.

Vielen Dank! Sie haben ein Abonnement abgeschlossen.

Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.

Was macht LoRA?

Die Einrichtung großer und komplexer maschineller Lernmodelle, wie sie für große Sprachmodelle (LLMs) wie ChatGPT verwendet werden, erfordert viel Zeit und zahlreiche Ressourcen. Sie können Billionen von Parametern haben, die auf bestimmte Werte eingestellt sind. Sobald dieser Prozess abgeschlossen ist, mag das Modell im Allgemeinen leistungsfähig und genau sein, aber es ist nicht unbedingt fein abgestimmt, um bestimmte Aufgaben auszuführen.

Um ein Modell in bestimmten Kontexten zum Laufen zu bringen, kann dies ein erhebliches erneutes Training erfordern, bei dem alle Parameter geändert werden. Aufgrund der Anzahl von Parametern in solchen Modellen ist dieses erneute Training teuer und zeitaufwändig. LoRA bietet eine schnelle Möglichkeit, das Modell anzupassen, ohne es erneut zu trainieren.

Zum Beispiel erfordert eine vollständige Feinabstimmung des GPT-3-Modells aufgrund der Größe des Trainingsdatensatzes das Training von 175 Milliarden Parametern. Mit LoRa können die trainierbaren Parameter für GPT-3 auf etwa 18 Millionen Parameter reduziert werden, was den GPU-Speicherbedarf um etwa zwei Drittel reduziert.

LoRA ist nicht die einzige effiziente Feinabstimmungsmethode. Eine Variante von LoRa ist Quantisierung LoRa (QLora), eine Feinabstimmungstechnik, die eine hochpräzise Rechentechnik mit einer Speichermethode mit niedriger Präzision kombiniert. Dies trägt dazu bei, die Modellgröße klein zu halten und gleichzeitig sicherzustellen, dass das Modell weiterhin hochleistungsfähig und genau ist.

Mixture of Experts | 12. Dezember, Folge 85

KI entschlüsseln: Wöchentlicher Nachrichtenüberblick

Schließen Sie sich unserer erstklassigen Expertenrunde aus Ingenieuren, Forschern, Produktführern und anderen an, die sich durch das KI-Rauschen kämpfen, um Ihnen die neuesten KI-Nachrichten und Erkenntnisse zu liefern.

So funktioniert LoRa

Anstatt das gesamte Modell neu zu trainieren, friert LoRA die ursprünglichen Gewichtungen und Parameter des Modells so ein, wie sie sind. Zusätzlich zu diesem ursprünglichen Modell wird dann eine leichte Ergänzung, eine Low-Rank-Matrix, hinzugefügt, die dann auf neue Eingaben angewendet wird, um kontextspezifische Ergebnisse zu erhalten. Die Low-Rank-Matrix passt sich an die Gewichtungen des ursprünglichen Modells an, sodass die Ausgaben dem gewünschten Anwendungsfall entsprechen.

LoRA nutzt das Konzept von Lower-Rank-Matrizen, um den Prozess des Modelltrainings extrem effizient und schnell zu gestalten. Die herkömmliche Feinabstimmung von LLMs erfordert die Anpassung des gesamten Modells. LoRA konzentriert sich auf die Modifikation einer kleineren Teilmenge von Parametern (Lower-Rank-Matrizen), um den Rechen- und Speicheraufwand zu reduzieren.

Das Diagramm zeigt, wie LoRA die Matrizen A und B aktualisiert, um Änderungen in den vortrainierten Gewichtungen zu verfolgen, indem es kleinere Matrizen mit Rang r verwendet. Sobald das LoRa-Training abgeschlossen ist, werden kleinere Gewichtungen zu einer neuen Gewichtungsmatrix zusammengeführt, ohne dass die ursprünglichen Gewichtungen des vortrainierten Modells geändert werden müssen.

Ein Bild, das zeigt, wie eine Low-Rank-Anpassung die Modellgröße reduziert

LoRA basiert auf der Erkenntnis, dass große Modelle von Natur aus eine niedrigdimensionale Struktur besitzen. Durch die Nutzung kleinerer Matrizen, die als Low-Rank-Matrizen bezeichnet werden, passt LoRA diese Modelle effektiv an. Diese Methode konzentriert sich auf das Kernkonzept, dass signifikante Modelländerungen mit weniger Parametern dargestellt werden können, was den Anpassungsprozess effizienter macht.

Matrizen sind ein wichtiger Bestandteil der Funktionsweise von maschinellen Lernmodellen und neuronalen Netzen. Matrizen mit niedrigem Rang sind kleiner und haben viel weniger Werte als größere Matrizen oder jene mit höherem Rang. Sie nehmen nicht viel Speicher in Anspruch und erfordern weniger Schritte zum Addieren oder Multiplizieren, wodurch sie von Computern schneller verarbeitet werden können.

Eine High-Rank-Matrix kann in zwei Low-Rank-Matrizen zerlegt werden, eine 4 x 4-Matrix kann in eine 4 x 1- und eine 1 x 4-Matrix zerlegt werden.

Ein Bild, das zeigt, wie eine 4 x 4 Matrix in eine 1 x 4 und 4 x 1 Matrix reduziert werden kann

LoRA fügt dem eingefrorenen ursprünglichen maschinellen Lernmodell Low-Rank-Matrizen hinzu. Die Low-Rank-Matrizen werden während der Feinabstimmung durch einen Gradientenabstieg aktualisiert, ohne die Gewichtungen des Basismodells zu verändern. Diese Matrizen enthalten neue Gewichtungen, die bei der Generierung von Ergebnissen auf das Modell angewendet werden. Die multiplizierte Änderungsmatrix wird zu den Gewichtungen des Basismodells hinzugefügt, um das endgültige, feinabgestimmte Modell zu erhalten. Dieser Prozess ändert die Ausgaben, die das Modell mit minimaler Rechenleistung und Trainingszeit erzeugt.

Im Wesentlichen lässt LoRA das ursprüngliche Modell unverändert und fügt kleine, veränderliche Teile zu jeder Schicht des Modells hinzu. Dadurch werden die trainierbaren Parameter des Modells und der GPU-Speicherbedarf für den Trainingsprozess erheblich reduziert, was eine weitere große Herausforderung bei der Feinabstimmung oder dem Training großer Modelle darstellt.

Um die LoRa-Feinabstimmung mit HuggingFace mithilfe von Python und PyTorch zu implementieren, können Entwickler die Parameter-Efficient Fine-Tuning-Bibliothek (PEFT) verwenden, um die LoRa-Adapter in das Modell einzufügen und sie als Aktualisierungsmatrizen zu verwenden. Diese Bibliothek ist frei verfügbar über HuggingFace oder GitHub. Diese Bibliothek bietet Möglichkeiten zum Konfigurieren von LoRA-Parametern für Ihr Modell. Einige der am häufigsten verwendeten Parameter sind:

r: Der Rang der Aktualisierungsmatrizen, ausgedrückt in int. Eine geringere Rangzerlegung ergibt kleinere Aktualisierungsmatrizen mit weniger trainierbaren Parametern.

target_modules: Die Module (z. B. Aufmerksamkeitsblöcke) zum Anwenden der LoRA-Aktualisierungsmatrizen.

lora_alpha: LoRA-Skalierungsfaktor.

Vorteile von LoRA

Einer der Hauptvorteile von LoRA besteht darin, dass ein Basismodell gemeinsam genutzt und zur Erstellung vieler kleiner LoRA-Module für neue Aufgaben verwendet werden kann. Das freigegebene Modell ist eingefroren, was es Benutzern ermöglicht, Aufgaben zu wechseln, indem sie die LoRA-Gewichtungsmatrizen ersetzen. Anstatt zwei verschiedene Modelle zu benötigen, kann ein einzelnes Modell für verschiedene Aufgaben verwendet werden, während die Leistungsgewinne der Feinabstimmung erhalten bleiben.

LoRA macht das Training effizienter und senkt die Hardware-Einstiegsbarriere, da die Benutzer für die meisten Parameter nicht die Gradienten berechnen oder die Optimierungszustände beibehalten müssen. Stattdessen müssen für den Prozess nur die viel kleineren Matrizen mit niedrigem Rang optimiert werden.

Das lineare Design von LoRA ermöglicht es Data Scientists, die trainierbaren Matrizen mit den eingefrorenen, vortrainierten Modellgewichtungen bei der Bereitstellung zusammenzuführen, sodass es im Vergleich zu einem durch die Konstruktion vollständig feinabgestimmten Modell keine Inferenzlatenz gibt.

LoRA kann mit anderen Techniken zur Verbesserung der Modellleistung kombiniert werden, wie z. B. dem Präfix-Tuning, was es flexibel macht.

Kompromisse

Während LoRA eine erhebliche Reduzierung der Anzahl der trainierbaren Parameter bietet, gibt es auch einen Kompromiss. Der Prozess führt zu Informationsverlust während der Matrixzerlegung. Da LoRA die Vollgewichtungsmatrix auf kleinere Komponenten reduziert, können dabei einige Details verloren gehen. Dies ist vergleichbar mit einer Modellüberanpassung. Im Falle von LLMs ist der Verlust jedoch oft minimal, da Deep-Learning-Modelle so stark überparametrisiert sind, was bedeutet, dass sie mehr Parameter enthalten, als für die Aufgabe erforderlich sind. „Überparametrisiert“ bedeutet, dass diese Modelle oft größer sind, als sie für die Trainingsdaten nötig sind. Nicht alle Parameter sind unbedingt relevant. Innerhalb der Parameter herrscht Redundanz, Robustheit und Resilienz. Das Entfernen dieser Resilienz kann die Modelle weniger genau machen, sodass die Rangordnung der Aktualisierungsmatrizen als Teil des LoRA-Prozesses angepasst werden kann.

Weiterführende Lösungen
Basismodelle

Erkunden Sie die Foundation-Model-Bibliothek im watsonx-Portfolio von IBM zur zuverlässigen Skalierung generativer KI für Ihr Unternehmen.

Entdecken sie watsonx.ai
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Services entdecken
Gehen Sie den nächsten Schritt

Erkunden Sie die Foundation-Model-Bibliothek im watsonx-Portfolio von IBM zur zuverlässigen Skalierung generativer KI für Ihr Unternehmen.

Entdecken sie watsonx.ai Erkunden Sie die KI-Modelle von IBM Granite
Fußnoten

1. Hu, Edward, et al, LoRA: Low-Rank Adaptation of Large Language Models, 2021