Low-Rank Adaptation (LoRA) (DE)
Low-Rank Adaptation (LoRA) ist eine Methode des parameter-effizienten Fine-Tunings (PEFT), die es ermöglicht, große Sprachmodelle (LLMs) mit minimalem Rechenaufwand an neue Aufgaben anzupassen. Die Technologie wurde erstmals 2021 in einer Arbeit von Edward Hu und seinen Kollegen vorgestellt[1].
Das vollständige Fine-Tuning (full fine-tuning) großer Modelle wie LLaMA oder GPT erfordert enorme Ressourcen, was es für die meisten Forscher und Entwickler unzugänglich macht. LoRA löst dieses Problem, indem es ermöglicht, nur einen kleinen Teil der Modellparameter zu trainieren, wobei eine hohe Qualität und Leistung erhalten bleibt, die mit einem vollständigen Fine-Tuning vergleichbar ist[2].
Funktionsprinzip
Die Grundidee von LoRA besteht darin, die ursprünglichen Gewichte eines vortrainierten Modells nicht zu verändern, sondern ihnen eine kleine „Korrekturmatrix“ hinzuzufügen. Anstatt die riesige Gewichtsmatrix `W` direkt zu trainieren, stellt LoRA deren Änderung als Produkt zweier kleiner Matrizen mit niedrigem Rang dar.
Formal wird die Aktualisierung einer ursprünglichen Gewichtsmatrix `W_0` der Dimension `d × k` als `ΔW = BA` dargestellt, wobei `B` eine Matrix der Dimension `d × r` und `A` eine Matrix der Dimension `r × k` ist. Der Rang `r` ist ein Hyperparameter und deutlich kleiner als `d` und `k` (`r << d, k`). Während des Fine-Tunings werden die ursprünglichen Gewichte `W_0` eingefroren (frozen), und nur die Matrizen `A` und `B` werden trainiert. Die resultierende Gewichtsmatrix wird als `W = W_0 + BA` berechnet.
Dies ermöglicht es, die Anzahl der trainierbaren Parameter um das Tausendfache zu reduzieren. Beispielsweise reduziert LoRA beim Fine-Tuning von GPT-3 (175 Milliarden Parameter) die Anzahl der trainierbaren Parameter um das 10.000-fache und senkt den GPU-Speicherbedarf um das 3-fache[1].
Wesentliche Vorteile
- Ressourceneinsparung: Die Anzahl der trainierbaren Parameter wird drastisch reduziert (um bis zu 90 % und mehr), was den Verbrauch von Videospeicher (VRAM) erheblich senkt und den Trainingsprozess beschleunigt.
- Keine Latenz bei der Inferenz (inference): Nach dem Training können die Matrizen `B` und `A` mit der Hauptmatrix `W_0` „verschmolzen“ werden, indem `W = W_0 + BA` berechnet wird. Dadurch entstehen während der Nutzung des Modells keine zusätzlichen Berechnungen oder Verzögerungen[1].
- Modularität und schneller Aufgabenwechsel: Trainierte LoRA-Adapter sind kleine Dateien (wenige Megabyte). Dies ermöglicht es, Dutzende von Adaptern für verschiedene Aufgaben einfach zu speichern und schnell zwischen ihnen zu wechseln, ohne das Basismodell zu verändern[3].
Einschränkungen und Modifikationen
Obwohl LoRA sehr effizient ist, kann ihre niedrigrangige Natur eine Einschränkung für Aufgaben darstellen, die das Speichern großer Mengen neuer Informationen erfordern. Zur Lösung dieses und anderer Probleme wurden verschiedene Modifikationen vorgeschlagen.
QLoRA
QLoRA (Quantized Low-Rank Adaptation) ist eine der populärsten Modifikationen, die 2023 vorgestellt wurde. Sie kombiniert LoRA mit einer 4-Bit-Quantisierung des Basismodells[4]. Dies ermöglicht eine weitere Reduzierung des Speicherbedarfs, sodass Modelle mit Dutzenden von Milliarden Parametern (z. B. 65B-Modelle) auf einer einzigen Consumer-GPU trainiert werden können. Auf der Grundlage von QLoRA wurde unter anderem das Modell Guanaco entwickelt, das Ergebnisse zeigte, die mit denen von ChatGPT vergleichbar sind.
Weitere Modifikationen
- MoRA (High-Rank Updating): Wurde für Aufgaben vorgeschlagen, bei denen LoRA aufgrund der Rangbeschränkung eine unzureichende Leistung zeigt. MoRA verwendet Methoden, die es ermöglichen, Gewichte mit hohem Rang zu aktualisieren, während die Parametereffizienz erhalten bleibt[5].
Implementierung und Anwendung
Die LoRA-Technologie hat sich dank ihrer Effizienz und einfachen Integration weit verbreitet. Eine Schlüsselrolle bei ihrer Popularisierung spielte die Bibliothek PEFT (Parameter-Efficient Fine-Tuning) von Hugging Face. PEFT bietet eine einheitliche Schnittstelle zur Anwendung von LoRA und anderen PEFT-Methoden auf Modelle aus dem Transformers-Ökosystem[6].
LoRA wird aktiv eingesetzt für:
- Die Anpassung von Chatbots und Dialogsystemen (z. B. Fine-Tuning von LLaMA, Mistral).
- Die Erstellung von Modellen zur Klassifizierung und Textgenerierung in hochspezialisierten Bereichen.
- Die Personalisierung von Modellen für einen bestimmten Stil oder ein bestimmtes Datenformat.
Weblinks
Literatur
- Hu, E.J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
- Zhang, Q. et al. (2023). AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning. arXiv:2303.10512.
- Chen, Y. et al. (2023). LongLoRA: Efficient Fine-Tuning of Long-Context Large Language Models. arXiv:2309.12307.
- Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
- Jiang, T. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
- Liu, Z. et al. (2024). ALoRA: Allocating Low-Rank Adaptation for Fine-Tuning Large Language Models. arXiv:2403.16187.
- Liu, J. et al. (2025). RoRA: Efficient Fine-Tuning of LLM with Reliability Optimization for Rank Adaptation. arXiv:2501.04315.
- Albert, P. et al. (2025). RandLoRA: Full-Rank Parameter-Efficient Fine-Tuning of Large Models. arXiv:2502.00987.
- Tastan, N. et al. (2025). LoFT: Low-Rank Adaptation That Behaves Like Full Fine-Tuning. arXiv:2505.21289.
Einzelnachweise
- ↑ 1.0 1.1 1.2 Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [1]
- ↑ Mao, K., et al. «A Survey on LoRA of Large Language Models». arXiv:2407.11046. [2]
- ↑ Noble, Joshua. «What is LoRA (Low-Rank Adaption)?». IBM Technology. [3]
- ↑ Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [4]
- ↑ Jiang, Z., et al. «MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning». arXiv:2405.12130. [5]
- ↑ «LoRA (Low-Rank Adaptation)». Hugging Face LLM Course. [6]