Papers
LoRA: Low-Rank Adaptation of Large Language Models
Hu et al., 2021 — Wie man große Modelle mit einem Bruchteil der Parameter effizient auf neue Aufgaben anpassen kann.
LoRA (Low-Rank Adaptation) ermöglicht es, große Sprachmodelle auf spezifische Aufgaben anzupassen, ohne alle Modell-Parameter zu verändern. Statt die gesamten Gewichtsmatrizen zu aktualisieren, fügt LoRA kleine, trainierbare Matrizen hinzu. Das reduziert den Speicherbedarf und die Trainingszeit drastisch.
Das Problem: Fine-Tuning ist teuer
Ein vortrainiertes LLM auf eine spezifische Aufgabe anzupassen (Fine-Tuning) bedeutet normalerweise, alle Parameter des Modells zu aktualisieren. Bei einem Modell mit 7 Milliarden Parametern heißt das: 7 Milliarden Werte müssen gespeichert, berechnet und optimiert werden.
Das erfordert enorme GPU-Ressourcen. Volles Fine-Tuning eines 70B-Modells braucht mehrere High-End-GPUs mit zusammen über 100 GB VRAM. Für die meisten Unternehmen und Entwickler ist das nicht praktikabel.
Die LoRA-Idee: Niedrig-Rang-Zerlegung
Die zentrale Erkenntnis von LoRA: Die Änderungen, die beim Fine-Tuning an den Gewichtsmatrizen vorgenommen werden, haben einen niedrigen Rang (low rank). Das heißt, die eigentliche Anpassung lässt sich durch viel kleinere Matrizen darstellen.
Statt eine große Gewichtsmatrix W direkt zu ändern, fügt LoRA zwei kleine Matrizen A und B hinzu:
W: Original-Matrix (eingefroren, wird nicht trainiert)
B: Kleine Matrix (d × r), trainierbar
A: Kleine Matrix (r × d), trainierbar
r: Rang (typisch 4-64, sehr viel kleiner als d)
Die Original-Gewichte W bleiben eingefroren. Nur die kleinen Matrizen A und B werden trainiert. Bei Rang r=16 und Dimension d=4096 trainiert man statt 16,7 Millionen nur 131.072 Parameter pro Schicht — eine Reduktion um den Faktor 128.
Wie LoRA technisch funktioniert
LoRA wird typischerweise auf die Attention-Matrizen (Q, K, V, O) des Transformers angewendet. Der Ablauf:
- 1. Einfrieren: Alle originalen Modell-Parameter werden eingefroren (requires_grad=False). Sie ändern sich während des Trainings nicht.
- 2. LoRA-Module einfügen: Neben jede ausgewählte Gewichtsmatrix werden die kleinen Matrizen A und B eingefügt. A wird zufällig initialisiert, B mit Nullen (damit der Start-Zustand identisch zum Original ist).
- 3. Training: Nur die LoRA-Matrizen werden trainiert. Das braucht einen Bruchteil des Speichers und der Rechenzeit.
- 4. Merging: Nach dem Training können die LoRA-Matrizen in die Original-Gewichte gemerged werden (W + BA). Das Ergebnis ist ein normales Modell ohne zusätzliche Latenz.
Vorteile von LoRA
- Speicher-Effizienz: Statt das gesamte Modell zu duplizieren, speichert man nur die kleinen LoRA-Adapter. Ein LoRA-Adapter für ein 7B-Modell ist oft nur 10-50 MB groß.
- Schnelles Training: Weniger trainierbare Parameter bedeuten schnellere Trainingsschritte und weniger GPU-Speicherbedarf.
- Kein Qualitätsverlust: Bei richtig gewähltem Rang erreicht LoRA vergleichbare Ergebnisse wie volles Fine-Tuning.
- Adapter-Wechsel: Mehrere LoRA-Adapter können für unterschiedliche Aufgaben trainiert und zur Laufzeit getauscht werden — auf demselben Basis-Modell.
Weiterentwicklungen: QLoRA und DoRA
LoRA hat mehrere wichtige Nachfolger inspiriert:
- QLoRA (2023): Kombiniert LoRA mit 4-Bit-Quantisierung. Das Basis-Modell wird in 4-Bit geladen, die LoRA-Matrizen in 16-Bit trainiert. Damit kann ein 70B-Modell auf einer einzigen GPU fine-getuned werden.
- DoRA (2024): Decomposed LoRA zerlegt die Gewichte in Magnitude und Richtung und wendet LoRA nur auf die Richtung an. Das verbessert die Trainingsqualität.
Quellen
- Hu, E. J. et al. (2021). "LoRA: Low-Rank Adaptation of Large Language Models." arXiv:2106.09685
Verwandte Artikel
Attention Is All You Need (2017)
Das Transformer-Paper: Warum Self-Attention die gesamte AI-Landschaft verändert hat.
Model Selection Guide
Wähle das richtige AI-Modell für deinen Anwendungsfall — von Llama bis Mistral.
Ollama: Lokale LLMs einfach gemacht
Installation, Modelle, GPU-Setup, REST API, Open WebUI Integration.
Verwandte Artikel
Attention Is All You Need (2017)
Das Transformer-Paper: Warum Self-Attention die gesamte AI-Landschaft verändert hat.
Model Selection Guide
Wähle das richtige AI-Modell für deinen Anwendungsfall — von Llama bis Mistral.
Ollama: Lokale LLMs einfach gemacht
Installation, Modelle, GPU-Setup, REST API, Open WebUI Integration.
War dieser Artikel hilfreich?
Weiter im Lernpfad
Der Lernpfad bringt diese Artikel in eine Reihenfolge, und der Hub führt die Bausteine, die wir im eigenen Betrieb geprüft haben.
- Lokal und selbst gehostet
- Dokumentiert und prüfbar
- Aus eigenem Betrieb
- Made in Austria