Heim > Technologie-Peripheriegeräte > KI > Verwenden Sie immer noch Lora, um Ihre LLM zu fein?

Verwenden Sie immer noch Lora, um Ihre LLM zu fein?

Mary-Kate Olsen
Freigeben: 2025-03-14 10:34:09
Original
948 Leute haben es durchsucht

LORA (adaptiv-arxiv.org/abs/2106.09685) ist eine beliebte Technologie, die kostengünstige und fein abgestimmte Großsprachenmodelle (LLM) ist. Aber im Jahr 2024 entstand eine große Anzahl neuer Parameter-effizienter Feinabstimmentechnologien, und nacheinander tauchten verschiedene Lora-Alternativen auf: SVF, SVFT, Milora, Pissa, Lora-XS? Tauchen wir eingehend hinein.

Lora

Der erste Einblick von Lora ist, dass alle Gewichte von Feinabstimmungsmodellen überbetrieben werden. Stattdessen friert Lora das Modell ein und trainiert nur ein Paar kleiner "Adapter" -Matrizen mit niedrigem Rang. Siehe die Illustration unten (wobei w eine Gewichtsmatrix in Transformator LLM ist).

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Da viel weniger Gradienten berechnet und gespeichert werden müssen, können Speicher- und Berechnungszyklen gespeichert werden. Dies ist beispielsweise ein Gemma 8B-Modell, das LORA-Feinabstimmung verwendet, um zu simulieren, wie Piraten sprechen: Es können nur 22 Millionen Parameter geschult und 8,5 Milliarden Parameter gefroren bleiben.

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Lora ist sehr beliebt. Es hat sogar Mainstream-ML-Frameworks wie Keras als Einzellinien-API eingegeben:

 <code>gemma.backbone.enable_lora(rank=8)</code>
Nach dem Login kopieren

Aber ist Lora das Beste? Forscher haben daran gearbeitet, die Formel zu verbessern. Tatsächlich gibt es viele Möglichkeiten, eine kleinere "Adapter" -Matrix zu wählen. Da die meisten von ihnen die Singular Value Decomposition (SVD) der Matrix geschickt nutzen, machen wir für ein wenig Mathematik inne.

SVD: Einfache Mathematik

SVD ist ein gutes Werkzeug zum Verständnis der Matrixstruktur. Diese Technik zersetzt die Matrix in drei: w = usv t , wobei u und v orthogonal sind (d. H. Basistransformation) und S eine diagonale Matrix sortierter Singularwerte. Diese Zersetzung existiert immer.

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Im "Lehrbuch" sind SVD, U und V quadratische Matrixe, während S eine rechteckige Matrix mit singulären Werten auf der diagonalen und nullen Nullen ist. Tatsächlich können Sie quadratische Matrix und Rechtecke u oder v - siehe Bild verwenden - der verkürzte Teil wird nur mit Null multipliziert. Diese "Wirtschaft" SVD wird in gemeinsamen Bibliotheken wie Numpy.linalg.svd verwendet.

Wie verwenden wir dies, um die zu trainierenden Gewichte effektiver auszuwählen? Schauen wir uns einen kurzen Blick auf fünf aktuelle SVD-basierte Low-Rank-Feinabstimmungstechniken mit Kommentarenanweisungen.

SVF

Die einfachste Alternative zu LORA besteht darin, SVD auf der Gewichtsmatrix des Modells zu verwenden und dann die einzelnen Werte direkt zu optimieren. Seltsamerweise ist dies die neueste Technologie namens SVF, die im Transformers² Paper (arxiv.org/abs/2501.06252v2) veröffentlicht wurde.

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? SVF ist in Bezug auf Parameter als Lora viel wirtschaftlich. Darüber hinaus macht es das Feinabstimmungsmodell komponierbar. Weitere Informationen dazu finden Sie hier in meiner Transformers²-Beschreibung. Die Kombination von zwei SVF-Feinabstimmungsmodellen ist jedoch nur ein Additionsvorgang:

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Svft

Wenn Sie trainierbare Parameter benötigen, untersucht das SVFT -Papier (arxiv.org/abs/2405.19597) eine Vielzahl von Methoden, indem Sie zunächst mehr trainierbare Gewichte auf der Diagonale hinzufügen.

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Es bewertet auch eine Vielzahl anderer Alternativen, wie z. B. zufällig in die "M" -Matrix.

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Noch wichtiger ist, dass das SVFT -Papier bestätigt, dass es nützlicher ist, trainierbare Werte als Diagonalen zu haben. Siehe die Feinabstimmungsergebnisse unten.

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Als nächstes kommen verschiedene Techniken, um einzelne Werte in zwei Gruppen von "Big" und "Small" zu unterteilen. Aber bevor wir weitermachen, machen wir inne, um ein bisschen mehr SVD -Mathematik zu machen.

Mehr SVD -Mathematik

