Poradniki
Poradniki · 10 min czytania · 12 maja 2026

Jak dostosować model językowy z maskowaniem - przewodnik krok po kroku

Grafika ilustrująca: Jak dostosować model językowy z maskowaniem - przewodnik krok po kroku

Źródło: Link

Kurs AI Evolution - od zera do eksperta

118 lekcji bez kodowania. ChatGPT, Claude, Gemini, automatyzacje. Notatnik AI i AI Coach w cenie.

Zacznij od zera →

Masz model językowy, który rozumie język polski - ale nie rozumie Twojej branży. Nie zna skrótów z medycyny, nie łapie kontekstu prawniczego, gubi się w terminologii technicznej Twojej firmy. Rozwiązanie nazywa się fine-tuning - i nie, nie musisz być programistą, żeby to zrobić.

W tym przewodniku pokażę Ci, jak wziąć gotowy model językowy (np. BERT, RoBERTa) i nauczyć go Twoich danych. Krok po kroku. Bez magii, bez zaklęć - tylko konkretne narzędzia i proste decyzje.

Zanim zaczniesz - co musisz mieć

Fine-tuning to nie rocket science, ale potrzebujesz kilku rzeczy na starcie:

  • Dane tekstowe - minimum 1000-5000 przykładów z Twojej domeny (dokumenty, maile, raporty, transkrypcje). Im więcej, tym lepiej.
  • Konto na Hugging Face - darmowe, zajmuje 2 minuty. To tam znajdziesz gotowe modele i narzędzia.
  • Google Colab (darmowy) lub komputer z GPU - fine-tuning na CPU to męczarnia. Colab daje Ci darmowe GPU na kilka godzin dziennie.
  • Czas - pierwsze uruchomienie zajmie Ci 2-3 godziny. Kolejne - pół godziny.

Nie potrzebujesz: doktoratu z informatyki, znajomości Pythona na poziomie senior, budżetu na cloud computing. Serio.

Hugging Face + Google Colab - jedyne narzędzia, których potrzebujesz na start
Hugging Face + Google Colab - jedyne narzędzia, których potrzebujesz na start

Wybierz model bazowy (i nie przejmuj się szczegółami)

Idziesz na Hugging Face Models i wpisujesz w filtrze: "Fill-Mask" + "Polish" (jeśli pracujesz po polsku). Zobaczysz listę gotowych modeli.

Dwa najpopularniejsze wybory:

  • dkleczek/bert-base-polish-cased-v1 - solidny model polski, sprawdza się w większości zastosowań.
  • allegro/herbert-base-cased - trochę lepszy w zadaniach wymagających rozumienia kontekstu (np. analiza sentymentu, klasyfikacja dokumentów).

Który wybrać? Jeśli nie wiesz - bierz pierwszego. Różnica w jakości to 2-3%, a oba działają dobrze. Możesz przetestować oba później - na tym etapie ważniejsze jest, żebyś w ogóle zaczął.

Co robi model z maskowaniem? Prosty przykład: dajesz mu zdanie "Pacjent skarży się na [MASK] w klatce piersiowej" - model próbuje zgadnąć brakujące słowo ("ból", "ucisk", "kłucie"). Po fine-tuningu na Twoich danych medycznych zgadnie lepiej niż model ogólny.

Jak skopiować model do swojego projektu

Otwierasz stronę modelu na Hugging Face, klikasz "Use in Transformers" - kopiujesz jedną linijkę kodu. Wklejasz ją w swoim notebooku (za chwilę do tego dojdziemy). Gotowe. Model ściąga się automatycznie.

Przygotuj dane (to najważniejszy krok)

Fine-tuning jest tak dobry, jak Twoje dane. Śmieci na wejściu = śmieci na wyjściu.

Jakie dane potrzebujesz

Model z maskowaniem uczy się z surowego tekstu - nie potrzebujesz etykiet, kategorii, ręcznych adnotacji. Po prostu teksty z Twojej domeny:

  • Dokumenty wewnętrzne firmy
  • Transkrypcje rozmów z klientami
  • Raporty, analizy, prezentacje
  • Maile (oczywiście zanonimizowane - RODO to nie żart)
  • Artykuły branżowe, case studies

Zapisujesz to w jednym pliku tekstowym (.txt) - każdy dokument w osobnej linii. Albo w pliku CSV z jedną kolumną "text". Proste.

Ile danych to "wystarczająco"?

Minimalne minimum: 1000 przykładów (dokumentów/zdań). Komfortowe minimum: 5000-10 000. Ideał: 50 000+. Zacznij od tego, co masz - nawet 1000 przykładów da Ci zauważalną poprawę nad modelem ogólnym.

Jeśli masz mniej niż 1000 - rozważ generowanie syntetycznych danych (np. przez GPT-5 lub Claude Opus 4.7). To nie oszustwo - to standardowa praktyka w 2026 roku.

Twoje dane w najprostszej postaci - jeden plik CSV, jedna kolumna, zero zabawy w formatowanie
Twoje dane w najprostszej postaci - jeden plik CSV, jedna kolumna, zero zabawy w formatowanie

Pułapka: dane muszą być czyste

Usuń:

  • Duplikaty (model nauczy się ich na pamięć, zamiast uczyć się wzorców)
  • Zbyt krótkie teksty (poniżej 10 słów - to szum, nie kontekst)
  • Dane osobowe (RODO - serio, to nie jest opcjonalne)
  • Śmieci: stopki mailowe, disclaimery prawne, "Wysłano z iPhone'a"

Możesz to zrobić ręcznie (Find & Replace w Excelu) albo poprosić ChatGPT o prosty skrypt do czyszczenia. Nie musisz być perfekcjonistą - 80% czystości to już sukces.

Uruchom fine-tuning w Google Colab

Teraz konkret. Otwierasz Google Colab, tworzysz nowy notebook. Klikasz Runtime → Change runtime type → GPU. Gotowe - masz darmowe GPU.

Instalujesz biblioteki (3 linie kodu)

Kopiujesz i wklejasz:

!pip install transformers datasets accelerate -q

Uruchamiasz (Shift+Enter). Poczekasz minutę. Biblioteki się zainstalują.

Ładujesz model i dane (kolejne 5 linii)

from transformers import AutoTokenizer, AutoModelForMaskedLM, Trainer, TrainingArguments
from datasets import load_dataset

model_name = "dkleczek/bert-base-polish-cased-v1"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForMaskedLM.from_pretrained(model_name)

dataset = load_dataset('text', data_files={'train': 'twoje_dane.txt'})

Zamiast 'twoje_dane.txt' wpisujesz nazwę swojego pliku (wcześniej wgrywasz go do Colaba - ikona folderu po lewej, drag & drop).

Konfigurujesz trening (tu podejmujesz 3 decyzje)

training_args = TrainingArguments(
 output_dir="./results",
 num_train_epochs=3,
 per_device_train_batch_size=8,
 save_steps=500,
 save_total_limit=2,
)

trainer = Trainer(
 model=model,
 args=training_args,
 train_dataset=dataset['train'],
)

trainer.train()

Trzy decyzje, które musisz podjąć:

  1. num_train_epochs - ile razy model przejdzie przez Twoje dane. Start: 3. Jeśli masz mało danych (poniżej 5000) - daj 5. Jeśli dużo (50 000+) - wystarczy 2.
  2. per_device_train_batch_size - ile przykładów naraz. Start: 8. Jeśli Colab wywala błąd "out of memory" - zmniejsz do 4.
  3. save_steps - co ile kroków zapisywać checkpoint. Zostaw 500 - to bezpieczna wartość.

Klikasz Run. Czekasz 30-60 minut (zależy od ilości danych). Widzisz pasek postępu. Jak się skończy - masz wytrenowany model.

Trening w toku - pasek postępu, metryki spadają, GPU pracuje. Teraz czekasz.
Trening w toku - pasek postępu, metryki spadają, GPU pracuje. Teraz czekasz.

Przetestuj model (zanim go użyjesz)

Model wytrenowany. Czy działa? Nie zgaduj - przetestuj.

Prosty test: fill-mask

from transformers import pipeline

fill_mask = pipeline("fill-mask", model=model, tokenizer=tokenizer)
wynik = fill_mask("Pacjent skarży się na [MASK] w klatce piersiowej")
print(wynik)

Model zwróci Ci 5 najlepszych propozycji słowa na miejsce [MASK] - z prawdopodobieństwami. Jeśli widzisz sensowne medyczne terminy ("ból", "ucisk", "dyskomfort") zamiast ogólników ("coś", "problem") - gratulacje, fine-tuning zadziałał.

Zrób 10-20 takich testów z różnymi zdaniami z Twojej domeny. Jeśli większość ma sens - model jest gotowy.

Co jeśli wyniki są kiepskie?

Dwa najczęstsze powody:

  • Za mało danych - wróć do kroku 2, dodaj więcej przykładów (albo wygeneruj syntetyczne).
  • Za mało epok - zwiększ num_train_epochs z 3 do 5 i uruchom ponownie.

Fine-tuning to iteracja. Pierwszy raz rzadko wychodzi idealnie - drugi już tak.

Zapisz i użyj modelu w praktyce

Model działa. Teraz zapisujesz go, żeby nie trenować za każdym razem od nowa.

model.save_pretrained("./moj-model-medyczny")
tokenizer.save_pretrained("./moj-model-medyczny")

Pobierasz folder moj-model-medyczny z Colaba na dysk. Albo wrzucasz go na Hugging Face Hub (prywatnie) - wtedy masz dostęp z każdego miejsca.

Jak użyć modelu w prawdziwym projekcie

Dwa najpopularniejsze scenariusze:

  1. Embeddingi do wyszukiwania - zamiast keyword search robisz semantic search. Model rozumie, że "ból w klatce" i "dyskomfort w okolicy serca" to podobne pojęcia. Więcej o systemach RAG tutaj.
  2. Klasyfikacja dokumentów - dodajesz warstwę klasyfikacyjną na górze modelu (to kolejny fine-tuning, prostszy). Model uczy się rozpoznawać typy dokumentów, kategorie, priorytety.

W obu przypadkach ładujesz model tak samo:

from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained("./moj-model-medyczny")
model = AutoModel.from_pretrained("./moj-model-medyczny")

I używasz go jak każdego innego modelu z Hugging Face. Dokumentacja jest tutaj - choć szczerze? ChatGPT nauczy Cię tego szybciej niż oficjalna dokumentacja.

Od wytrenowanego modelu do produkcji - trzy najpopularniejsze ścieżki użycia
Od wytrenowanego modelu do produkcji - trzy najpopularniejsze ścieżki użycia

Najczęstsze pułapki (i jak ich uniknąć)

Pułapka 1: Za dużo epok = overfitting

Model uczy się Twoich danych na pamięć, zamiast uczyć się wzorców. Objaw: świetnie działa na przykładach treningowych, kiepsko na nowych danych. Rozwiązanie: zmniejsz liczbę epok, dodaj więcej różnorodnych danych.

Pułapka 2: Dane z jednego źródła

Jeśli wszystkie Twoje dane to raporty od jednego autora - model nauczy się stylu tego autora, nie domeny. Rozwiązanie: zbierz dane z różnych źródeł (różni autorzy, różne formaty, różne konteksty).

Pułapka 3: Brak walidacji

Trenujesz na wszystkich danych, nie zostawiasz nic do testów. Nie wiesz, czy model działa na nowych przykładach. Rozwiązanie: odłóż 10-20% danych na testy (nie używaj ich w treningu). Porównaj wyniki przed i po fine-tuningu.

Pułapka 4: Ignorowanie licencji modelu

Nie wszystkie modele na Hugging Face są darmowe do użytku komercyjnego. Sprawdź licencję (zakładka "Model Card" na stronie modelu). BERT i RoBERTa są Apache 2.0 (ok do komercji). Niektóre inne - tylko do badań.

Co dalej? Trzy kierunki rozwoju

Masz działający model. Co teraz?

  1. Dodaj klasyfikację - naucz model rozpoznawać kategorie dokumentów, sentyment, priorytety. To kolejny fine-tuning, na etykietowanych danych. Więcej o fine-tuningu do klasyfikacji tutaj.
  2. Zbuduj system RAG - użyj modelu do generowania embeddingów, podepnij pod wyszukiwarkę semantyczną. Nagle Twoja baza wiedzy staje się przeszukiwalna "po sensie", nie tylko po słowach kluczowych.
  3. Automatyzuj - połącz model z Make.com lub Zapier. Nowe dokumenty automatycznie trafiają do właściwych kategorii, priorytety ustawiają się same, alerty wysyłają się bez Twojego udziału. Jak to zrobić - tutaj.

Fine-tuning to nie cel - to narzędzie. Prawdziwa wartość przychodzi, gdy wpleczesz go w swój workflow.

Najczęstsze pytania

Czy fine-tuning modelu z maskowaniem wymaga znajomości programowania?

Nie musisz być programistą, musisz umieć skopiować 10-15 linii kodu do Google Colab i kliknąć Run. Jeśli potrafisz obsłużyć Excela i skopiować tekst - dasz radę. Wszystkie potrzebne kody są w tym przewodniku, gotowe do skopiowania.

Ile kosztuje fine-tuning modelu językowego?

