Jak dostosować model językowy z maskowaniem - przewodnik krok po kroku
Źródło: Link
Źródło: Link
118 lekcji bez kodowania. ChatGPT, Claude, Gemini, automatyzacje. Notatnik AI i AI Coach w cenie.
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.
Fine-tuning to nie rocket science, ale potrzebujesz kilku rzeczy na starcie:
Nie potrzebujesz: doktoratu z informatyki, znajomości Pythona na poziomie senior, budżetu na cloud computing. Serio.

Idziesz na Hugging Face Models i wpisujesz w filtrze: "Fill-Mask" + "Polish" (jeśli pracujesz po polsku). Zobaczysz listę gotowych modeli.
Dwa najpopularniejsze wybory:
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.
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.
Fine-tuning jest tak dobry, jak Twoje dane. Śmieci na wejściu = śmieci na wyjściu.
Model z maskowaniem uczy się z surowego tekstu - nie potrzebujesz etykiet, kategorii, ręcznych adnotacji. Po prostu teksty z Twojej domeny:
Zapisujesz to w jednym pliku tekstowym (.txt) - każdy dokument w osobnej linii. Albo w pliku CSV z jedną kolumną "text". Proste.
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.

Usuń:
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.
Teraz konkret. Otwierasz Google Colab, tworzysz nowy notebook. Klikasz Runtime → Change runtime type → GPU. Gotowe - masz darmowe GPU.
Kopiujesz i wklejasz:
!pip install transformers datasets accelerate -q
Uruchamiasz (Shift+Enter). Poczekasz minutę. Biblioteki się zainstalują.
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).
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ąć:
Klikasz Run. Czekasz 30-60 minut (zależy od ilości danych). Widzisz pasek postępu. Jak się skończy - masz wytrenowany model.

Model wytrenowany. Czy działa? Nie zgaduj - przetestuj.
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.
Dwa najczęstsze powody:
num_train_epochs z 3 do 5 i uruchom ponownie.Fine-tuning to iteracja. Pierwszy raz rzadko wychodzi idealnie - drugi już tak.
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.
Dwa najpopularniejsze scenariusze:
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.

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.
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).
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.
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ń.
Masz działający model. Co teraz?
Fine-tuning to nie cel - to narzędzie. Prawdziwa wartość przychodzi, gdy wpleczesz go w swój workflow.
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.
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).
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.
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.
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ę.
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 →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ę.
Podoba Ci się ten artykuł?
Co piątek wysyłam podsumowanie najlepszych artykułów tygodnia. Zapisz się!
90 minut praktycznej wiedzy o AI. Pokaze Ci krok po kroku, jak zaczac oszczedzac 10 godzin tygodniowo dzieki sztucznej inteligencji.
Zapisz sie na webinar