LoRA-Parameter-Rechner
Eingaben
| Schichten | 32 |
|---|---|
| Angepasste Module pro Schicht | 4 |
| Hidden Size | 4.096 |
| LoRA-Rang | 8 |
LoRA-Parameter-Rechner
Schätzt aus der Anzahl der Schichten, den angepassten Modulen pro Schicht, der Hidden Size und dem LoRA-Rang ab, wie viele trainierbare Parameter ein LoRA-Finetuning hinzufügt und wie viel Optimizer-Speicher es benötigt.
Eingaben
Modellarchitektur
LoRA-Adapter
Ergebnisse
Geben Sie einen Wert ein, um die Ergebnisse zu sehen.
Details
LoRA-Parameter
Low-Rank Adaptation, kurz LoRA, ist die gängigste Methode, um ein großes Sprachmodell mit kleinem Budget zu finetunen. Statt jedes Gewicht zu aktualisieren, friert sie das Basismodell ein und trainiert neben jeder angepassten Gewichtsmatrix ein kleines Paar niedrigrangiger Matrizen. Das Ergebnis verhält sich fast wie ein vollständiges Finetuning, berührt aber nur einen winzigen Bruchteil der Parameter. Dieser Rechner schätzt aus der Form des Modells und dem Rang des Adapters ab, wie viele Parameter dieser Bruchteil ausmacht und wie viel Optimizer-Speicher er benötigt.
Wie LoRA die trainierbare Menge verkleinert
Eine Transformer-Gewichtsmatrix bildet einen Hidden-Vektor auf einen anderen ab, sodass sie für eine quadratische Schicht etwa Werte enthält. Sie alle zu finetunen ist teuer: Der Optimizer muss für jeden einzelnen Gradienten und laufende Statistiken speichern. LoRA ersetzt dieses dichte Update durch das Produkt zweier schmaler Matrizen — eine der Form und eine der Form , wobei der Rang weit kleiner als ist. Die Basisgewichte bewegen sich nie; nur diese beiden Faktoren werden trainiert, und bei der Inferenz wird ihr Produkt wieder zur ursprünglichen Matrix addiert.
Da jede angepasste Matrix trainierbare Werte beiträgt — und , wenn Eingangs- und Ausgangsbreite gleich sind —, liegt die trainierbare Menge meist deutlich unter einem Prozent des gesamten Modells. Das macht LoRA auf einem einzelnen Beschleuniger praktikabel.
Die Formel
Mit Schichten, angepassten Modulen pro Schicht, Rang und Hidden Size ist die trainierbare Parameterzahl
P=L⋅m⋅2⋅r⋅dMixed-Precision-Adam hält ungefähr sechzehn Byte Optimizer- und Master-Weight-Zustand pro trainierbarem Parameter — die 32-Bit-Master-Kopie sowie die Schätzungen des ersten und zweiten Moments —, sodass der Optimizer-Speicher in Megabyte
M=10616Pbeträgt. Dies zählt nur den Adapter-Zustand. Das eingefrorene Basismodell belegt weiterhin Speicher für seine Gewichte, benötigt aber keine Gradienten oder Optimizer-Zustände, woher die Einsparung kommt.
Rechenbeispiel
Nimm ein Modell mit 32 Schichten, das die vier Attention-Projektionen in jeder Schicht anpasst, bei Rang 8 mit einer Hidden Size von 4096:
P=32×4×2×8×4096=8388608Das sind etwa 8,39 Millionen trainierbare Parameter. Der Optimizer-Zustand beträgt
M=10616×8388608≈134,2 MBFür ein Basismodell mit sieben Milliarden Parametern sind diese 8,39 Millionen Adapter etwa ein Zehntel Prozent des Ganzen — und doch genügen sie, um das Modell für viele nachgelagerte Aufgaben zu spezialisieren.
Rang und Module wählen
Der Rang ist der wichtigste Kapazitätsregler. Ränge von 4 bis 8 sind für leichte Aufgabenanpassungen üblich; 16 bis 64 bieten mehr Spielraum, wenn die Zielaufgabe weit vom Training des Basismodells entfernt ist. Eine Verdopplung des Rangs verdoppelt sowohl die trainierbaren Parameter als auch den Optimizer-Speicher, daher lohnt sich eine Erhöhung nur, wenn ein niedrigerer Rang unteranpasst. Der Eingabewert für Module pro Schicht spiegelt wider, welche Matrizen einen Adapter erhalten: zwei für nur Query und Value, vier für den vollständigen Attention-Block oder mehr, wenn die Feed-Forward-Matrizen einbezogen werden.
Um den Adapter mit der Größe des vollständigen Modells zu vergleichen, siehe den Transformer-Parameterzahl-Rechner. Um den gesamten Speicher eines Trainingslaufs einschließlich der eingefrorenen Gewichte und Aktivierungen zu bemessen, siehe den VRAM-Rechner für LLM-Training.
Häufig gestellte Fragen (FAQ)
Was steuert der LoRA-Rang?
Der Rang legt die Dimension des niedrigrangigen Updates fest, das zu jeder angepassten Gewichtsmatrix hinzugefügt wird. Ein höherer Rang gibt dem Adapter mehr Kapazität, um Änderungen gegenüber dem Basismodell zu erfassen, zum Preis von mehr trainierbaren Parametern und Optimizer-Speicher, die beide linear mit dem Rang wachsen. Ein niedrigerer Rang ist kleiner und schneller, kann aber schwierigere Aufgaben unteranpassen.
Die meisten Finetunings verwenden einen Rang zwischen 4 und 64, wobei 8 oder 16 ein üblicher Ausgangspunkt sind; der beste Wert hängt davon ab, wie weit die Zielaufgabe vom Basismodell abweicht.
Wie viel kleiner ist ein LoRA-Finetuning als ein vollständiges Finetuning?
LoRA trainiert nur die niedrigrangigen Adapter und friert die Basisgewichte ein, sodass die trainierbare Menge meist deutlich unter einem Prozent des gesamten Modells liegt. Ein Modell mit sieben Milliarden Parametern, das bei moderatem Rang angepasst wird, hat oft nur wenige Millionen trainierbare Parameter.
Da der Optimizer-Zustand mit den trainierbaren Parametern statt mit den Gesamtparametern skaliert, ist die Speichereinsparung groß. Die Größe des vollständigen Modells zum Vergleich lässt sich mit dem Rechner für die Parameterzahl aus der Architektur abschätzen.
Welche Module werden üblicherweise angepasst?
Die häufigste Wahl sind die Attention-Projektionsmatrizen — Query, Key, Value und Output —, was vier Modulen pro Schicht entspricht. Manche Rezepte passen nur die Query- und Value-Projektionen an (zwei Module), andere ergänzen die Feed-Forward-Matrizen für breitere Abdeckung bei höheren Parameterkosten. Setze den Eingabewert für Module pro Schicht so, dass er den von deiner Konfiguration angepeilten Matrizen entspricht.
Haftungsausschluss
Diese Schätzung nimmt quadratische angepasste Matrizen an und zählt nur die LoRA-Faktoren sowie ihren Mixed-Precision-Adam-Optimizer-Zustand bei etwa 16 Byte pro Parameter. Sie schließt das eingefrorene Basismodell, Aktivierungen, Gradienten von Nicht-Adapter-Parametern sowie jegliches Bias- oder Embedding-Tuning aus. Behandle sie als Planungswert, nicht als exakte Speicherabrechnung.