Kiedy zadajesz pytanie modelowi językowemu, nie uruchamiasz wyszukiwarki ani bazy danych. Uruchamiasz funkcję matematyczną, która na podstawie dotychczasowego tekstu oblicza, jaki fragment powinien pojawić się jako następny. Powtórzoną kilkaset razy. To wszystko.
Brzmi zbyt prosto jak na coś, co potrafi napisać kod i streścić artykuł naukowy. A jednak zrozumienie tego jednego mechanizmu wyjaśnia niemal wszystkie zachowania modeli - łącznie z tymi, które nas irytują.
Krok 1: tekst zamienia się w tokeny
Model nie widzi liter ani słów. Widzi tokeny - fragmenty tekstu o długości zwykle od jednego znaku do kilku liter. Słowo "automatyzacja" może zostać podzielone na trzy-cztery tokeny, a częste słowo w rodzaju "nie" zajmie jeden.
Każdy token ma swój numer w słowniku modelu. Zdanie zamienia się więc w ciąg liczb - i od tego momentu wszystko, co się dzieje, jest operacją na liczbach.
Dlaczego to ważne w praktyce
- Koszty rozlicza się za tokeny, nie za znaki. Polski tekst zużywa ich więcej niż angielski, bo modele trenowano głównie na angielszczyźnie.
- Literowanie sprawia modelom kłopot - pytanie "ile jest liter r w słowie truskawka" dotyczy czegoś, czego model dosłownie nie widzi.
- Limity podawane są w tokenach: "128 tysięcy tokenów kontekstu" to około 90-100 tysięcy słów po angielsku i wyraźnie mniej po polsku.
Krok 2: model przewiduje następny token
Sercem modelu jest architektura zwana transformerem. Jej kluczowy mechanizm - uwaga (attention) - pozwala przy przetwarzaniu każdego tokenu "spojrzeć" na wszystkie pozostałe i ocenić, które z nich są istotne.
W zdaniu "Kot, który siedział na parapecie w mieszkaniu mojej babci, był rudy" model musi powiązać "był rudy" z "kot", a nie z "babci". Mechanizm uwagi robi dokładnie to: wylicza, jak silnie każdy token wiąże się z każdym innym.
Na wyjściu model podaje rozkład prawdopodobieństwa dla całego słownika: token A z prawdopodobieństwem 34%, token B - 12%, i tak dalej dla dziesiątek tysięcy możliwości. Następnie jeden z nich zostaje wybrany, dopisany do tekstu, i cała procedura powtarza się od nowa.
Temperatura - dlaczego ta sama odpowiedź bywa inna
Gdyby model zawsze wybierał token o najwyższym prawdopodobieństwie, jego odpowiedzi byłyby powtarzalne i płaskie. Parametr temperatury steruje losowością wyboru: przy niskiej model trzyma się najbezpieczniejszych opcji, przy wysokiej częściej sięga po mniej oczywiste.
Stąd praktyczna zasada: do zadań wymagających precyzji (wyciąganie danych, klasyfikacja) ustawia się niską temperaturę, do zadań kreatywnych - wyższą.
Krok 3: skąd model "wie" cokolwiek
Wiedza modelu siedzi w wagach - miliardach liczb ustalonych podczas treningu. Trening polega na pokazywaniu modelowi ogromnych ilości tekstu z zasłoniętym fragmentem i korygowaniu wag, gdy zgadnie źle. Powtórzone tryliony razy.
Efekt: model nie przechowuje zdań, tylko statystyczne zależności między nimi. Nie ma w nim kopii Wikipedii - jest coś w rodzaju bardzo gęstego, rozmytego streszczenia wszystkiego, co przeczytał.
Skąd biorą się halucynacje
Halucynacja to sytuacja, w której model podaje informację nieprawdziwą, brzmiącą jednak wiarygodnie. Nie jest to błąd w kodzie - to bezpośrednia konsekwencja tego, jak model działa.
Zapytany o publikację naukową na dany temat, model generuje ciąg tokenów statystycznie pasujący do wzorca "tytuł publikacji naukowej". Jeśli konkretnej pracy nie ma w jego wagach, wyprodukuje tytuł prawdopodobny - z nazwiskami autorów, którzy w tej dziedzinie faktycznie publikują, i rokiem, który pasuje. Powstanie coś, co wygląda jak przypis, a nie istnieje.
Co ogranicza halucynacje
- Podanie źródeł w zapytaniu - model streszcza dostarczony tekst zamiast odtwarzać z pamięci. Na tym opiera się technika RAG.
- Wyraźna zgoda na niewiedzę - instrukcja "jeśli nie masz pewności, napisz, że nie wiesz" zauważalnie zmniejsza zmyślanie.
- Weryfikacja zewnętrzna - sprawdzanie faktów kodem lub drugim modelem tam, gdzie cena błędu jest wysoka.
Okno kontekstowe: pamięć, która nie jest pamięcią
Model nie pamięta poprzednich rozmów. Przy każdym zapytaniu dostaje całą historię konwersacji jako tekst wejściowy. Kiedy rozmowa przekracza rozmiar okna kontekstowego, najstarsze fragmenty są obcinane - stąd wrażenie, że model "zapomniał", o czym była mowa na początku.
Warto też wiedzieć, że modele gorzej wykorzystują informacje ulokowane w środku bardzo długiego kontekstu niż te na początku i na końcu. Kluczowe instrukcje lepiej umieszczać blisko końca zapytania.
Czego model nie potrafi z zasady
Model nie wie, co wydarzyło się po dacie odcięcia treningu - chyba że dostanie te informacje w zapytaniu albo ma dostęp do wyszukiwarki. Nie liczy też naprawdę, tylko symuluje liczenie na podstawie wzorców: przy prostych działaniach zwykle trafia, przy złożonych bywa źle, dlatego poważne obliczenia zleca się kalkulatorowi albo kodowi.
Dwa kolejne ograniczenia są mniej oczywiste, bo przeczą temu, jak o modelach mówimy na co dzień. Model nie ma intencji ani przekonań - zdanie "model uznał, że…" to wygodny skrót myślowy, nie opis tego, co się dzieje w środku. I nie uczy się z Twojej rozmowy: wagi są zamrożone, a zapamiętywanie preferencji między sesjami to funkcja aplikacji, nie modelu.
Dlaczego mimo to działa tak dobrze
Bo przewidywanie następnego słowa okazało się zadaniem trudniejszym, niż zakładano. Żeby dobrze uzupełnić zdanie "Dowód twierdzenia opiera się na…", trzeba przyswoić strukturę argumentacji matematycznej. Żeby uzupełnić fragment kodu - składnię i typowe wzorce programistyczne. Skala treningu sprawiła, że z prostego celu wyłoniły się umiejętności, których nikt wprost nie programował.
To jednocześnie najlepsze wyjaśnienie ograniczeń: kompetencje modelu są tak dobre, jak dobrze dane zjawisko jest reprezentowane w tekstach, na których się uczył.
Najczęstsze pytania
Zależy od definicji rozumienia. Model buduje wewnętrzne reprezentacje pojęć i potrafi je przenosić między kontekstami - to więcej niż zwykłe dopasowywanie wzorców. Nie ma jednak świadomości ani przekonań, a jego "wiedza" to statystyczne zależności, nie fakty, które mógłby zweryfikować.
Wybór tokenów zawiera element losowości, a drobna zmiana sformułowania pytania prowadzi do innej ścieżki generowania. Dlatego przy zadaniach powtarzalnych warto obniżyć temperaturę i ustandaryzować instrukcję.
Nie. Większe modele mają szerszą wiedzę i lepiej radzą sobie ze złożonym rozumowaniem, ale są wolniejsze i droższe. Do klasyfikacji czy wyciągania danych z dokumentów mniejszy model często wystarcza i bywa lepszym wyborem.
