PEFT (Parameter-Efficient Fine-Tuning) (PL)
Parametrooszczędne dostrajanie (ang. Parameter-Efficient Fine-Tuning, PEFT) — to zbiór metod adaptacji dużych wstępnie wytrenowanych modeli, takich jak duże modele językowe (LLM), do specyficznych zadań przy minimalnych kosztach obliczeniowych i zasobowych. W przeciwieństwie do tradycyjnego pełnego dostrajania (full fine-tuning), które wymaga aktualizacji wszystkich parametrów modelu, metody PEFT koncentrują się na modyfikacji jedynie niewielkiej części wag (mniej niż 1–5% łącznej liczby), pozostawiając główną część modelu niezmienioną („zamrożoną\")[1].
Podejście to pozwala znacząco zmniejszyć wymagania dotyczące pamięci, przestrzeni dyskowej i czasu trenowania, czyniąc proces adaptacji potężnych modeli fundamentalnych bardziej dostępnym i odpornym na problem katastroficznego zapominania[2].
Problemy pełnego dostrajania
Tradycyjne pełne dostrajanie, podczas którego aktualizowane są wszystkie parametry modelu, napotyka szereg krytycznych problemów, które stały się katalizatorem dla opracowania PEFT:
- Wysokie koszty obliczeniowe: Aktualizacja setek miliardów parametrów wymaga ogromnych mocy obliczeniowych (wysokowydajnych GPU/TPU) oraz dużej ilości pamięci wideo (VRAM), co sprawia, że proces jest kosztowny i niedostępny dla wielu badaczy.
- Nieefektywność przechowywania: Dla każdego nowego zadania konieczne jest przechowywanie pełnej, wielogigabajtowej kopii modelu, co prowadzi do wykładniczego wzrostu wymagań dotyczących przestrzeni dyskowej.
- Katastroficzne zapominanie (Catastrophic Forgetting): Model, adaptując się do nowych danych, „zapomina" ogólną wiedzę zdobytą na etapie wstępnego trenowania, co obniża jego wydajność na innych zadaniach.
- Ryzyko przeuczenia (Overfitting): Na małych zbiorach danych modele z miliardami parametrów mają tendencję do „zapamiętywania" przykładów treningowych zamiast uczenia się uogólniających wzorców[2].
Taksonomia metod PEFT
Metody PEFT można sklasyfikować według sposobu, w jaki modyfikują parametry modelu. Istnieją trzy główne kategorie: addytywne, selektywne i reparametryzacyjne[3].
Metody addytywne
Metody te zamrażają wszystkie oryginalne wagi modelu i dodają nowe, niewielkie moduły treningowe.
- Adaptery (Adapters): Najwcześniejsza metoda addytywna. Małe moduły neuronowe o architekturze \"wąskiego gardła\" są wstawiane między warstwy transformera. Trenowane są tylko wagi tych adapterów[4].
- Metody oparte na \"miękkich\" promptach (Soft Prompts): Zamiast modyfikować wagi modelu, metody te dodają do danych wejściowych treningowe wektory („wirtualne tokeny"), które kierują zachowaniem modelu. Kluczowe warianty:
- Prompt Tuning: Dodaje treningowe wektory tylko do wejściowych embeddingów.
- Prefix-Tuning: Dodaje treningowe prefiksy wektorowe do ukrytych stanów na każdej warstwie mechanizmu uwagi, zapewniając bardziej precyzyjną kontrolę[5].
- P-Tuning v2: Uogólnienie idei Prefix-Tuning, które stosuje treningowe prompty na wszystkich warstwach modelu, osiągając wydajność porównywalną z pełnym dostrajaniem[6].
Metody selektywne
Metody te nie dodają nowych parametrów, lecz wybierają i dostrajają niewielki podzbiór już istniejących.
- BitFit: Ekstremalnie oszczędna metoda, która dostraja tylko wektory przesunięcia (bias terms) oraz parametry warstw normalizacji, aktualizując mniej niż 0,1% łącznej liczby parametrów.
- Różnicowe przycinanie (Diff Pruning): Wykorzystuje treningową maskę do dynamicznego określania, które wagi mają być aktualizowane w trakcie trenowania[3].
Metody reparametryzacyjne
Kategoria ta opiera się na hipotezie, że zmiany wag podczas adaptacji modelu mają niski „wewnętrzny rząd". Zamiast aktualizować pełnowymiarowe macierze wag, metody te aktualizują ich niskorangowe reprezentacje.
- LoRA (Low-Rank Adaptation): Najpopularniejsza metoda PEFT na dzień dzisiejszy. Zakłada, że aktualizację macierzy wag `ΔW` można aproksymować iloczynem dwóch niskorangowych macierzy: `ΔW = BA`. W procesie dostrajania oryginalna macierz `W` jest zamrażana, a trenowane są tylko `A` i `B`[7].
- QLoRA: Łączy LoRA z technikami kwantyzacji w celu dalszego zmniejszenia wymagań pamięciowych, umożliwiając dostrajanie modeli z 65 mld parametrów na pojedynczym konsumenckim GPU[8].
Porównanie wydajności i zasobów
Metody PEFT pozwalają osiągać wydajność porównywalną z pełnym dostrajaniem przy radykalnym obniżeniu kosztów.
| Model | Metoda | Treningowe parametry (%) | Wynik na benchmarku (Avg. Accuracy) | Źródło |
|---|---|---|---|---|
| BERT-Large | Pełne dostrajanie | 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 (wariant LoRA) | 0.84% | 78.1% | [9] |
Kluczowe zalety PEFT w zakresie oszczędności zasobów:
- Pamięć GPU (VRAM): Dla modelu LLaMA 65B pełne dostrajanie teoretycznie wymaga >780 GB VRAM, podczas gdy QLoRA pozwala go dostrajać na GPU z <48 GB VRAM[8].
- Przestrzeń dyskowa: Punkty kontrolne (checkpointy) zapisywane po PEFT zajmują megabajty, a nie gigabajty. Pozwala to przechowywać setki „adapterów\" dla różnych zadań w przestrzeni, którą zajęłby jeden w pełni dostrojony model.
Obszary zastosowań
Pierwotnie opracowane dla NLP, metody PEFT zostały z powodzeniem zaadaptowane do szerokiego zakresu zadań:
- Widzenie komputerowe (CV) i modele multimodalne (VLM): Adaptacja modeli takich jak Vision Transformer (ViT) i Segment Anything Model (SAM) do zadań segmentacji obrazów, w tym w biomedycynie.
- Generowanie i analiza kodu: Dostrajanie LLM do specyfiki konkretnych projektów programistycznych, wewnętrznych API lub baz kodu.
- Modele generatywne: „Stylizacja" modeli generowania obrazów, takich jak Stable Diffusion, za pomocą adapterów LoRA (technika Dreambooth).
- Synteza mowy: Adaptacja modeli do generowania mowy z określonym głosem, intonacją lub zabarwieniem emocjonalnym.
Odnośniki
- Repozytorium biblioteki PEFT na GitHub
- Oficjalna dokumentacja biblioteki 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.
Przypisy
- ↑ «Parameter-Efficient Fine-Tuning for Foundation Models». arXiv:2501.13787. [1]
- ↑ 2.0 2.1 «5 Problems Encountered Fine-Tuning LLMs with Solutions». Machine Learning Mastery. [2]
- ↑ 3.0 3.1 «PEFT: Parameter-Efficient Fine-Tuning Methods for LLMs». Hugging Face Blog. [3]
- ↑ 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]
- ↑ Li, X.L., Liang, P. «Prefix-Tuning: Optimizing Continuous Prompts for Generation». arXiv:2101.00190. [5]
- ↑ Liu, X., et al. «P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks». arXiv:2110.07602. [6]
- ↑ Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [7]
- ↑ 8.0 8.1 Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [8]
- ↑ 9.0 9.1 «Parameter Efficient Fine Tuning: A Comprehensive Analysis Across Applications». arXiv:2404.13506. [9]