Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

LoRA (Low-Rank Adaptation)

LoRA optimiert große Modelle durch Fine-Tuning, indem die Gewichte eingefroren und kleine Matrizen mit Updates niedrigen Rangs trainiert werden. Dadurch sinken die Anzahl trainierbarer Parameter sowie Speicher- und Platzbedarf.

LoRA steht für Low-Rank Adaptation und ist eine Methode zur parametersparenden Feinabstimmung (PEFT), mit der ein großes vortrainiertes Modell an eine neue Aufgabe angepasst wird. Dazu werden seine ursprünglichen Gewichte eingefroren und neben ausgewählten Schichten zwei kleine Matrizen trainiert. Ihr Produkt ist ein Update mit niedrigem Rang, das zu den eingefrorenen Gewichten addiert wird. Daher erhalten nur sehr wenige Parameter jemals Gradienten. LoRA wurde 2021 von Hu et al. bei Microsoft vorgestellt. Dabei sank die Zahl der trainierbaren Parameter von GPT-3 175B um den Faktor 10.000 und der Bedarf an GPU-Speicher beim Training mit Adam um den Faktor 3 gegenüber einer vollständigen Feinabstimmung. Die Qualität entsprach dabei der vollständigen Feinabstimmung oder übertraf sie bei RoBERTa, DeBERTa, GPT-2 und GPT-3. Heute wird LoRA häufig verwendet, um große Sprachmodelle (LLMs), Diffusionsmodelle und Vision-Transformer auf vergleichsweise einfacher Hardware anzupassen. LoRa, das Funkprotokoll mit großer Reichweite für IoT-Geräte, ist ein davon unabhängiger Begriff.

So funktioniert LoRA#

Bei der Feinabstimmung wird eine vortrainierte Gewichtsmatrix W der Größe d × k durch ein Update ΔW verändert. LoRA nimmt an, dass dieses Update einen niedrigen intrinsischen Rang hat und sich daher als Produkt zweier dünner Matrizen schreiben lässt: ΔW = B × A, wobei A die Größe r × k und B die Größe d × r hat und der Rang r deutlich kleiner als d oder k ist. Die Ausgabe der Schicht lautet dann h = Wx + (α / r) × BAx, wobei α eine feste Skalierungskonstante ist. A wird mit kleinen Zufallswerten und B mit Nullen initialisiert. Das Training beginnt also exakt mit dem vortrainierten Modell. Während der Rückpropagierung werden nur A und B aktualisiert. Dadurch entfällt auch der Optimiererzustand für alle eingefrorenen Gewichte.

Bei einer Projektion der Größe 4096 × 4096 werden bei vollständiger Feinabstimmung etwa 16,8 Millionen Gewichte trainiert, während ein Adapter mit Rang 8 8 × (4096 + 4096) = 65.536 trainiert. Das folgende PyTorch-Skript erstellt einen solchen Adapter und führt ihn mit der eingefrorenen Schicht zusammen:

import torch
from torch import nn

# A frozen pretrained 4096 x 4096 projection, like one in a transformer attention block
base = nn.Linear(4096, 4096).requires_grad_(False)

# LoRA's trainable rank-8 update: B @ A, scaled by alpha / r
# B starts at zero, so the adapted layer initially matches the pretrained one
r, alpha = 8, 16
A = nn.Parameter(torch.randn(r, 4096) * 0.01)
B = nn.Parameter(torch.zeros(4096, r))
trainable = A.numel() + B.numel()
total = trainable + sum(p.numel() for p in base.parameters())
print(f"Trainable: {trainable:,} of {total:,} parameters ({trainable / total:.2%})")

# After training, merge the update into the base weight so inference costs nothing extra
nn.init.normal_(B, std=0.01)  # stand-in for trained values
x = torch.randn(2, 4096)
adapted = base(x) + (alpha / r) * (x @ A.T @ B.T)
merged = nn.functional.linear(x, base.weight + (alpha / r) * B @ A, base.bias)
print(f"Merged layer matches adapter output: {torch.allclose(adapted, merged, atol=1e-5)}")

