LoRA und PEFT in der Praxis
Ein Praxisleitfaden zu parameter-effizientem Fine-Tuning mit Stand April 2024. Wir erklären die Funktionsweise von LoRA, die 4-Bit-Quantisierung von QLoRA und die aktuelle Open-Source-Toolchain. Dazu ein Entscheidungsrahmen für Tuning versus Retrieval versus Prompting — inklusive der Grenzen von Adaptern und dem Serving tausender Adapter auf einer GPU.
Das Kostenproblem der Modellanpassung
Vollständiges Fine-Tuning aktualisiert jeden Parameter eines Modells. Für ein Modell mit 65 Milliarden Parametern in 16-Bit-Präzision sind dafür mehr als 780 GB GPU-Speicher nötig — gemessen von Dettmers et al. an LLaMA 65B. Jede angepasste Variante ist eine vollständige Kopie der Gewichte. Zehn Aufgaben bedeuten zehn Kopien des gesamten Modells.
Offene Gewichte sind inzwischen gut genug, um relevant zu sein: Llama 2 (Juli 2023), Mistral 7B (September 2023), Mixtral 8x7B (Dezember 2023), Llama 3 (18. April 2024). Die praktische Frage für Engineering-Teams lautet: Wie spezialisiert man diese Modelle ohne GPU-Cluster und ohne eine Flotte von 140-GB-Checkpoints zu pflegen?
Wie LoRA funktioniert
LoRA (Hu et al., 2021) friert die vortrainierten Gewichte ein und fügt trainierbare Matrizen mit niedrigem Rang in ausgewählte Schichten ein. Statt eines vollständigen Gewichts-Updates ΔW lernt das Verfahren die Zerlegung ΔW = BA, wobei der Rang r klein ist — häufig zwischen 1 und 16. Trainiert werden nur A und B. Das Basismodell bleibt unverändert.
Die Zahlen aus dem Originalpaper sind konkret. Bei GPT-3 175B reduzierte LoRA die trainierbaren Parameter um den Faktor 10.000 und den GPU-Speicherbedarf im Training um den Faktor 3. Der Task-Checkpoint schrumpfte bei Rang 4 von 350 GB auf 35 MB. Nach dem Training lässt sich der Adapter in die Basisgewichte mergen. Gemergt verursacht LoRA keine zusätzliche Inferenzlatenz. Die Qualität erreichte oder übertraf in den berichteten Benchmarks das vollständige Fine-Tuning.
Die Position der Adapter ist relevant. Das Paper zeigt: Query- und Value-Projektionen gemeinsam zu adaptieren schlägt denselben Parameteretat auf einem einzelnen Matrixtyp mit höherem Rang. Rang 4 auf Wq und Wv genügte für GPT-3; größere Ränge brachten keinen konsistenten Gewinn.
QLoRA bringt Tuning auf eine einzelne GPU
QLoRA (Dettmers et al., Mai 2023) kombiniert LoRA mit einem 4-Bit-quantisierten Basismodell. Gradienten werden durch eingefrorene 4-Bit-NormalFloat-Gewichte (NF4) in die Adapter zurückpropagiert. Zwei ergänzende Techniken — Double Quantization und Paged Optimizers — senken den Speicherbedarf weiter. Das Ergebnis: Das Fine-Tuning eines 65B-Modells fällt von über 780 GB auf unter 48 GB. Das ist eine einzelne professionelle GPU.
Das Guanaco-65B-Modell des Papers erreichte nach 24 Stunden auf einer GPU 99,3 % des ChatGPT-Niveaus im Vicuna-Benchmark. Dieser Benchmark misst Chat-Präferenz, nicht faktische Korrektheit — eine schmale Aussage. Das belastbare Resultat ist ein anderes: 4-Bit-NF4-QLoRA erreichte auf akademischen Benchmarks das Niveau von 16-Bit-Fine-Tuning. Praktisch rücken damit Modelle von 7B bis 13B in Reichweite einer einzelnen 24-GB-Karte.
Die Toolchain im Frühjahr 2024
Der Standard-Stack besteht aus Hugging Face PEFT (veröffentlicht am 10. Februar 2023) für die Adapter-Methoden, bitsandbytes für 4-Bit-Quantisierung und TRL für Supervised Fine-Tuning und DPO. Axolotl kapselt dieselben Komponenten hinter einer YAML-Konfiguration. Die relevanten Stellschrauben sind wenige: Rang, Alpha, Target-Module, Lernrate und Epochen.
Datenqualität dominiert sie alle. Die QLoRA-Studie fand: Rund 9.000 kuratierte OASST1-Beispiele ergaben einen besseren Chatbot als 450.000 Beispiele aus FLAN v2. Unsere Erfahrung deckt sich damit: Ein kleiner sauberer Datensatz mit konsistenter Formatierung schlägt einen großen verrauschten. Planen Sie mehr Zeit für Daten ein als für das Training.
Tuning versus Retrieval versus Prompting
Fine-Tuning ist eines von drei Werkzeugen — und das teuerste im Betrieb. Die Standardreihenfolge lautet: erst Prompting, dann Retrieval, dann parameter-effizientes Tuning. Fine-Tuning verdient seinen Platz, wenn das Modell sein Verhalten ändern soll — Ausgabeformat, Tonalität, Fachvokabular, eine enge Aufgabe in tausendfacher Wiederholung — nicht, wenn es mehr wissen soll.
Die Kosten unterscheiden sich in der Art. Prompting kostet Latenz und Tokens bei jeder Anfrage. Retrieval kostet Infrastruktur: einen Index, eine Chunking-Strategie, Aktualisierungspipelines. Tuning kostet vorab: Datenkuratierung, Trainingsläufe, Evaluation — und ein Modellartefakt, das Sie fortan besitzen und pflegen. Wählen Sie das günstigste Werkzeug, das die Anforderung erfüllt — meist in dieser Reihenfolge.
| Ansatz | Was sich ändert | Geeignet für | Zentrale Grenze |
|---|---|---|---|
| Prompting | Nichts — Instruktionen im Kontext | Schnelle Iteration, geringes Volumen | Lange Prompts kosten Tokens bei jedem Aufruf |
| Retrieval (RAG) | Nichts — Fakten zur Laufzeit injiziert | Aktuelles, überprüfbares Wissen | Retrieval-Qualität begrenzt die Antwortqualität |
| LoRA / QLoRA | Kleine Adapter-Gewichte (MB) | Format, Stil, Domänenverhalten | Fügt neues Faktenwissen nicht zuverlässig hinzu |
Was LoRA nicht leistet
LoRA injiziert neues Wissen nicht zuverlässig. Ein Adapter, trainiert auf Ihrer Dokumentation, imitiert deren Stil — und halluziniert weiterhin deren Inhalte. Für Fakten bleibt Retrieval das richtige Werkzeug. LoRA fügt auch keine Fähigkeiten hinzu, die dem Basismodell fehlen: Ein 7B-Modell, das eine Aufgabe nicht durchdringt, lernt sie nicht aus 5.000 Beispielen.
Zwei operative Grenzen. Erstens: Ein in die Basisgewichte gemergter Adapter bedient genau eine Aufgabe; das Originalpaper vermerkt, dass das Batching verschiedener Aufgaben in einem Forward-Pass ungemergte Adapter erfordert. Zweitens: Regressionen bei allgemeinen Fähigkeiten sind möglich und müssen gemessen werden — jedes Fine-Tuning braucht vor dem Deployment ein eigenes Evaluationsset.
Viele Adapter auf einer GPU betreiben
Weil Adapter nur Megabytes groß sind, kann ein Basismodell viele von ihnen tragen. S-LoRA (Sheng et al., November 2023) demonstrierte das Serving von 2.000 LoRA-Adaptern auf einer einzelnen GPU — mit Unified Paging für Adapter-Gewichte und KV-Cache in einem gemeinsamen Speicherpool. Der Durchsatz lag bis zu 4-mal über vLLM mit naiver LoRA-Unterstützung und bis zu 30-mal über dem Adapter-Wechsel via PEFT.
Das verändert die Ökonomie der Individualisierung. Modelle pro Kunde oder pro Aufgabe bedeuten nicht länger GPUs pro Kunde. Die Deployment-Einheit wird der Adapter: versioniert, wenige Dutzend Megabyte, im laufenden Betrieb gegen eine gemeinsame Basis getauscht. Wir behandeln Adapter als Build-Artefakte — mit derselben Review- und Rollout-Disziplin wie Code.
Ausblick vom April 2024
Llama 3, veröffentlicht am 18. April 2024, verschiebt die offene Basislinie erneut: Ein 8B-Modell erledigt heute Aufgaben, die vor einem Jahr 70B erforderten. Wir erwarten, dass getunte Modelle der 8B-Klasse zum Standard für enge Produktionsaufgaben werden — mit QLoRA-Läufen, die sich in Stunden und einstelligen Eurobeträgen an Rechenkosten messen.
Die Methodenentwicklung steht nicht still: DoRA (Februar 2024) und GaLore (März 2024) verfeinern, was Low-Rank-Training leisten kann. Unsere Prognose für die nächsten zwölf Monate: Multi-Adapter-Serving wird Standardfunktion von Inferenz-Stacks, Fine-Tuning spezialisiert sich auf Verhalten, während Retrieval das Wissen übernimmt — und die meisten Produktionssysteme kombinieren still Prompting, Retrieval und einen kleinen Adapter.
Quellen
- Hu et al. — LoRA: Low-Rank Adaptation of Large Language Models (arXiv, 17 June 2021)
- Hugging Face — PEFT: Parameter-Efficient Fine-Tuning of Billion-Scale Models on Low-Resource Hardware (10 February 2023)
- Dettmers et al. — QLoRA: Efficient Finetuning of Quantized LLMs (arXiv, 23 May 2023)
- Sheng et al. — S-LoRA: Serving Thousands of Concurrent LoRA Adapters (arXiv, 6 November 2023)
- Meta AI — Introducing Meta Llama 3 (18 April 2024)
