LoRA

LoRA ohne Reue: Ein Praxisleitfaden für verlässliches Fine-Tuning

In den frühen Tagen des adapterbasierten Tunings wirkte LoRA oft wie ein charmanter Hack: effizient, plausibel, aber mit einer bohrenden Frage im Nacken. Würde die Performance immer hinter vollständigem Fine-Tuning zurückbleiben? Neue Forschung von Thinking Machines unter der Leitung von John Schulman (Mitgründer von OpenAI und Schöpfer des PPO-Algorithmus) hält dagegen: Dieser Abstand ist nicht unvermeidlich. Unter den richtigen Bedingungen kann LoRA dem vollständigen Fine-Tuning so dicht folgen, dass wir es als verlässlichen Drop-in-Ersatz behandeln können und nicht mehr als riskante Abkürzung.

Was LoRA macht (und warum es manchmal enttäuscht)

LoRA (Low-Rank Adaptation) zerlegt das Gewichts-Update beim Fine-Tuning in eine additive Form mit niedrigem Rang: W’ = W + γBA. Statt die volle Gewichtsmatrix W anzupassen, lernen Sie kleinere Matrizen B und A (mit Rang r << Originaldimensionen) und skalieren sie mit γ. Das senkt die Zahl der trainierbaren Parameter und den Speicherbedarf drastisch, während die Basisgewichte W eingefroren bleiben.

Für viele Anwendungen war das attraktiv: mehrere Adapter-Versionen ausliefern, mit weniger Speicher trainieren, Gewichte leicht zwischen Modellen übertragen. Der Ruf von LoRA litt aber unter durchwachsenen Ergebnissen. Manchmal funktionierte es gut, manchmal schien es hinter vollständigem Fine-Tuning zurückzubleiben, sofern man es nicht sorgfältig abstimmte.

Das Low-Regret-Rezept: drei einfache Regeln

Was Thinking Machines beisteuert, ist eine Art Rezept „LoRA für Praktiker“: ein Bereich aus Hyperparametern und Anwendungsweisen, der LoRA verlässlich in das bringt, was die Autoren ein Low-Regret-Regime nennen. Dort entspricht die Performance von LoRA der von vollständigem Fine-Tuning. Das ist kein inkrementeller Fortschritt, sondern ein grundlegender: LoRA muss keine Performance-Einbußen mit sich bringen, wenn Sie sich an die Regeln halten.

Regel 1: LoRA auf alle Layer anwenden

Die erste Regel ist einfach, wird aber unterschätzt: Setzen Sie LoRA-Adapter auf alle Layer, nicht nur auf Attention. Viele frühere Arbeiten haben Adapter nur auf die Attention-Projektionen angewendet (die Q-, K-, V- und Output-Matrizen), in der Annahme, dort passiere der Großteil des „Lernens“.

Die Experimente von Thinking Machines zeigen aber, dass Adapter nur auf Attention zu verkümmerten Lernkurven führen, selbst wenn man das mit höherem Rang auszugleichen versucht. Wendet man LoRA dagegen auf Attention-Layer und MLP-Layer (Feed-Forward) an, zieht es mit vollständigem Fine-Tuning gleich, und zwar bei Modellen von 7B bis 70B Parametern. In Architekturen mit Mixture of Experts (MoE) gehören die Adapter auch auf die Expert-Layer.

Die Forscher haben das an Llama-2-Modellen (7B, 13B und 70B Parameter) und Mixtral 8x7B getestet, mit Datensätzen für überwachtes Fine-Tuning, darunter GSM8K (mathematisches Schlussfolgern) und Datensätze zum Befolgen von Anweisungen. Mit LoRA nur auf Attention blieben die Modelle bei nachgelagerten Metriken durchgehend 5 bis 15 % hinter vollständigem Fine-Tuning zurück, auch bei hohem Rang (r=64). Zusätzliche MLP-Adapter schlossen diese Lücke fast vollständig.

Die Autoren sehen darin eine Parallele zur Sicht des „Neural Tangent Kernel“ auf Deep Learning: In diesem theoretischen Rahmen hängt die Trainingsdynamik davon ab, welche Parameter am meisten zu den Gradienten-Updates beitragen. Da MLP-Layer in Transformer-Architekturen typischerweise 2 bis 3× mehr Parameter enthalten als Attention-Layer, entgeht Ihnen ohne sie der Großteil des Gradientensignals, das vollständiges Fine-Tuning antreibt.

Regel 2: Die Lernrate rund 10× so hoch ansetzen wie beim vollständigen Fine-Tuning

Zweitens: Die Lernrate für LoRA sollte etwa 10× so hoch sein wie beim vollständigen Fine-Tuning. Das ist das am wenigsten intuitive Ergebnis der Arbeit.

Beim typischen vollständigen Fine-Tuning eines Modells mit 7B bis 70B Parametern liegen die Lernraten im Bereich von 1e-5 bis 5e-5. Das Team von Thinking Machines fand die optimalen LoRA-Lernraten durchgehend im Bereich von 1e-4 bis 5e-4, also etwa 10× höher.

Das galt für jede getestete Konfiguration:

  • Überwachtes Fine-Tuning für mathematisches Schlussfolgern (MATH-Datensatz), das Befolgen von Anweisungen und Coding-Aufgaben
  • Reinforcement Learning (RL) mit Policy Gradients bei Aufgaben zum Schlussfolgern
  • Mehrere Modellgrößen (7B, 13B, 70B Parameter)
  • Verschiedene Rangwerte (r=8, 16, 32, 64)

Ein Beispiel: Lief das vollständige Fine-Tuning eines Llama 2 7B mit einer Lernrate von 2e-5, lag die optimale LoRA-Lernrate bei 2e-4. Bei 5e-5 im vollständigen Fine-Tuning lag der Sweet Spot von LoRA bei 5e-4. Der Faktor 10× blieb bemerkenswert konstant.

Noch überraschender: In den frühen Trainingsphasen ändert sich diese optimale Lernrate über die Rangwerte hinweg kaum. Das liegt an der Standardparametrisierung von LoRA: In der üblichen Implementierung wird die Adapter-Ausgabe mit α/r skaliert, wobei α ein Hyperparameter ist (oft gleich r gesetzt) und r der Rang. Durch diese Skalierung wird der Beitrag jedes einzelnen Parameters bei steigendem Rang automatisch angepasst, und die effektive Lernrate bleibt über verschiedene Ränge hinweg relativ stabil. Sobald Sie also eine Basis-Lernrate für vollständiges Fine-Tuning gewählt haben, multiplizieren Sie sie mit zehn und haben Ihre LoRA-Lernrate. Das verkleinert Ihren Suchraum für Hyperparameter drastisch.

Regel 3: Batch Sizes moderat halten

Drittens: Widerstehen Sie der Versuchung, die Batch Size aufzublähen. LoRA verträgt sehr große Batches schlechter als vollständiges Fine-Tuning.

Die Forscher stellten fest: Vollständiges Fine-Tuning kam mit Batch Sizes von 256 bis 512 Samples pro Schritt ohne Performance-Verlust zurecht, während die Performance von LoRA ab Batch Sizes über 128 merklich nachließ. Bei einer Batch Size von 512 wuchs der Abstand beim finalen Validation Loss zwischen LoRA und vollständigem Fine-Tuning um 10 bis 20 %, selbst mit optimaler Lernrate und Adaptern auf allen Layern.

Entscheidend ist, dass dieser Nachteil nicht vom Rang abhängt. Das deutet auf eine inhärente Grenze der niedrigrangigen BA-Produkt-Parametrisierung hin, wenn man sie in aggressive Mini-Batching-Regime treibt. Die praktische Empfehlung: Halten Sie die Batch Size für die meisten Anwendungen im Bereich von 32 bis 128. Das ist oft eine gute Nachricht, denn riesige Batches brauchen mehr Speicher und können Instabilität im Training verdecken.