Der Adapter trainiert 65.536 der 16.846.848 Parameter der Schicht, also 0,39 %. Wird B × A in W eingefaltet, liefert das dieselben Ausgaben wie der separat ausgeführte Adapter. Zusammengeführte LoRA-Modelle laufen deshalb genauso schnell wie das Original – ein Vorteil gegenüber früheren Adapterschichten, die bei jedem Vorwärtsdurchlauf zusätzliche Berechnungen verursachen.

LoRA in der Praxis verwenden#

Die ursprüngliche Arbeit passte nur die Abfrage- und Wertprojektionen der Attention im Transformer an. Viele Rezepte zielen inzwischen auf jede lineare Schicht ab. Rang und α sind die wichtigsten Hyperparameter: Die Hugging Face PEFT-Bibliothek verwendet standardmäßig r = 8 und α = 8. Da das Basismodell unverändert bleibt, kann eine Bereitstellung eine einzige Kopie davon behalten und kleine, aufgabenspezifische Adapter austauschen. Mit Rang 4 für die Abfrage- und Wertprojektionen von GPT-3 175B schrumpfte jeder angepasste Prüfpunkt von 350 GB auf etwa 35 MB – ungefähr um den Faktor 10.000.

  • Sprachmodelle: Teams passen offene LLMs auf einer GPU an ein Fachgebiet, einen Stil oder ein Anweisungsformat an und kombinieren LoRA dabei oft mit Daten für das Instruction Tuning.
  • Bilderzeugung: LoRA-Dateien vermitteln Stable Diffusion und ähnlichen Modellen eine Figur, ein Produkt oder einen Kunststil. Sie werden getrennt vom Basisprüfpunkt geteilt und können mit ihm kombiniert werden.
  • Vision- und multimodale Modelle: Adapter spezialisieren Vision-Transformer und Vision-Language-Modelle (VLMs) für medizinische, industrielle oder dokumentenbasierte Bilder, ohne den Backbone neu zu trainieren.

Varianten#

  • QLoRA: Friert das Basismodell in 4-Bit-NormalFloat-Präzision ein und trainiert darauf LoRA-Adapter. Dettmers et al. nutzten das Verfahren, um ein Modell mit 65 Milliarden Parametern auf einer einzelnen 48-GB-GPU feinabzustimmen und dabei die Leistung einer vollständigen 16-Bit-Feinabstimmung zu erhalten.
  • DoRA: Zerlegt jedes vortrainierte Gewicht in Betrag und Richtung und wendet LoRA nur auf die Richtung an. Dadurch wird bei gleichen Inferenzkosten der Genauigkeitsabstand zur vollständigen Feinabstimmung kleiner.
  • Parametersparende Feinabstimmung: Oberbegriff für Methoden, bei denen nur ein kleiner Teil eines Modells trainiert wird. Das Einfrieren von Schichten ist die einfachste Variante. Ultralytics YOLO bietet sie als Trainingsargument freeze an: Damit bleiben die ersten N Schichten eines YOLO26-Modells auf ihren vortrainierten Gewichten, während der Rest trainiert wird.
  • Vollständige Feinabstimmung: Aktualisiert jedes Gewicht und speichert für jede Aufgabe eine vollständige Modellkopie. Bei Programmier- und Mathematikaufgaben schnitt die vollständige Feinabstimmung deutlich besser ab als herkömmliches LoRA, während LoRA weniger katastrophales Vergessen anderer Fähigkeiten des Basismodells verursachte.
  • Prompt-Tuning: Lernt weiche Prompt-Einbettungen, die der Eingabe vorangestellt werden, während alle Modellgewichte eingefroren bleiben.
  • Transferlernen: Der allgemeine Ansatz, Wissen aus einer Aufgabe für eine andere wiederzuverwenden. LoRA ist eine effiziente Möglichkeit dazu.
  • Modellzusammenführung: Kombiniert die Gewichte separat feinabgestimmter Modelle. Ein häufiger Anwendungsfall ist das Zusammenführen mehrerer LoRA-Adapter in ein Basismodell.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens