Fine-Tuning & LoRA

Fortgeschritten

Wie LoRA es ermöglicht, riesige Sprachmodelle für spezifische Aufgaben anzupassen, indem nur winzige Low-Rank-Matrizen trainiert werden — spart Speicher, Zeit und Geld.

Zuletzt aktualisiert: 13. Sept. 2026

Was ist Fine-Tuning?

Du hast ein vortrainiertes Sprachmodell mit Milliarden von Parametern, das viel über die Welt weiß. Aber du möchtest, dass es bei einer bestimmten Aufgabe herausragend ist — juristische Schriftsätze schreiben, in Rust programmieren oder im Stil deiner Marke sprechen. Fine-Tuning passt das Modell an, indem das Training mit deinen spezialisierten Daten fortgesetzt wird.

Das Problem: Volles Fine-Tuning bedeutet, ALLE Parameter zu aktualisieren.

Bei einem 70B-Parameter-Modell bedeutet das, 70 Milliarden Gewichte zu speichern und zu aktualisieren. Du brauchst eine vollständige Kopie des Modells im Speicher, plus Optimizer-Zustände (2-3x die Modellgröße). Das sind Hunderte Gigabyte VRAM — teuer, langsam und für die meisten Teams unpraktisch.

Die LoRA-Erkenntnis

LoRA (Low-Rank Adaptation) basiert auf einer Schlüsselbeobachtung: Wenn man ein Modell feinabstimmt, sind die Gewichtsaktualisierungen tendenziell niedrigrangig. Statt eine riesige d×d-Gewichtsmatrix W direkt zu aktualisieren, zerlegt man das Update als ΔW = A × B, wobei A d×r und B r×d ist, mit r viel kleiner als d.

LoRA-Matrixzerlegung

Passe den Rang r an, um zu sehen, wie LoRA ein großes Gewichtsupdate in zwei kleine Matrizen zerlegt.

r=1r=64
ΔW
512×512262,144 Param.
=
A
512×8
×
B
8×512
Volle Parameter
262,144
d² = 512²
LoRA-Parameter
8,192
2 × d × r = 2 × 512 × 8
Parameter-Einsparung
96.9%
Nur 3.1% des Originals
paramsfull = d² = 512² = 262,144
paramsLoRA = 2 × d × r = 2 × 512 × 8 = 8,192

Warum LoRA einfach zu trainieren ist

Indem nur die kleinen A- und B-Matrizen trainiert werden, während das Basismodell eingefroren bleibt, reduziert LoRA den Bedarf an Speicher, Rechenleistung und Speicherplatz dramatisch.

Parameter und Speicher nachrechnen

Beispielkonfiguration: 7 Milliarden eingefrorene Parameter und 64 Zielmatrizen mit je 4096 × 4096 Einträgen. Adapter und Gradienten sind FP16, zwei Adam-Zustände FP32. Dies ist eine offengelegte Rechenannahme, keine Hardwareempfehlung.

64 × r × (4096 + 4096) = 8.388.608

Basisgewichte, roh
14.000 GB
Adaptergewichte
0.017 GB
Adaptergradienten
0.017 GB
Adam-Zustände
0.067 GB

Dezimale GB. Nicht enthalten: Aktivierungen, temporäre Puffer, Quantisierungsskalen und gegebenenfalls FP32-Mastergewichte. Batchgröße, Kontextlänge, Zielmodule und Optimizer verändern den tatsächlichen Trainingsspeicher. QLoRA quantisiert die eingefrorene Basis; LoRA allein verlangt keine quantisierte Basis.

🧊

Der ursprüngliche Basis-Checkpoint bleibt wiederherstellbar

LoRA friert die Basisgewichte ein. Der aktive Adapter verändert aber die effektiven Gewichte und kann die Leistung auf früheren Aufgaben verschlechtern. Additive Updates können positive und negative Komponenten haben. Das Entfernen des Adapters stellt den Basispfad wieder her; es belegt keine unveränderten Fähigkeiten mit aktivem Adapter.

Anwendungsfälle

LoRA-Adapter werden überall eingesetzt, um Foundation-Modelle zu spezialisieren:

💻

Aufgabenspezifische Anpassung

Adapter für Programmierung, medizinische Diagnose, juristische Analyse oder Kundensupport trainieren. Jede Domäne erhält ihren eigenen kleinen Adapter.

🎭

Stil- & Tonanpassung

Eine bestimmte Markenstimme treffen, zwischen formell und lässig wechseln oder den Schreibstil anpassen, ohne das gesamte Modell neu zu trainieren.

🌍

Sprachanpassung

Leistung in unterrepräsentierten Sprachen verbessern, indem ein LoRA mit sprachspezifischen Daten trainiert wird.

📋

Instruktionsbefolgung

Ein Basismodell besser Anweisungen befolgen lassen, indem ein Adapter mit Instruktions-Antwort-Paaren trainiert wird.