Wie das in der Praxis aussieht

Vorher (alter LoRA-Ansatz):

  • Adapter: nur Attention-Layer
  • Lernrate: gleich wie beim vollständigen Fine-Tuning (1e-5 bis 5e-5)
  • Batch Size: so groß, wie der Speicher erlaubt (256 bis 512)
  • Rang: aufwendiges Tuning nötig, oft r=64+
  • Ergebnis: schwankende Performance, häufig schlechter als vollständiges Fine-Tuning

Nachher (Low-Regret-LoRA):

  • Adapter: alle Layer (Attention + MLP + MoE, falls vorhanden)
  • Lernrate: 10× die Rate des vollständigen Fine-Tunings (1e-4 bis 5e-4)
  • Batch Size: moderat (32 bis 128)
  • Rang: r=16-32 reicht oft
  • Ergebnis: Die Performance folgt verlässlich dem vollständigen Fine-Tuning

Wenn Sie sich an die Regeln halten

Halten Sie sich an diese Regeln (Adapter auf allen Layern, Lernrate ≈ 10×, moderate Batch Sizes), folgt der Trainingsverlauf von LoRA dem vollständigen Fine-Tuning fast Schritt für Schritt. Die Loss-Kurven decken sich, Fähigkeiten entstehen im Gleichschritt, und sobald der Adapter in die Sättigung kommt, flacht er sanft ab, statt einzubrechen. Der Adapter verbessert sich dann vielleicht nicht mehr so, wie es vollständiges Fine-Tuning täte, aber er divergiert nicht katastrophal: LoRA wird langsamer, bricht aber nicht ein.

Das ist ein großer Schritt bei der Verlässlichkeit: LoRA zu tunen wird vom Glücksspiel zu einem reproduzierbaren Prozess.

Das größere Bild: Kapazität und Rechenaufwand

Hinter der Fassade der empirischen Regeln stecken tiefere Beobachtungen, die einen genaueren Blick lohnen. Das Team von Thinking Machines zeigt: Wenn LoRA nicht durch Kapazität begrenzt ist, der Adapter also im Verhältnis zum Datensatz genug Freiheitsgrade hat, lernt LoRA mit derselben Sample-Effizienz wie vollständiges Fine-Tuning.

Erst wenn die Größe des Datensatzes die Kapazität des Adapters übersteigt, fällt LoRA zurück. In ihren Experimenten konnte ein Adapter mit Rang 32 auf einem 7B-Modell bei Datensätzen bis etwa 50.000 Beispielen mit vollständigem Fine-Tuning mithalten. Darüber stellte eine Erhöhung des Rangs auf 64 oder 128 die Parität wieder her. Die Grenzen von LoRA kommen also nicht von einer strukturellen Schwäche, sondern davon, dass es an eine Kapazitätsdecke stößt, gemessen an dem, was Sie ihm beibringen wollen.

Die Autoren berechnen auch die Recheneffizienz: LoRA braucht pro Trainingsschritt etwa ⅔ der FLOPs von vollständigem Fine-Tuning. Das ist eine theoretische Berechnung: Die Gradienten-Updates auf der vollen Gewichtsmatrix W fallen weg und werden durch Operationen auf den kleineren Matrizen A und B ersetzt. Bei einem Modell mit 7B Parametern und typischem LoRA-Rang (r=32) sind das rund 33 % weniger Gleitkommaoperationen pro Trainingsschritt.

In großem Maßstab fällt das ins Gewicht. Attention-Mechanismen in Transformern sind zwar rechenintensiv, doch der Großteil der Operationen beim Training großer Modelle entsteht weiterhin durch Matrixmultiplikationen in Attention- und MLP-Layern. 33 % weniger FLOPs bedeuten eine echte Ersparnis an Laufzeit, besonders beim Training auf Consumer-Hardware oder wenn viele Experimente parallel laufen.

Der Sweet Spot bei RL

