Was ist Low-rank Adaptation (LoRA)?

Low-rank Adaptation (LoRA) ist eine Möglichkeit, ein großes Machine Learning-Modell für bestimmte Anwendungen anzupassen, ohne das gesamte Modell neu zu trainieren.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Low-rank Adaptation (LoRA) definieren
  • Auf einfache Weise erklären, wie LoRA funktioniert
  • Vorteile der Nutzung von LoRa verstehen

Link zum Artikel kopieren

Was ist Low-rank Adaptation (LoRA)?

Low-rank Adaptation (LoRA) ist eine Technik zur schnellen Anpassung von Machine Learning-Modellen an neue Kontexte. LoRA ermöglicht es, große und komplexe Machine Learning-Modelle für bestimmte Zwecke besser zu nutzen. Dabei werden dem ursprünglichen Modell leichte Teile hinzugefügt, anstatt das gesamte Modell zu ändern. LoRA hilft Entwicklern, die Anwendungsfälle für die von ihnen erstellten Machine Learning-Modelle schnell zu erweitern.

Die Einrichtung großer und komplexer Machine Learning-Modelle, wie sie für Large Language Models (LLMs) wie ChatGPT verwendet werden, erfordert viel Zeit und Ressourcen. Sie können Billionen von Parametern haben, die auf bestimmte Werte eingestellt sind. Sobald dieser Prozess abgeschlossen ist, mag das Modell im Allgemeinen leistungsstark und genau sein, aber es ist nicht unbedingt auf die Erfüllung bestimmter Aufgaben abgestimmt.

Damit ein Modell in einem bestimmten Kontext funktioniert, muss es oft „umtrainiert“ werden, indem alle Parameter geändert werden. Angesichts der großen Anzahl von Parametern in solchen Modellen ist dieses „Umtrainieren“ teuer und zeitaufwändig. Mit LoRA kann das Modell schnell angepasst werden, ohne dass es neu trainiert werden muss.

Stellen Sie sich vor, Jim zieht von Europa nach Nordamerika und alle seine Geräte (wie seine Mikrowelle und sein Wasserkocher) passen nicht in die Steckdosen im neuen Haus, da in diesen beiden Regionen unterschiedliche Normen für Steckdosen gelten. Jim hat zwei Möglichkeiten. Er könnte alle Steckdosen in seinem Haus herausreißen und ersetzen, sodass seine Geräte in die Steckdosen passen. Oder er könnte einfach ein paar günstige Adapter kaufen und seine Geräte damit anschließen.

LoRA ist wie Jims zweite Option. Anstatt ein Modell von Grund auf komplett neu zu trainieren, fügt LoRA einen leichtgewichtigen, veränderbaren Teil zum Modell hinzu, um es an den neuen Kontext anzupassen. Für KI-Entwickler ist dies viel schneller und ressourcenschonender, so es für Jim billiger ist ein paar Adaptern im Baumarkt zu kaufen, als einen Handwerker zu beauftragen, alle Steckdosen in seinen Wänden auszutauschen.

Was ist ein Machine Learning-Modell?

Ein Machine Learning-Modell ist die Kombination eines Algorithmus für maschinelles Lernen mit einem Datensatz. Das Ergebnis dieser Kombination ist ein Computerprogramm, das Muster erkennen, Objekte finden oder Beziehungen zwischen Objekten herstellen kann, selbst in Datensätzen, die es zuvor noch nicht gesehen hat.

Bei komplexen Aufgaben wie der Generierung von Texten, Bildern oder anderen modernen Anwendungen des maschinellen Lernens greifen die Modelle auf eine große Datenmenge zurück und verwenden hochkomplexe Algorithmen. Geringfügige Änderungen der Algorithmen oder des Datensatzes führen dazu, dass das Modell andere Ergebnisse liefert. Um jedoch die Ergebnisse zu erhalten, die in einem bestimmten Kontext benötigt werden, ist ein erheblicher Trainingsaufwand erforderlich.

Anstatt das gesamte Modell neu zu erstellen, friert LoRA die Gewichte* und Parameter des Modells ein, so wie sie sind. Zu diesem ursprünglichen Modell wird dann ein leichtgewichtiger Zusatz hinzugefügt, der als „Low-rank Matrix“ bezeichnet wird. Diese Matrix wird auf neue Inputs angewendet, um kontextspezifische Ergebnisse zu erhalten. Die Low-rank Matrix passt sich den Gewichten des ursprünglichen Modells an, sodass der Output dem gewünschten Anwendungsfall entspricht.

*In Machine Learning-Modellen ist ein „Gewicht“ ein mathematischer Wert, der dazu beiträgt, zu bestimmen, wie wichtig verschiedene Arten von Input sind.

Was ist eine Low-rank Matrix in LoRA?

Eine Matrix ist in der Mathematik eine Reihe oder Ansammlung von Zahlen, wie zum Beispiel:

Beispiel für eine Low-rank Matrix: Erste Spalte 2 4 6, zweite Spalte 4 8 12, dritte Spalte 6 12 18

Matrizes sind ein wichtiger Bestandteil der Funktionsweise von Machine Learning-Modellen und neuronalen Netzwerken. Für solche Anwendungszwecke können sie viel größer sein als im obigen Beispiel. In Bezug auf LoRA ist es wichtig zu verstehen, dass Matrizes mit niedrigem Rang kleiner sind und viel weniger Werte haben als größere Matrizes. Sie benötigen nicht viel Speicherplatz und weniger Schritte, um miteinander zu addieren oder zu multiplizieren. Daher können sie von Computern schneller verarbeitet werden.

LoRA fügt dem eingefrorenem ursprünglichen Machine Learning-Modell Matrizes mit niedrigem Rang hinzu. Diese Matrizes enthalten neue Gewichte, die bei der Generierung von Ergebnissen auf das Modell angewendet werden. Dieser Prozess verändert die Outputs des Modells mit minimaler Rechenleistung und Trainingszeit.

In der obigen Analogie hat Jim günstige Adapter gekauft, um seine Geräte an die Steckdose anzuschließen. Matrizes mit niedrigem Rang sind wie diese günstigen Adapter und die Steckdosen sind die ursprünglichen Machine Learning-Modelle.

Wie funktioniert maschinelles Lernen?

Der Begriff maschinelles Lernen oder Machine Learning bezieht sich auf eine Art statistischer Algorithmen, die lernen können, Muster in Daten zu erkennen, ohne konkrete Anweisungen von einem Menschen zu erhalten. Maschinelles Lernen kann Beispiele verallgemeinern, um Daten zu klassifizieren, die es noch nie zuvor gesehen hat. Es ist die Grundlage für viele Arten von Apps, bei denen künstliche Intelligenz (KI) zum Einsatz kommt.

Cloudflare ermöglicht Entwicklern die schnelle Integration populärer Machine Learning-Modelle über die folgenden Dienste:

Erfahren Sie mehr über die komplette Cloudflare for AI-Plattform.