SVD wird normalerweise als zerlegt in drei Matrizen mit usv t angesehen, kann aber auch als gewichtete Summe vieler Rang 1 -Matrizen angesehen werden, die durch einzigartige Werte gewichtet werden:

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Wenn Sie dies beweisen möchten, verwenden Sie die Formel von USV T -Form und Matrix -Multiplikation, um ein einzelnes Matrixelement mit einerseits ein einzelnes Matrixelement mit der Form von σ s i u i t auszudrücken, und vereinfachen Sie die Tatsache, dass S eine Diagonale ist, und beachten Sie, dass es dasselbe ist.

In dieser Darstellung ist leicht zu erkennen, dass Sie die Summe in zwei Teile aufteilen können. Und da Sie immer singuläre Werte sortieren können, können Sie sie in "große" und "kleine" Singularwerte unterteilen.

Wenn Sie auf die drei Matrixform W = USV T zurückkehren, sieht die Segmentierung aus:

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Basierend auf dieser Formel untersuchen zwei Papiere, was passiert, wenn Sie nur große singuläre Werte oder nur kleine singuläre Werte anpassen, d. H. Pissa und Milora.

Pissa

Pissa (Hauptanpassung der Singularvektor, arxiv.org/abs/2404.02948) behauptet, Sie sollten nur die großen Masterwerte anpassen. Der Mechanismus ist wie folgt:

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Aus dem Papier ausgerichtet: "Pissa zielt darauf ab, die vollständige Feinabstimmung zu approximieren, indem die wichtigsten einzigartigen Komponenten angepasst werden, von denen angenommen wird, dass sie die Natur der Gewichtsmatrix erfassen. Stattdessen ist Milora so konzipiert, dass sie sich an neue Aufgaben anpassen und gleichzeitig das Wissen über das zugrunde liegende Modell maximiert."

Es gibt auch eine interessante Entdeckung auf dem Pissa-Papier: Komplette Feinabstimmung ist anfällig für Überanpassung. Mit feinstimmigen Techniken mit niedrigem Rang können Sie bessere Ergebnisse für absolute Werte erzielen.

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Milora

Milora hingegen behauptet, dass Sie nur den kleinen Masterwert anpassen sollten. Es verwendet einen ähnlichen Mechanismus, um Pissa zu erhalten:

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Überraschenderweise scheint Milora die Oberhand zu haben, zumindest wenn die mathematische Datensätze fein abtun, was möglicherweise mit dem ursprünglichen Vorbildung übereinstimmt. Es kann argumentiert werden, dass Pissa besser geeignet sein sollte, um das Verhalten von LLM vor dem Training weiter zu beugen.

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Lora-XS

Schließlich möchte ich Lora-XS (arxiv.org/abs/2405.17604) erwähnen. Sehr ähnlich wie Pissa, aber der Mechanismus ist etwas anders. Es zeigt auch, dass viel weniger Parameter als Lora auch gute Ergebnisse liefern.

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Das Papier enthält eine mathematische Erklärung, dass dieses Setup in zwei Fällen "ideal" ist:

  • Das Schneiden des unteren Hauptwerts von SVD nähert sich der Gewichtsmatrix noch gut an
  • Die Datenverteilung der Feinabstimmung liegt nahe an der Datenverteilung vor dem Training

Beide scheinen mir zu zweifeln, also werde ich nicht ausführlich in die Mathematik gehen. Einige Ergebnisse:

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? Die grundlegende Annahme scheint zu sein, dass einzelne Werte in "Big" und "Small" unterteilt sind, aber ist das wahr? Ich überprüfte schnell die Gemma2 9b auf Colab. Fazit: 99% der Singularwerte liegen im Bereich von 0,1 - 1,1. Ich bin mir nicht sicher, ob es sinnvoll ist, sie in "große" und "kleine" zu teilen.

Verwenden Sie Lora immer noch, um Ihre LLM zu fein? abschließend

Es gibt viele andere Feinabstimmungstechniken für eine effiziente Parametrisierung. Es ist erwähnenswert:

  • Dora (arxiv.org/abs/2402.09353), die die Gewichte in Größe und Orientierung unterteilt und dann diese Gewichte anpasst.
  • Adalora (arxiv.org/abs/2303.10512), das einen komplexen Mechanismus hat, um den besten Anpassungsrang für ein bestimmtes budgetierbares budgetierbares Budget zu finden.

Meine Schlussfolgerung: Um den LORA -Standard mit 10 -fachen Parametern zu übertreffen, mag ich die Einfachheit des SVF von Transformers². Wenn Sie trainierbare Gewichte benötigen, ist SVFT eine einfache Erweiterung. Beide verwenden alle singulären Werte (Vollrang, keine einzigartigen Werte, und sind immer noch billig? Ich wünsche Ihnen eine glückliche Feinabstimmung!

Hinweis: Alle Illustrationen werden vom Autor erstellt oder aus Arxiv.org Papers für Kommentare und Diskussionen extrahiert.

Das obige ist der detaillierte Inhalt vonVerwenden Sie immer noch Lora, um Ihre LLM zu fein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage