Co to jest fine-tuning modelu AI?
Fine-tuning to dodatkowy trening modelu AI na Twoich własnych danych, żeby nauczyć go specyficznego stylu, domeny lub zachowania — bez trenowania od zera.
Kupiłeś psa w schronisku. Jest świetny, ale odpowiada na angielskie komendy, a Ty mówisz po polsku. Masz dwie opcje: za każdym razem tłumaczyć mu polecenia (to jest prompt engineering), albo go przeszkolić żeby rozumiał Twój język (to jest fine-tuning). Oba działają. Drugie jest droższe, ale potem jest szybciej i taniej.
Co to jest fine-tuning?
Bazowy model (GPT-3.5, Llama, Mistral) jest wytrenowany na miliardach tekstów z internetu. Wie dużo, ale nie wie nic o Twoim produkcie, branży ani stylu komunikacji.
Fine-tuning to dodatkowa runda uczenia na Twoich własnych przykładach — parach pytanie/odpowiedź, dokument/podsumowanie, instrukcja/wynik. Model "zapamiętuje" Twoje wzorce i integruje je z tym, co już umie.
Kiedy warto inwestować w fine-tuning?
- Chcesz konkretny styl odpowiedzi — zawsze formalny, zawsze zwięzły, zawsze w formacie JSON
- Model musi znać branżowy żargon, który rzadko pojawia się w internecie
- Masz tysiące podobnych zadań i chcesz zastąpić długi system prompt małym modelem
- Koszt inference jest problemem — fine-tuned mały model często bije duży z promptem
Fine-tuning nie jest magią
Najczęstsze nieporozumienie: "fine-tuning nauczy model nowych faktów". To tylko częściowo prawda. Fakty, które wpisujesz w dane treningowe, mogą "wyciec" do odpowiedzi — ale to zawodne. Do aktualnych faktów używaj RAG. Fine-tuning zmienia jak model mówi, nie co wie.
Często zadawane pytania
Ile danych potrzebuję do fine-tuningu?
Mniej niż myślisz. OpenAI rekomenduje minimum 50 przykładów dla prostego zadania. Kilkaset do kilku tysięcy dla złożonych. Jakość jest ważniejsza niż ilość — 100 świetnych przykładów bije 1000 średnich.
Ile to kosztuje?
Fine-tuning GPT-3.5 Turbo przez OpenAI: ok. $0.008 per 1000 tokenów treningowych. Przy zbiorze 1000 przykładów po 200 tokenów każdy — to $1.60. Potem koszt inference fine-tuned modelu jest wyższy niż bazowego. Suma summarum: opłacalne przy dużej skali użycia.
Co to jest LoRA?
Technika fine-tuningu bez trenowania wszystkich parametrów modelu — zamiast tego trenuje się małe "przystawki" (adaptery). Efekt: fine-tuning Llama 7B na zwykłej karcie graficznej zamiast klastra GPU. QLoRA to wersja z dodatkowo skwantowanym modelem bazowym — jeszcze tańsza.
Fine-tuning to supervised learning na pretrenowanym LLM z aktualizacją wag przez gradient descent. W odróżnieniu od full pretraining, aktualizowane są wagi istniejącej sieci (lub ich podzbiór przy PEFT), nie trenuje się od zera.
Metody fine-tuningu
- Full fine-tuning: aktualizacja wszystkich parametrów; najlepsza jakość, wymaga dużo VRAM i danych
- LoRA (Low-Rank Adaptation): trenuje niskorangowe macierze A, B dodane do warstw attention/FFN; redukuje trainable params o 99%; jakość porównywalna do full FT
- QLoRA: LoRA + kwantyzacja modelu bazowego (4-bit NF4); umożliwia fine-tuning 7B na GPU 16GB VRAM
- Prefix tuning / Prompt tuning: trening soft prompts zamiast wag — lżejsze, słabsze wyniki
Formaty danych
- OpenAI: JSONL z polami system/user/assistant w formacie chat
- Hugging Face: Alpaca format, ShareGPT format, custom DataCollator
- Supervised FT przez instrukcję: instruction + input + output (Alpaca-style)
Fine-tuning vs RAG vs prompting
Fine-tuning: styl, format, zachowanie — stabilne dane, nie zmienia się. RAG: fakty, aktualna wiedza, citable. Long system prompt: szybki start, drogi w inference przy dużej skali. Optymalny stack: fine-tuning (styl) + RAG (fakty) + system prompt (task-specific instructions).
Często zadawane pytania
Jak uniknąć catastrophic forgetting?
Catastrophic forgetting — model "zapomina" bazowych możliwości po agresywnym fine-tuningu. Mitygacja: niski learning rate (1e-5 do 5e-5), nieduże liczba epok (1–3), early stopping na validation loss, dane treningowe zawierające mieszankę domenowych i ogólnych przykładów.
Jak ewaluować fine-tuned model?
Zestaw held-out (10–20% danych treningowych), LLM-as-judge dla jakości odpowiedzi, task-specific metryki (ROUGE dla podsumowań, exact match dla ekstrakcji). Porównanie z baseline: bazowy model + few-shot prompt vs. fine-tuned model bez promptu.