Fine-tuning (deep learning) (PL)
Dostrajanie (ang. Fine-tuning), znane również jako strojenie modelu, to metoda uczenia transferowego w uczeniu maszynowym, w której parametry wstępnie wytrenowanego modelu (pre-trained model) są adaptowane do rozwiązywania nowego, specyficznego zadania. Zamiast trenować model od podstaw, co wymaga ogromnych ilości danych i zasobów obliczeniowych, dostrajanie pozwala wykorzystać wiedzę już zakodowaną w wagach modelu i „dostroić" ją do konkretnych potrzeb.
Podejście to stało się de facto standardem w dziedzinie głębokiego uczenia, szczególnie w pracy z dużymi modelami językowymi (LLM) oraz modelami widzenia komputerowego.
Koncepcja
Proces dostrajania można podzielić na dwa główne etapy:
1. Wstępne trenowanie (Pre-training): Model (np. BERT lub GPT) jest trenowany na bardzo dużym i ogólnym zbiorze danych (np. cały internet) z wykorzystaniem zadania samo-nadzorowanego (np. przewidywanie następnego słowa). Na tym etapie model uczy się ogólnych wzorców, składni, semantyki oraz wiedzy o świecie.
2. Dostrajanie (Fine-tuning): Wstępnie wytrenowany model jest używany jako podstawa, a jego wagi są doszkalane na małym, lecz specyficznym dla zadania docelowego oznaczonym zbiorze danych.
Kluczowa idea polega na tym, że wiedza zdobyta podczas wstępnego trenowania jest uniwersalna i może być z powodzeniem przenoszona do rozwiązywania wielu innych, bardziej wyspecjalizowanych zadań.
Proces dostrajania
Typowy proces dostrajania obejmuje następujące kroki:
1. Wybór wstępnie wytrenowanego modelu: Wybierany jest model, którego podstawowe możliwości odpowiadają zadaniu docelowemu (np. BERT dla zadań rozumienia tekstu, GPT dla generowania).
2. Adaptacja architektury: Do wstępnie wytrenowanego modelu dodawana jest nowa, „głowicowa" warstwa (head), specyficzna dla zadania docelowego. Na przykład:
- Dla klasyfikacji tekstu dodawana jest prosta warstwa w pełni połączona z funkcją softmax.
- Dla rozpoznawania nazwanych encji (NER) klasyfikator dodawany jest do wyjścia każdego tokenu.
3. Trenowanie na docelowym zbiorze danych: Cały model (lub jego część) jest trenowany na nowym, oznaczonym zbiorze danych. Na tym etapie wagi modelu, w tym wagi wstępnie wytrenowanych warstw, są aktualizowane za pomocą gradientowego zejścia w celu minimalizacji funkcji straty na nowym zadaniu.
4. Użycie niższego współczynnika uczenia: Podczas dostrajania zazwyczaj stosowany jest znacznie niższy współczynnik uczenia niż podczas wstępnego trenowania. Jest to konieczne, aby nie „zniszczyć" użytecznej wiedzy już zakodowanej w wagach modelu, lecz jedynie ostrożnie ją skorygować.
Typy dostrajania
Pełne dostrajanie (Full Fine-tuning)
- Zasada: Aktualizowane są wszystkie parametry wstępnie wytrenowanego modelu wraz z nową warstwą „głowicową".
- Zalety: Potencjalnie zapewnia najlepszą wydajność, ponieważ cały model adaptuje się do nowego zadania.
- Wady: Wymaga znacznych zasobów obliczeniowych i pamięci, gdyż konieczne jest przechowywanie i aktualizowanie gradientów dla wszystkich parametrów. Istnieje ryzyko katastrofalnego zapominania, kiedy model „zapomina" ogólną wiedzę zdobytą podczas wstępnego trenowania.
Parametryczno-wydajne dostrajanie (Parameter-Efficient Fine-Tuning, PEFT)
Jest to rodzina metod mających na celu redukcję kosztów obliczeniowych podczas dostrajania. Główna idea polega na zamrożeniu większości parametrów wstępnie wytrenowanego modelu i trenowaniu jedynie niewielkiej liczby nowych lub wybranych istniejących parametrów.
- Przykłady metod PEFT:
- Adaptery (Adapters): Do architektury Transformera wstawiane są małe, dodatkowe warstwy-adaptery i trenowane są tylko one.
- LoRA (Low-Rank Adaptation): Zamiast aktualizowania pełnych macierzy wag, LoRA trenuje ich niskostopniowe aktualizacje. Pozwala to zmniejszyć liczbę trenowanych parametrów tysiące razy.
- Strojenie promptów (Prompt Tuning): Do danych wejściowych dodawane są trenowalne wektory-„prompty", które są dostrajane do rozwiązania zadania, podczas gdy sam model pozostaje zamrożony.
- Zalety PEFT:
- Wydajność: Znacząco zmniejsza wymagania dotyczące pamięci i obliczeń.
- Modularność: Umożliwia łatwą adaptację jednego wstępnie wytrenowanego modelu do wielu zadań, przechowując jedynie niewielkie zestawy zaadaptowanych wag dla każdego z nich.
Dostrajanie na instrukcjach (Instruction Tuning)
Jest to specyficzny typ dostrajania, mający na celu poprawę zdolności LLM do podążania za instrukcjami w języku naturalnym.
- Zasada działania: Model jest dostrajany na zbiorze danych składającym się z par „instrukcja — oczekiwane wyjście".
- Cel: Poprawa zdolności generalizacji modelu na nowe, wcześniej niewidziane zadania, które mogą być opisane w formie instrukcji. Modele takie jak InstructGPT i FLAN-T5 są wyraźnymi przykładami tego podejścia.
Literatura
- Howard, J.; Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. arXiv:1801.06146.
- Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. arXiv:1902.00751.
- Pfeiffer, J. et al. (2020). AdapterFusion: Non-Destructive Task Composition for Transfer Learning. arXiv:2005.00247.
- Hu, E. J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Lester, B.; Al-Rfou, R.; Constant, N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. arXiv:2104.08691.
- Ben Zaken, A.; Goldberg, Y.; Ravfogel, S. (2022). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-based Masked Language-Models. ACL 2022.
- Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
- Han, Z. et al. (2024). Parameter-Efficient Fine-Tuning for Large Models: A Comprehensive Survey. arXiv:2403.14608.
- Bian, J. et al. (2025). A Survey on Parameter-Efficient Fine-Tuning for Foundation Models in Federated Learning. arXiv:2504.21099.
- Li, X. et al. (2025). Revisiting Fine-Tuning: A Survey of Parameter-Efficient Techniques and Future Directions. Preprints.org.
Zobacz też
- Duże modele językowe
- BERT
- GPT