Agentic Relations

LoRA (Low-Rank Adaptation)

Parameter-effizientes Fine-Tuning-Verfahren, das grosse Sprachmodelle durch das Training kleiner Low-Rank-Adapter-Matrizen anpasst, während die Basis-Gewichte gefroren bleiben.

Definition

LoRA, kurz für Low-Rank Adaptation, ist ein parameter-effizientes Fine-Tuning-Verfahren, das 2021 von einer Forschungsgruppe bei Microsoft Research um Edward Hu vorgestellt wurde. Statt alle Milliarden Parameter eines vortrainierten Sprachmodells beim Fine-Tuning zu aktualisieren, friert LoRA das Basismodell ein und trainiert nur kleine zusätzliche Adapter-Matrizen mit niedrigem Rang. Damit wird die Anpassung grosser Modelle auf bescheidener Hardware möglich, und mehrere spezialisierte Varianten lassen sich aus demselben Basismodell ableiten.

LoRA gehört zur Familie der Parameter-Efficient Fine-Tuning-Methoden (PEFT) und hat sich seit seiner Veröffentlichung als dominanter Standard etabliert. Die Methode wird heute von praktisch allen Open-Source-Trainings-Frameworks unterstützt, von Hugging Face TRL und PEFT über Axolotl und Unsloth bis zu MLX auf Apple Silicon. Das Verfahren ist eng verwandt mit klassischen Adapter-Ansätzen wie Houlsby et al. (2019), unterscheidet sich aber durch die Low-Rank-Faktorisierung und das Fehlen zusätzlicher nichtlinearer Schichten.

Mechanismus

Die Kernidee von LoRA ist mathematisch einfach. Eine vortrainierte Gewichts-Matrix W mit Dimensionen d auf k wird durch das Fine-Tuning idealerweise zu W plus Delta-W. Statt Delta-W direkt zu lernen, was wieder d mal k Parameter wären, approximiert LoRA Delta-W als Produkt zweier viel kleinerer Matrizen: Delta-W gleich B mal A, wobei B die Dimensionen d auf r hat und A die Dimensionen r auf k, mit r viel kleiner als d und k.

Bei der Inferenz wird der Forward-Pass berechnet als h = Wx + BA*x, wobei W eingefroren bleibt und nur B und A trainiert werden. A wird zufällig initialisiert, B mit Nullen, sodass das Modell zu Beginn des Trainings exakt das Basismodell repräsentiert. Ein Skalierungsfaktor alpha durch r steuert die Magnitude der Adapter-Beiträge.

Die wichtigsten Bausteine der Implementation:

  • Target-Module: Welche Schichten adaptiert werden. Originalarbeit nur Q und V, Praxis heute oft alle linearen Schichten.
  • Rang r: Bestimmt die Kapazität. Typisch 8 bis 64. Höher gibt mehr Anpassungsspielraum, aber auch mehr Parameter.
  • Alpha: Skalierungsfaktor für die Adapter-Beiträge. Konvention ist alpha gleich r oder 2r.
  • Dropout: Regularisiert die Adapter. 0.05 bis 0.1 ist üblich.
  • Bias-Behandlung: Bias-Terme können separat trainierbar gemacht werden (none, all, lora_only).

QLoRA von Dettmers et al. (2023) erweitert LoRA um zwei wesentliche Tricks: NF4-Quantisierung des Basismodells (4 Bit Normal Float, statt 16 Bit), double quantization der Quantisierungs-Konstanten und Paged Optimizers, die Gradient-Spikes über CPU-Memory absorbieren. Damit wurde Fine-Tuning eines Llama 65B auf einer einzigen 48 GB-GPU möglich, mit Qualität nahe Full Fine-Tuning.

Praxis

LoRA hat sich aus drei Gründen durchgesetzt: drastisch reduzierter VRAM-Bedarf, schnellere Trainingszeit, und vor allem die Möglichkeit, mehrere spezialisierte Varianten aus demselben Basismodell zu generieren. Ein typisches Setup für Llama 3 8B mit QLoRA läuft auf einer einzigen RTX 4090 mit 24 GB und produziert nach wenigen Stunden Training auf einigen tausend Beispielen ein domänenspezifisches Modell.

