PEFT (Parameter-Efficient Fine-Tuning) (HU)

From Systems analysis Wiki
Jump to navigation Jump to search

Paraméter-hatékony finomhangolás (ang. Parameter-Efficient Fine-Tuning, PEFT) — olyan módszerek összessége, amelyek nagy, előre betanított modelleket – mint például a nagy nyelvi modellek (LLM) – specifikus feladatokhoz adaptálnak minimális számítási és erőforrás-költséggel. A hagyományos teljes finomhangolással (full fine-tuning) ellentétben, amely a modell összes paraméterének frissítését igényli, a PEFT-módszerek csupán a súlyok egy kis részének (az összes paraméter kevesebb mint 1–5%-ának) módosítására összpontosítanak, míg a modell alapvető részét változatlanul („lefagyasztva") hagyják[1].

Ez a megközelítés jelentősen csökkenti a memória-, tárhely- és betanítási időbeli követelményeket, így a nagy alapmodellek adaptációjának folyamata hozzáférhetőbbé válik, és kevésbé érzékeny a katasztrofális felejtés problémájára[2].

A teljes finomhangolás problémái

A hagyományos teljes finomhangolás, amelynek során a modell összes paramétere frissül, számos kritikus problémába ütközik, amelyek a PEFT kifejlesztésének katalizátoraivá váltak:

  • Magas számítási költségek: Több százmilliárd paraméter frissítése óriási számítási kapacitást (nagy teljesítményű GPU/TPU) és nagy videomemóriát (VRAM) igényel, ami a folyamatot drágává és sok kutató számára elérhetetlenné teszi.
  • Tárolási hatékonytalanság: Minden egyes új feladathoz a modell egy teljes, több gigabájtos másolatát kell tárolni, ami a lemeztárhellyel szemben támasztott követelmények exponenciális növekedéséhez vezet.
  • Katasztrofális felejtés (Catastrophic Forgetting): Az új adatokhoz alkalmazkodó modell „elfelejti" az előzetes betanítás során megszerzett általános tudást, ami teljesítményének romlásához vezet más feladatokon.
  • Túlilleszkedés kockázata (Overfitting): Kis finomhangolási adathalmazokon a több milliárd paraméteres modellek hajlamosak „memorizálni" a betanítási példákat az általánosítható minták megtanulása helyett[2].

A PEFT-módszerek taxonómiája

A PEFT-módszerek aszerint osztályozhatók, hogy miként módosítják a modell paramétereit. Három fő kategória létezik: additív, szelektív és reparametrizációs[3].

Additív módszerek

Ezek a módszerek az összes eredeti modellsúlyt lefagyasztják, és új, kis méretű, betanítható modulokat adnak hozzájuk.

  • Adapterek (Adapters): A legkorábbi additív módszer. Kis, „szűk keresztmetszet" (bottleneck) architektúrájú neurális hálózati modulokat szúrnak be a transformer rétegei közé. Csak ezen adapterek súlyai kerülnek betanításra[4].
  • „Puha" promptokon alapuló módszerek (Soft Prompts): A modellsúlyok módosítása helyett ezek a módszerek betanítható vektorokat („virtuális tokeneket") adnak a bemeneti adatokhoz, amelyek irányítják a modell viselkedését. Fő változatok:
    • Prompt Tuning: Betanítható vektorokat csak a bemeneti embeddingekhez ad hozzá.
    • Prefix-Tuning: Betanítható vektorprefixeket ad hozzá az egyes figyelemmechanizmus-rétegek rejtett állapotaihoz, ami finomabb vezérlést tesz lehetővé[5].
    • P-Tuning v2: A Prefix-Tuning ötletének általánosítása, amely a modell összes rétegén alkalmaz betanítható promptokat, ezáltal a teljes finomhangolással összehasonlítható teljesítményt érve el[6].

Szelektív módszerek

Ezek a módszerek nem adnak hozzá új paramétereket, hanem a már meglévők egy kis részhalmazát választják ki és hangolják tovább.

  • BitFit: Rendkívül takarékos módszer, amely csak az eltolásvektor-paramétereket (bias terms) és a normalizációs rétegek paramétereit finomhangolja, az összes paraméter kevesebb mint 0,1%-át frissítve.
  • Differenciális metszés (Diff Pruning): Betanítható maszkot használ annak dinamikus meghatározásához, hogy a betanítás során mely súlyokat kell frissíteni[3].

Reparametrizációs módszerek