Wann man LoRA NICHT verwenden sollte

LoRA ist mächtig, aber nicht für jeden Einsatz das richtige Werkzeug:

💬

Prompt Engineering reicht aus

Wenn du das gewünschte Verhalten mit einem guten System-Prompt oder Few-Shot-Beispielen erreichst, brauchst du keinen Adapter. Es ist günstiger, schneller und einfacher zu iterieren.

📚

Du brauchst breites neues Wissen

LoRA ist super für Stil und Verhalten, aber schlecht darin, große Mengen an Faktenwissen zu injizieren. Nutze stattdessen RAG (Retrieval) für wissensintensive Aufgaben.

🗑️

Dein Datensatz ist winzig oder verrauscht

Kleine oder repetitive Datensätze können überfitten. Es gibt keine universelle Mindestzahl an Beispielen: Aufgabenvielfalt, Labelqualität, Modell und Regularisierung zählen. Einen getrennten Evaluationssatz vorsehen.

⏱️

Du brauchst Echtzeit-Anpassung

LoRA erfordert einen Trainingsschritt. Wenn sich dein Modell on-the-fly an neue Informationen anpassen soll, nutze In-Context Learning oder RAG.

Was die Rangbeschränkung erlaubt

Ein festes Low-Rank-Update begrenzt die verfügbaren Richtungen jeder angepassten Matrix. Das ist eine Entscheidung zur Parametereffizienz, kein Beweis, dass neues Wissen oder Vortraining mit Low-Rank-Verfahren unmöglich wäre.

Was ein Ranglimit mathematisch bedeutet

Eine konstruierte Zielmatrix diag(4, 2, 1, 0,5). Die beste Rang-r-Näherung in Frobeniusnorm behält hier die r größten Diagonaleinträge. Wir messen einen Matrixfehler, keine Sprachfähigkeit und keinen Wissenserhalt.

4 → 4
2 → 2
1 → 0
0.5 → 0

‖ΔW − B A‖F = √Σᵢ₎ᵣ σᵢ² = 1.118

LoRA lernt A und B durch Training; es kennt die optimale Zielmatrix nicht vorher. Ein größerer Rang erlaubt mehr unabhängige Update-Richtungen, garantiert aber keine bessere Evaluation. Daten, Zielmodule und Training müssen mitgeprüft werden.

1

Der Update-Rang ist begrenzt

Für ΔW = AB gilt Rang(ΔW) höchstens r. Die effektive Matrix W + ΔW kann trotzdem vollen Rang haben. Update-Rang ist nicht der Rang oder Wissensstand des gesamten Modells.

2

Zielmodule und Daten zählen mit

Ein Rang-8-Adapter hat weniger unabhängige Update-Richtungen als ein vollständiges Matrixupdate. Ob das reicht, hängt von Aufgabe und angepassten Matrizen ab. Validierungsleistung und Regressionen messen.

3

Ein größerer Rang verändert den Aufwand

Trainierbare Parameter wachsen pro Zielmatrix mit r(d_in + d_out). Ein höherer Rang erlaubt ausdrucksstärkere Updates, kostet aber Speicher und Optimierungsaufwand. Es gibt keinen universell besten Rang oder garantierten Qualitätsverlauf.

LoRA-Varianten & Evolution

Das ursprüngliche LoRA-Paper hat eine Familie von Verbesserungen hervorgebracht. Klicke auf jede Karte für mehr Details.

📦

QLoRA

▼

Quantisiertes Basismodell + LoRA-Adapter = Fine-Tuning auf Consumer-GPUs.

🔬

DoRA (Weight-Decomposed LoRA)

▼

Trennt Gewichtsmagnitude von Richtung für bessere Trainingsdynamik.

⚡

LoRA+

▼

Unterschiedliche Lernraten für A- und B-Matrizen = schnellere Konvergenz.

Wichtige Erkenntnisse

  • 1LoRA parametrisiert ein Update mit zwei Low-Rank-Faktoren. Die Ersparnis folgt aus tatsächlichen Dimensionen und gewähltem Rang.
  • 2Die Basisgewichte bleiben eingefroren, aktive Adapter können Verhalten aber verändern oder verschlechtern. Adapter evaluieren; ihre Entfernung stellt den Basispfad wieder her.
  • 3Low-Rank-Updates können zur Anpassung wirksam sein. Passender Rang und Zielmodule hängen von der Aufgabe ab.
  • 4QLoRA hält eine quantisierte eingefrorene Basis und trainiert Adapter. Aktivierungs- und Optimizerspeicher hängen weiterhin vom Trainingsaufbau ab.
  • 5Ein fester Adapterrang beschränkt Updates. Daraus folgt kein Ausschluss sämtlicher Low-Rank-Vortrainingsverfahren.

Primärquellen