KI‑Kompass
Kompass

LoRA und parametereffizientes Training

Wie man ein Modell mit Milliarden Parametern auf einer einzelnen Karte anpasst: Rangzerlegung, Speicherrechnung und die Einstellungen, die zählen.

·2 Min. Lesezeit·Von Fachredaktion Technik
DETAILGRAD
3 Abschnitte

Die Idee

Ein Modell vollständig zu trainieren heißt, alle Milliarden Gewichte zu ändern. LoRA lässt sie unverändert und legt daneben eine kleine, lernbare Korrektur ab. Nur diese Korrektur wird trainiert.

Das Bild dazu: Statt ein Buch neu zu schreiben, klebt man Randnotizen hinein.

Was das bringt

VollständigLoRA
Trainierbare Parameter100 %0,1 bis 1 %
Speicher für 7-Mrd.-Modell~112 GB~18 GB
Ergebnisdatei~14 GB20 bis 200 MB
Mehrere Variantenje ein volles Modellje ein Adapter

Die Einstellungen

ParameterBedeutungÜblicher Wert
rRang der Zerlegung8 bis 64
alphaSkalierung des Adaptersmeist 2r
dropoutRegularisierung im Adapter0 bis 0,1
ZielmoduleWelche Schichten angepasst werdenAlle Attention-Projektionen, oft auch die Zwischenschicht
Lernrate1e-4 bis 3e-4
  • Alle vier Attention-Projektionen anpassen, nicht nur zwei. Der Unterschied ist messbar.
  • alpha = 2r als Ausgangspunkt, dann nur einen der beiden Werte verändern.
  • Den Adapter für die Auslieferung in die Gewichte einrechnen, wenn keine Umschaltung nötig ist. Das spart Rechenzeit bei der Inferenz.

Die Formel

Rangzerlegte Anpassung

W = W₀ + (α/r) · B·A Parameter LoRA = r · (d + k) statt d · k

Zur eingefrorenen Matrix wird das Produkt zweier schmaler Matrizen addiert, skaliert mit alpha geteilt durch den Rang.

W₀
die eingefrorene ursprüngliche Gewichtsmatrix, d mal k
A
lernbare Matrix, r mal k
B
lernbare Matrix, d mal r
r
der Rang, mit r sehr viel kleiner als d und k
α
Skalierungsfaktor

Durchgerechnet

Für eine Matrix mit d = k = 4096 und r = 16:

  • Vollständig: 4096 × 4096 = 16.777.216 Parameter
  • LoRA: 16 × (4096 + 4096) = 131.072 Parameter
  • Anteil: 0,78 Prozent

Bei 32 Schichten mit je vier solchen Matrizen sind das 32 × 4 × 131.072 = 16,8 Millionen trainierbare Parameter gegenüber 2,15 Milliarden. Der Adapter belegt in float16 rund 34 Megabyte.

Speicher beim Training

PostenVollständigLoRAQLoRA
Gewichte14 GB (fp16)14 GB (fp16)4 GB (nf4)
Gradienten14 GB0,03 GB0,03 GB
Optimiererzustände56 GB (fp32)0,13 GB0,13 GB
Aktivierungen10 bis 30 GB6 bis 20 GB6 bis 20 GB
Summe~100 GB~24 GB~12 GB

QLoRA quantisiert die eingefrorenen Gewichte zusätzlich auf 4 Bit und trainiert den Adapter in bfloat16. Damit passt die Anpassung eines Modells mit 7 Milliarden Parametern auf eine Karte mit 16 GB.

Warum ein niedriger Rang genügt

Die empirische Beobachtung ist, dass die Änderung ΔW beim Feintuning eine niedrige intrinsische Dimension hat: Die Anpassung an eine enge Aufgabe bewegt sich in einem kleinen Unterraum. Ein Rang von 8 bis 16 genügt deshalb für Format- und Stilanpassungen. Bei breiteren Änderungen, etwa einer neuen Sprache oder einer grundlegend anderen Domäne, reicht er nicht, und dort ist vollständiges Training tatsächlich überlegen.

Betrieb mit mehreren Adaptern

Moderne Bedienumgebungen laden ein Basismodell und mehrere Adapter gleichzeitig und wählen je Anfrage aus. Das ist der eigentliche betriebliche Vorteil: ein Modell im Speicher, beliebig viele Fachvarianten, jede als Datei von wenigen Megabyte mit eigener Version und eigenem Freigabestand.

Passende Kurse und Quellen

StudieKostenlosEN

LoRA

Anpassung über wenige zusätzliche Parameter statt vollständigem Training. Der Grund, warum Feinabstimmung heute bezahlbar ist.

Für alle, die feinabstimmen wollen und ein Budget haben; die Grundlage der bezahlbaren Anpassung.

War diese Seite hilfreich?
LoRA und parametereffizientes Training