Ez a kategória azon a hipotézisen alapul, hogy a modell adaptációjához szükséges súlyváltozásoknak alacsony a „belső rangja". A teljes méretű súlymátrixok frissítése helyett ezek a módszerek azok alacsony rangú reprezentációját frissítik.

  • LoRA (Low-Rank Adaptation): Napjaink legnépszerűbb PEFT-módszere. Azon az előfeltevésen alapul, hogy a `ΔW` súlymátrix-frissítés közelíthető két alacsony rangú mátrix szorzatával: `ΔW = BA`. A finomhangolás során az eredeti `W` mátrix le van fagyasztva, és csak `A` és `B` kerül betanításra[7].
  • QLoRA: A LoRA-t kvantizációs technikákkal kombinálja a memóriaigény további csökkentése érdekében, lehetővé téve 65 milliárd paraméteres modellek finomhangolását egyetlen fogyasztói GPU-n[8].

Teljesítmény- és erőforrás-összehasonlítás

A PEFT-módszerek a teljes finomhangolással összehasonlítható teljesítményt tesznek lehetővé a költségek radikális csökkentése mellett.

A PEFT-módszerek összehasonlító teljesítménye és hatékonysága
Modell Módszer Betanítható paraméterek (%) Benchmark eredmény (Avg. Accuracy) Forrás
BERT-Large Teljes finomhangolás 100% 80.4 (GLUE) [4]
BERT-Large Adapters 3.6% 80.0 (GLUE) [4]
LLaMA-7B LoRA 0.83% 74.7% [9]
LLaMA-7B DoRA (LoRA-változat) 0.84% 78.1% [9]

A PEFT legfontosabb erőforrás-megtakarítási előnyei:

  • GPU-memória (VRAM): A LLaMA 65B modell esetén a teljes finomhangolás elméletileg >780 GB VRAM-ot igényel, míg a QLoRA lehetővé teszi a finomhangolást <48 GB VRAM-mal rendelkező GPU-n[8].
  • Tárolási méret: A PEFT után mentett checkpointok megabájtokat, nem gigabájtokat foglalnak el. Ez lehetővé teszi, hogy különböző feladatokhoz száz „adaptert" tároljunk akkora helyen, amennyit egyetlen teljesen finomhangolt modell foglalna el.

Alkalmazási területek

Eredetileg NLP-re fejlesztve, a PEFT-módszereket sikeresen adaptálták feladatok széles körére:

  • Számítógépes látás (CV) és multimodális modellek (VLM): Olyan modellek adaptálása, mint a Vision Transformer (ViT) és a Segment Anything Model (SAM), képszegmentálási feladatokhoz, beleértve a biomedicina területét is.
  • Kódgenerálás és -elemzés: LLM-ek hangolása adott szoftverprojektek, belső API-k vagy kódbázisok sajátosságaihoz.
  • Generatív modellek: Képgeneráló modellek, például a Stable Diffusion „stílusba hozása" LoRA-adapterekkel (Dreambooth-technika).
  • Beszédszintézis: Modellek adaptálása adott hanggal, intonációval vagy érzelmi színezettel történő beszédgeneráláshoz.

Hivatkozások

  • A PEFT könyvtár repozitóriuma a GitHubon
  • A PEFT könyvtár hivatalos dokumentációja a Hugging Face-től

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.
  • Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. ICML 2019.
  • Li, X.L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
  • Liu, X. et al. (2022). P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks. arXiv:2110.07602.
  • Ben Zaken, E.; Ravfogel, S.; Goldberg, Y. (2021). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-Based Masked Language Models. arXiv:2106.10199.
  • Guo, D.; Rush, A.M.; Kim, Y. (2020). Parameter-Efficient Transfer Learning with Diff Pruning. arXiv:2012.07463.
  • Jiang, Z. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
  • Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
  • Chen, S. et al. (2024). Parameter-Efficient Fine Tuning: A Comprehensive Analysis Across Applications. arXiv:2404.13506.
  • Zhang, J. et al. (2025). Parameter-Efficient Fine-Tuning for Foundation Models. arXiv:2501.13787.

Megjegyzések

  1. «Parameter-Efficient Fine-Tuning for Foundation Models». arXiv:2501.13787. [1]
  2. 2.0 2.1 «5 Problems Encountered Fine-Tuning LLMs with Solutions». Machine Learning Mastery. [2]
  3. 3.0 3.1 «PEFT: Parameter-Efficient Fine-Tuning Methods for LLMs». Hugging Face Blog. [3]
  4. 4.0 4.1 4.2 Houlsby, N., et al. «Parameter-Efficient Transfer Learning for NLP». Proceedings of the 36th International Conference on Machine Learning. [4]
  5. Li, X.L., Liang, P. «Prefix-Tuning: Optimizing Continuous Prompts for Generation». arXiv:2101.00190. [5]
  6. Liu, X., et al. «P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks». arXiv:2110.07602. [6]
  7. Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [7]
  8. 8.0 8.1 Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [8]
  9. 9.0 9.1 «Parameter Efficient Fine Tuning: A Comprehensive Analysis Across Applications». arXiv:2404.13506. [9]