Low-Rank Adaptation (LoRA) (HU)
Low-Rank Adaptation (LoRA) — egy paraméter-hatékony finomhangolási (PEFT) módszer, amely lehetővé teszi a nagy nyelvi modellek (LLM) új feladatokhoz való adaptálását minimális számítási költséggel. A technológiát először Edward Hu és munkatársai mutatták be 2021-ben[1].
A nagy modellek – mint a LLaMA vagy a GPT – teljes finomhangolása (full fine-tuning) hatalmas erőforrásokat igényel, ami a legtöbb kutató és fejlesztő számára elérhetetlenné teszi. A LoRA ezt a problémát úgy oldja meg, hogy a modell paramétereinek csupán kis hányadát hangolja, miközben megőrzi a teljes finomhangolással összehasonlítható magas minőséget és teljesítményt[2].
Működési elv
A LoRA alapgondolata az, hogy az előre betanított modell eredeti súlyait nem módosítja, hanem egy kis „korrekciós" mátrixot ad hozzájuk. Ahelyett, hogy közvetlenül a hatalmas `W` súlymátrixot tanítaná, a LoRA annak változását két kis, alacsony rangú mátrix szorzataként fejezi ki.
Formálisan: ha az adott réteg eredeti súlymátrixa `W_0` mérete `d × k`, akkor a frissítése `ΔW = BA` alakban fejezhető ki, ahol `B` egy `d × r` méretű mátrix, `A` pedig egy `r × k` méretű mátrix. Az `r` rang egy hiperparaméter, amelynek értéke lényegesen kisebb (`r << d, k`). A finomhangolás során az eredeti `W_0` súlyok befagyasztásra kerülnek, és csak az `A` és `B` mátrixok kerülnek betanításra. A végső súlymátrix kiszámítása: `W = W_0 + BA`.
Ez lehetővé teszi a betanítandó paraméterek számának több ezres csökkentését. Például a GPT-3 (175 milliárd paraméter) finomhangolásakor a LoRA 10 000-szeresére csökkenti a betanítandó paraméterek számát, és háromszoros mértékben mérsékli a GPU-memóriaigényt[1].
Főbb előnyök
- Erőforrás-megtakarítás: A betanítandó paraméterek száma drasztikusan csökken (akár 90%-kal vagy még inkább), ami jelentősen mérsékli a videómemória (VRAM) fogyasztását és felgyorsítja a tanítási folyamatot.
- Nincs késleltetés a következtetés (inference) során: A betanítás után a `B` és `A` mátrixok „beolvaszthatók" az alap `W_0` mátrixba a `W = W_0 + BA` kiszámításával. Így a modell használata során semmilyen többletszámítás vagy késleltetés nem lép fel[1].
- Modularitás és gyors feladatváltás: A betanított LoRA-adapterek kis méretű fájlokat alkotnak (néhány megabájt). Ez lehetővé teszi, hogy különböző feladatokhoz tucatnyi adaptert tároljunk, és gyorsan váltsunk köztük anélkül, hogy az alap modellt módosítani kellene[3].
Korlátok és módosítások
Bár a LoRA rendkívül hatékony, alacsony rangú jellege korlátot jelenthet az olyan feladatoknál, amelyek nagy mennyiségű új információ megjegyzését igénylik. E és más problémák megoldására különféle módosításokat javasoltak.
QLoRA
QLoRA (Quantized Low-Rank Adaptation) — az egyik legnépszerűbb módosítás, amelyet 2023-ban javasoltak. A LoRA-t kombinálja az alap modell 4 bites kvantálásával[4]. Ez lehetővé teszi a memóriaigény további csökkentését, és elérhetővé teszi a több tízmilliárd paraméteres modellek (például 65B-s modellek) finomhangolását egyetlen fogyasztói GPU-n. A QLoRA alapján készült többek között a Guanaco modell, amely a ChatGPT-vel összehasonlítható eredményeket ért el.
Egyéb módosítások
- MoRA (High-Rank Updating): Olyan feladatokhoz javasolták, ahol a LoRA a rangkorlátozás miatt nem nyújt elegendő teljesítményt. A MoRA olyan módszereket alkalmaz, amelyek lehetővé teszik a súlyok magas rangú frissítését, miközben megőrzik a paraméter-hatékonyságot[5].
Implementáció és alkalmazás
A LoRA technológia hatékonysága és egyszerű integrálhatósága miatt széles körben elterjedt. Népszerűsítésében kulcsszerepet játszott a Hugging Face cég PEFT (Parameter-Efficient Fine-Tuning) könyvtára. A PEFT egységes felületet biztosít a LoRA és más PEFT-módszerek alkalmazásához a Transformers ökoszisztéma modelljeihez[6].
A LoRA-t aktívan használják:
- Chatbotok és párbeszédes rendszerek adaptálásához (például LLaMA, Mistral finomhangolása).
- Szűk szakterületek szövegklasszifikációs és szöveggenerálási modelljének létrehozásához.
- Modellek személyre szabásához adott stílushoz vagy adatformátumhoz.
Hivatkozások
- A Hugging Face PEFT könyvtárának hivatalos dokumentációja
Irodalom
- 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.
Megjegyzések
- ↑ 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]