In Settings mit Reinforcement Learning, etwa beim Fine-Tuning mit Policy Gradients für mathematisches Schlussfolgern, wird der Vorteil von LoRA noch überzeugender. RL from Human Feedback (RLHF) und Policy-Gradient-Methoden liefern pro Episode nur ein skalares Reward-Signal, im Grunde nur eine Zahl für „gut“ oder „schlecht“. Daher ist der Informationsgehalt pro Trainingssample extrem gering (O(1) Bits), egal wie groß das Modell ist. Selbst ein Adapter mit Rang 1 reicht oft aus, um dieses spärliche Signal aufzunehmen.

In ihren Experimenten zu MATH und GSM8K mit Policy-Gradient-Methoden hielt LoRA mit r=8 problemlos mit vollständigem Fine-Tuning mit, über Modelle mit 7B, 13B und 70B Parametern hinweg. Das legt nahe: In Bereichen, in denen Post-Training eher durch das Signal als durch die Kapazität begrenzt ist, passt LoRA besonders gut, selbst mit minimaler Kapazität.

Was noch offen ist

Die Arbeit liefert empirische Regeln, lässt aber einige Fragen offen:

Theorie zur 10×-Regel: Die Autoren haben noch keine vollständige theoretische Erklärung dafür, warum der Faktor 10× bei der Lernrate so allgemein gilt. Sie bieten plausible Argumente zur Skalierung der effektiven Lernrate in niedrigrangigen Unterräumen, aber keinen vollständigen Beweis.

Varianten: Die Ergebnisse gelten vor allem für Standard-LoRA. Unklar ist, wie gut sich diese Regeln auf Varianten wie QLoRA (quantisiertes LoRA für 4-Bit- oder 8-Bit-Basismodelle), PiSSA (principal singular value and singular vector adaptation) oder andere Adapter-Methoden übertragen lassen.

Kapazität vorhersagen: Die Arbeit erkennt zwar, wann Adapter an ihre Kapazitätsgrenze stoßen, eine genaue Formel für den nötigen Mindestrang bei gegebener Datensatzgröße und Modellarchitektur gibt es aber noch nicht.

Extreme Größenordnungen: Alle Experimente liefen auf Modellen bis 70B Parameter. Ob die Regeln auch für Modelle mit 400B+ Parametern gelten, ist noch nicht getestet.

Wann Sie LoRA NICHT verwenden sollten

Trotz dieser Fortschritte hat vollständiges Fine-Tuning weiter seinen Platz:

  • Katastrophale Distribution Shifts: Wenn Sie grundlegend ändern, was ein Modell tut (z. B. einem Sprachmodell beibringen, strukturierten Code in einem völlig neuen Format auszugeben), kann vollständiges Fine-Tuning nötig sein
  • Maximale absolute Performance: Wo jedes 0,1 % an Genauigkeit zählt und Rechenleistung unbegrenzt ist, liegt vollständiges Fine-Tuning unter Umständen noch knapp vor LoRA
  • Sehr große Datensätze: Wenn Sie auf Millionen komplexer Beispiele trainieren, brauchen Sie womöglich einen extrem hohen Rang (r=128+) oder greifen gleich zu vollständigem Fine-Tuning

Fazit: LoRA wird erwachsen

Aus Sicht von Tool-Bauern und Modell-Bastlern ist dieser Beitrag „LoRA without regret“ ein Paradigmenwechsel. LoRA muss keine umstrittene Heuristik mehr sein. Es kann eine Plug-and-Play-Technik für das Post-Training sein, mit berechenbaren Leitplanken.

Die Arbeit erscheint zu einer Zeit, in der sich im Feld der Adapter Alternativen wie Adapters, Prefix Tuning und (IA)³ drängen. Das Besondere an diesem Beitrag ist keine neue Technik, sondern ein Rezept, das die bestehende, weit verbreitete LoRA-Methode berechenbar und verlässlich macht. Genau das brauchen Praktiker.

Damit könnten Hobbyisten wie Research Engineers große Modelle mit bescheidener Rechenleistung verlässlich fine-tunen (auf Colab, auf einem kleinen Cluster, sogar lokal), ohne sich zu sorgen, dass der Adapter aus der Reihe tanzt.

Wenn Sie sich den Fine-Tuning-Prozess als heikle Alchemie aus Hyperparametern und verborgenem Zustand vorstellen, dann bringt Thinking Machines ein Rezept. Das Team hat LoRA vom „Daumen-drück-Wissenschaftsprojekt“ zum „Industriewerkzeug“ gemacht. Die Betonung von Stabilität, Reproduzierbarkeit und berechenbaren Fehlermustern passt zur größeren Mission des Unternehmens: KI-Systeme verlässlicher und vertrauenswürdiger machen.

Im größeren Zusammenhang schärft das auch unseren theoretischen Blick darauf, wie wir Lernkapazität im Verhältnis zur Komplexität eines Datensatzes verteilen. LoRA ist dann nicht nur ein Hilfsmittel, sondern auch eine Sonde dafür, wo und wie Information in einem großen Modell gespeichert ist. Wenn das Lernen im Adapter dem Lernen auf der vollen Matrix entspricht, sehen wir, dass sich vieles von dem, was vollständiges Fine-Tuning leistet, „gut komprimieren“ lässt, nämlich in Updates mit niedrigem Rang, zumindest in Post-Training-Regimen.

Wenn Sie in einer Umgebung mit knapper Rechenleistung arbeiten oder viele Experimente parallel fahren, laden diese Ergebnisse dazu ein, die alte Angst abzulegen, LoRA könnte „diesmal kaputtgehen“. Mit den Regeln in der Hand können Sie zuversichtlich tunen und erwarten, dass die Loss-Kurven übereinstimmen, die Performance kommt und Ihr Adapter sich benimmt. LoRA ist erwachsen geworden, und die Kunst des Post-Trainings ist damit um einiges verlässlicher.


Quick Start: So wenden Sie die Regeln an

💡 Speicherersparnis in der Praxis: Ein LoRA-Adapter mit Rang 32 auf Llama 2 70B muss nur ~0,1 % der Modellparameter trainieren. Das senkt den VRAM-Bedarf von ~280GB (vollständiges Fine-Tuning in bf16) auf ~40GB und bringt Fine-Tuning von 70B in die Reichweite einer einzelnen A100-GPU.

Für ein Llama 2 7B bei einer Aufgabe zum mathematischen Schlussfolgern:

  1. Adapter anwenden: Attention-Layer (Query-, Key-, Value- und Output/O-Projektionen) + MLP-Layer (Up- und Down-Projektionen)
  2. Rang setzen: Beginnen Sie mit r=32
  3. Lernrate: Wenn vollständiges Fine-Tuning 2e-5 verwendet, nehmen Sie 2e-4 für LoRA
  4. Batch Size: 64 oder 128
  5. Erwartung: Der Training Loss sollte während des gesamten Trainings innerhalb von 5 bis 10 % des vollständigen Fine-Tunings bleiben

Wann Sie den Rang erhöhen sollten: Wenn der Validation Loss nach Befolgen aller Regeln deutlich über dem des vollständigen Fine-Tunings stagniert, versuchen Sie, den Rang zu verdoppeln (r=32 → r=64)

Fehlersuche: Bei Divergenz oder Instabilität prüfen Sie der Reihe nach: (1) Sitzen die Adapter auf ALLEN Layern, auch den MLPs? (2) Ist die LR wirklich ~10× so hoch wie Ihre Rate aus dem vollständigen Fine-Tuning? (3) Liegt die Batch Size unter 128? Diese drei Punkte erklären in der Praxis 95 % der LoRA-Fehlschläge.

Aus dem Englischen übersetzt: zum Originalbeitrag

Gestalten Sie die Zukunft Ihres Unternehmens mit KI

Tauchen Sie ein in unsere spannenden Workshops und rüsten Sie Ihr Team mit den Werkzeugen und dem Wissen aus, um im Zeitalter der KI führend zu sein.

Kontaktieren Sie uns
Scroll to top