In der Produktion werden zwei Deployment-Strategien unterschieden. Beim Merge wird der Adapter mathematisch in die Basisgewichte eingerechnet (W_new gleich W plus B mal A), und das Ergebnis ist ein normales Modell ohne Adapter-Overhead. Beim Hot-Swap bleiben Adapter separat und werden zur Laufzeit angewendet. Frameworks wie vLLM, TGI und LoRAX unterstützen das mit dynamischer Adapter-Auswahl pro Request, was Multi-Tenant-Setups extrem speichereffizient macht.

Typische Anwendungsfälle sind: Domain-Adaptation auf Fachsprache (Medizin, Recht), Stilistik-Anpassung (Brand Voice), Format-Erzwingung (strukturierte JSON-Ausgaben), und Personalisierung auf Customer-Ebene. Im Open-Source-Ökosystem sind LoRA-Adapter auf Hugging Face üblich, oft mit nur wenigen MB Speicherbedarf, sodass ganze Bibliotheken spezialisierter Adapter-Varianten geteilt werden können.

Tools und Frameworks im Einsatz: Hugging Face PEFT als de-facto-Standard, Unsloth für 2x schnelleres Training mit Triton-Kernels, Axolotl für deklarative Trainings-Konfigs, und MLX-LoRA für Apple Silicon. Auf der Serving-Seite dominieren vLLM mit LoRA-Support und Predibase LoRAX für Multi-Tenant-Inferenz.

Häufige Fehler

  • Zu niedriger Rang: Rang 4 reicht für triviale Format-Anpassungen, aber komplexere Tasks brauchen Rang 16, 32 oder mehr. Untertrainierte LoRAs erscheinen wie schwaches Basismodell.
  • Falsche Target-Module: Nur Q und V adaptieren ist heute oft suboptimal. Alle linearen Schichten zu adaptieren bringt meist besseres Verhalten bei moderaten Mehrkosten.
  • Lernrate zu niedrig: LoRA-Training erlaubt zehnmal höhere Lernraten als Full Fine-Tuning, weil nur kleine Matrizen aktualisiert werden. Übertragung von Full-FT-Hyperparametern unterperformt regelmässig.
  • Adapter-Inkompatibilität: Adapter, die auf einem bestimmten Basismodell trainiert wurden, sind nicht ohne Weiteres auf andere Versionen übertragbar. Selbst kleinere Pretraining-Updates können Adapter unbrauchbar machen.
  • Merge bei Quantisierung: Adapter zurück in ein quantisiertes Basismodell zu mergen ist verlustbehaftet. Für Production-Inferenz oft besser, Adapter separat zu lassen und im FP16-Pfad zu serven.

Abgrenzung

  • Full Fine-Tuning: Alle Gewichte trainierbar. Maximale Anpassung, aber zehnfacher VRAM-Bedarf und Risiko von Catastrophic Forgetting.
  • Adapter Tuning (Houlsby et al.): Vorgänger von LoRA, fügt zusätzliche nichtlineare Schichten ein. Mehr Inferenz-Latenz, weil Adapter nicht in Basisgewichte mergebar.
  • Prefix Tuning: Lernt zusätzliche Prefix-Tokens für jede Schicht. Kleiner Parameteranteil, aber empirisch oft schwächer als LoRA bei gleicher Kapazität.
  • Prompt Tuning: Lernt nur Embeddings für Soft-Prompts. Extrem parametersparsam, funktioniert aber nur bei sehr grossen Basismodellen zuverlässig.
  • DoRA (Weight-Decomposed Low-Rank Adaptation): Erweiterung, die Gewichts-Updates in Magnitude und Richtung zerlegt. Liefert oft leichte Qualitätsverbesserungen, mit etwas mehr Compute-Bedarf.

Weiter im KI-Lexikon

← Zurück zum Lexikon

Häufige Fragen

Was ist LoRA?+