Jeśli używasz Google Colab w wersji darmowej - zero. Dostaniesz kilka godzin GPU dziennie, co wystarczy na 2-3 treningi. Jeśli potrzebujesz więcej - Colab Pro to 10 USD miesięcznie (nielimitowane GPU). Alternatywa: własne GPU (RTX 3060 wystarczy) albo cloud (AWS, GCP - ~1-2 USD za godzinę treningu).

Jak długo trwa fine-tuning modelu BERT?

Na darmowym GPU w Colab: 30-60 minut dla 5000-10 000 przykładów, 3 epoki. Jeśli masz więcej danych (50 000+) - 2-3 godziny. Na płatnym GPU (Colab Pro, A100) - 10-20 minut dla tych samych danych. Pierwszy raz zajmie Ci dłużej (uczysz się interfejsu), kolejne - pół godziny setup + czas treningu.

Czy mogę używać wytrenowanego modelu komercyjnie?

Zależy od licencji modelu bazowego. BERT, RoBERTa, HerBERT - tak (licencja Apache 2.0 lub MIT). Sprawdzasz to na stronie modelu w Hugging Face, zakładka "Model Card". Jeśli licencja mówi "research only" - nie możesz używać komercyjnie bez zgody autora. Zawsze czytaj licencję przed wdrożeniem do produkcji.

Jak sprawdzić, czy fine-tuning faktycznie poprawił model?

Najprostszy sposób: przygotuj 20-30 testowych zdań z Twoich danych (z maskami [MASK] w kluczowych miejscach). Przetestuj model przed i po fine-tuningu - porównaj, czy propozycje słów są bardziej trafne. Bardziej zaawansowany: odłóż 10% danych przed treningiem, policz perplexity (miara zaskoczenia modelu) - im niższa, tym lepiej model rozumie Twoją domenę.

Chcesz opanować AI od podstaw?

Ten poradnik to dopiero początek. W naszym kursie "Praktyczna AI" nauczysz się korzystać z ChatGPT, Claude i innych narzędzi AI w sposób systematyczny - od zera do zaawansowanego poziomu.

Sprawdź kurs →

Podsumowanie: jeden model, trzy kroki, zero magii

Fine-tuning modelu z maskowaniem to nie czarna magia - to konkretny proces. Wybierasz model bazowy (5 minut), przygotowujesz dane (1-2 godziny), uruchamiasz trening (30-60 minut), testujesz (15 minut). Łącznie: pierwsze uruchomienie to 2-3 godziny. Kolejne - pół godziny.

Nie musisz być programistą. Nie musisz rozumieć architektury transformerów. Musisz umieć skopiować kod, kliknąć Run i poczekać. Resztę zrobi GPU.

Największa wartość? Model, który rozumie Twoją domenę - nie ogólny język polski, nie Wikipedia, nie korpus literacki. Twoje raporty, Twoje maile, Twój żargon. To różnica między narzędziem, które "mniej więcej działa" a narzędziem, które "po prostu działa".

Otwórz folder z dokumentami swojej firmy. Wybierz 100 plików tekstowych (raporty, maile, notatki - cokolwiek). Skopiuj je do jednego pliku .txt, każdy dokument w osobnej linii. Zapisz jako dane_treningowe.txt. Masz dane. To już 50% roboty. Resztę zrobisz w Google Colab w godzinę.

Na podstawie: Materiały kursu AI Evolution - Fine-tuning a masked language model, Hugging Face Transformers Documentation

Informacje o artykule

Podoba Ci się ten artykuł?

Co piątek wysyłam podsumowanie najlepszych artykułów tygodnia. Zapisz się!

Ten temat omawiam szerzej na webinarze

90 minut praktycznej wiedzy o AI. Pokaze Ci krok po kroku, jak zaczac oszczedzac 10 godzin tygodniowo dzieki sztucznej inteligencji.

Zapisz sie na webinar
Udostępnij:
Jan Gajos

Ekspert AI & Founder, AI Evolution

Pasjonat sztucznej inteligencji, który od 18 lat działa z sukcesem biznesowo i szkoleniowo. Wprowadzam AI do swoich firm oraz codziennego życia. Fascynują mnie nowe technologie, gry wideo i składanie klocków Lego - tam też widzę logikę i kreatywność, które AI potrafi wzmacniać. Wierzę, że dobrze użyta sztuczna inteligencja to nie ogłupiające ułatwienie, lecz prawdziwy przełom w sposobie, w jaki myślimy, tworzymy i pracujemy.