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

From Systems analysis Wiki
Jump to navigation Jump to search

Parametricky efektivní doladění (angl. Parameter-Efficient Fine-Tuning, PEFT) — je soubor metod adaptace velkých předtrénovaných modelů, jako jsou velké jazykové modely (LLM), na specifické úlohy s minimálními výpočetními a zdrojovými náklady. Na rozdíl od tradičního úplného doladění (full fine-tuning), které vyžaduje aktualizaci všech parametrů modelu, se metody PEFT zaměřují na modifikaci pouze malé části vah (méně než 1–5 % z celkového počtu), přičemž hlavní část modelu zůstává nezměněna („zmrazena\")[1].

Tento přístup umožňuje výrazně snížit nároky na paměť, úložiště a čas trénování, čímž se adaptace výkonných základních modelů stává přístupnější a odolnější vůči problému katastrofického zapomínání[2].

Problémy úplného doladění

Tradiční úplné doladění, při němž se aktualizují všechny parametry modelu, čelí řadě kritických problémů, které se staly katalyzátorem pro vývoj PEFT:

  • Vysoké výpočetní náklady: Aktualizace stovek miliard parametrů vyžaduje obrovský výpočetní výkon (vysokovýkonné GPU/TPU) a velký objem grafické paměti (VRAM), což celý proces prodražuje a činí nedostupným pro mnoho výzkumníků.
  • Neefektivita úložiště: Pro každou novou úlohu je nutné uchovávat úplnou, mnoha gigabajtovou kopii modelu, což vede k exponenciálnímu nárůstu nároků na diskový prostor.
  • Katastrofické zapomínání (Catastrophic Forgetting): Model se při adaptaci na nová data „zapomíná" obecné znalosti získané ve fázi předtrénování, což snižuje jeho výkonnost na jiných úlohách.
  • Riziko přeučení (Overfitting): Na malých datových sadách pro doladění mají modely s miliardami parametrů tendenci „zapamatovat si" trénovací příklady namísto učení se zobecňujících vzorů[2].

Taxonomie metod PEFT

Metody PEFT lze klasifikovat podle toho, jakým způsobem mění parametry modelu. Existují tři základní kategorie: aditivní, selektivní a reparametrizační[3].

Aditivní metody

Tyto metody zmrazí všechny původní váhy modelu a přidávají nové, malé trénovatelné moduly.

  • Adaptéry (Adapters): Nejstarší aditivní metoda. Malé neuronové moduly s architekturou „hrdla lahve" jsou vloženy mezi vrstvy transformeru. Trénovány jsou pouze váhy těchto adaptérů[4].
  • Metody založené na „měkkých" promptech (Soft Prompts): Namísto změny vah modelu tyto metody přidávají ke vstupním datům trénovatelné vektory („virtuální tokeny"), které řídí chování modelu. Klíčové varianty:
    • Prompt Tuning: Přidává trénovatelné vektory pouze ke vstupním embeddingům.
    • Prefix-Tuning: Přidává trénovatelné vektorové prefixy ke skrytým stavům v každé vrstvě mechanismu attention, čímž poskytuje jemnější kontrolu[5].
    • P-Tuning v2: Zobecnění myšlenky Prefix-Tuning, které aplikuje trénovatelné prompty na všech vrstvách modelu a dosahuje výkonnosti srovnatelné s úplným doladěním[6].

Selektivní metody

Tyto metody nepřidávají nové parametry, nýbrž vybírají a dolaďují malou podmnožinu již existujících.

  • BitFit: Extrémně úsporná metoda, která dolaďuje pouze vektory posunu (bias terms) a parametry normalizačních vrstev, přičemž aktualizuje méně než 0,1 % z celkového počtu parametrů.
  • Diferenciální prořezávání (Diff Pruning): Využívá trénovatelnou masku pro dynamické určení, které váhy mají být v průběhu trénování aktualizovány[3].

Reparametrizační metody

Tato kategorie vychází z hypotézy, že změny vah při adaptaci modelu mají nízký „vnitřní rank". Namísto aktualizace plnorozměrných matic vah tyto metody aktualizují jejich nízkořadové reprezentace.

  • LoRA (Low-Rank Adaptation): Nejpopulárnější metoda PEFT v současnosti. Vychází z předpokladu, že aktualizaci matice vah `ΔW` lze aproximovat součinem dvou nízkořadových matic: `ΔW = BA`. Při doladění se zmrazí původní matice `W` a trénovány jsou pouze `A` a `B`[7].
  • QLoRA: Kombinuje LoRA s technikami kvantizace pro ještě větší snížení nároků na paměť, což umožňuje dolaďovat modely s 65 mld. parametry na jediném spotřebitelském GPU[8].

Srovnání výkonnosti a zdrojů

Metody PEFT umožňují dosáhnout výkonnosti srovnatelné s úplným doladěním při radikálním snížení nákladů.

Srovnávací výkonnost a efektivita metod PEFT
Model Metoda Trénovatelné parametry (%) Výsledek na benchmarku (Avg. Accuracy) Zdroj
BERT-Large Úplné doladění 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 (varianta LoRA) 0.84% 78.1% [9]

Klíčové výhody PEFT z hlediska úspory zdrojů:

  • Paměť GPU (VRAM): Pro model LLaMA 65B úplné doladění teoreticky vyžaduje >780 GB VRAM, zatímco QLoRA umožňuje jeho doladění na GPU s <48 GB VRAM[8].
  • Objem úložiště: Checkpointy ukládané po PEFT zabírají megabajty, nikoli gigabajty. To umožňuje uchovávat stovky „adaptérů" pro různé úlohy v objemu, který by zabrával jediný plně doladěný model.

Oblasti použití

Původně vyvinuté pro NLP byly metody PEFT úspěšně adaptovány pro širokou škálu úloh:

  • Počítačové vidění (CV) a multimodální modely (VLM): Adaptace modelů, jako jsou Vision Transformer (ViT) a Segment Anything Model (SAM), pro úlohy segmentace obrazu, včetně biomedicíny.
  • Generování a analýza kódu: Ladění LLM na specifika konkrétních softwarových projektů, interních API nebo kódových bází.
  • Generativní modely: „Stylizace" modelů generování obrazu, jako je Stable Diffusion, pomocí LoRA adaptérů (technika Dreambooth).
  • Syntéza řeči: Adaptace modelů pro generování řeči s určitým hlasem, intonací nebo emocionálním zabarvením.

Odkazy

  • Repozitář knihovny PEFT na GitHub
  • Oficiální dokumentace knihovny PEFT od Hugging Face

Literatura

  • 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.

Poznámky

  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]