LoRA (Low-Rank Adaptation) ist ein Verfahren von Hu et al. (Microsoft Research, 2021), das ein vortrainiertes Sprachmodell anpasst, ohne dessen Originalgewichte zu verändern. Stattdessen werden kleine Low-Rank-Matrizen (Adapter) zu ausgewählten Schichten hinzugefügt und nur diese werden trainiert. Typisch werden so 0.1 bis 1 Prozent der Parameter trainiert, der Rest bleibt eingefroren.

Warum funktioniert Low-Rank überhaupt?+

Die Annahme ist, dass die Gewichts-Updates beim Fine-Tuning eine niedrige intrinsische Dimensionalität haben. Statt eine volle Gewichts-Matrix W zu lernen, approximiert LoRA das Update Delta-W als Produkt zweier dünner Matrizen B und A mit kleinem Rang r. In der Praxis reichen Rang 4 bis 64, um die meisten Fine-Tuning-Aufgaben zu lösen.

Was ist QLoRA?+

QLoRA (Dettmers et al., 2023) kombiniert LoRA mit 4-Bit-Quantisierung des Basismodells. Das eingefrorene Basismodell wird in NF4 quantisiert geladen, die trainierbaren LoRA-Adapter bleiben in voller Präzision. Das ermöglicht Fine-Tuning von 65B-Modellen auf einer einzigen 48 GB-GPU oder von 7B-Modellen auf einer Consumer-RTX-4090.

Wie viele Parameter trainiert LoRA wirklich?+

Bei einem 7B-Modell mit Rang 8 auf Attention-Schichten trainiert LoRA typischerweise 4 bis 8 Millionen Parameter, also etwa 0.1 Prozent. Bei 70B-Modellen mit grösserem Rang sind es 100 bis 200 Millionen. Der Adapter selbst ist nur wenige MB gross und lässt sich getrennt vom Basismodell speichern und teilen.

Welche Schichten werden adaptiert?+

Die Originalarbeit adaptiert nur die Query- und Value-Projektionen der Attention. Spätere Arbeiten zeigen, dass das Adaptieren aller linearen Schichten (Q, K, V, Output, MLP) bessere Ergebnisse liefert, vor allem bei komplexeren Aufgaben. Hugging Face PEFT erlaubt feingranulare Kontrolle über target_modules.

Was ist der Vorteil gegenüber Full Fine-Tuning?+

LoRA reduziert VRAM-Bedarf um Faktor 3 bis 10, weil Optimizer-States nur für die kleinen Adapter gespeichert werden müssen. Trainingszeit sinkt um Faktor 2 bis 4. Mehrere LoRA-Adapter können dasselbe Basismodell teilen und zur Laufzeit gewechselt werden, was Multi-Tenant-Serving extrem effizient macht.

Wie wird LoRA in Produktion deployed?+

Zwei Wege sind üblich. Erstens: Merge des Adapters in die Basisgewichte vor Deployment, dann normales Inferenz-Serving ohne Overhead. Zweitens: Hot-Swappable Adapter mit Servern wie vLLM oder TGI, die mehrere LoRA-Varianten gleichzeitig laden und je nach Request anwenden. Letzteres ist ideal für Multi-Customer-Setups.

Was sind typische Hyperparameter?+

Rang r zwischen 8 und 64, Alpha gleich r oder 2r, Lernrate 1e-4 bis 5e-4 (zehnmal höher als bei Full Fine-Tuning), Dropout 0.05 bis 0.1, Batch-Size so gross wie möglich. QLoRA-Standardwerte sind r=64, alpha=16, NF4-Quantisierung, gradient checkpointing aktiviert.

Verwandte Begriffe

Quellen

  • Hu et al. (2021) LoRA, Low-Rank Adaptation of Large Language Models
  • Dettmers et al. (2023) QLoRA, Efficient Finetuning of Quantized LLMs
  • Hugging Face PEFT Documentation
  • Microsoft Research LoRA Repository

Wikidata: Q130145067 · Zuletzt geprüft: 2026-06-07