LLM to nie czarna skrzynka. Ścieżka od tekstu do odpowiedzi.
Pod pokrywą LLM kryje się pięć konkretnych mechanizmów - tokenizer, embedding, transformer, wagi, generator. Żaden z nich nie myśli - ale razem generują tekst który wygląda jakby rozumiał.
Prompt wchodzi, odpowiedź wychodzi. Większość użytkowników nie potrzebuje wiedzieć więcej. To klasyczny black box - system w którym widzisz co wchodzi i co wychodzi, ale nie wiesz co dzieje się w środku.
Problem zaczyna się gdy model odpowiada błędnie. Gdy halucynuje. Gdy ten sam prompt daje dwie różne odpowiedzi. Bez choćby minimalnej wiedzy o tym jak działa LLM, każde z tych zachowań wygląda jak losowość, ułomność AI. Z tą wiedzą - to przewidywalne konsekwencje konkretnych mechanizmów.
Kto traktuje LLM jak wszechwiedzącego rozmówcę, będzie rozczarowany. Kto rozumie co jest w środku - wie gdzie model zadziała, gdzie zawiedzie i dlaczego.
Od tekstu do liczb
LLM nie widzi tekstu. Widzi tokeny. Zanim prompt trafi do modelu, algorytm tokenizacji tnie go na fragmenty - korzystając ze słownika zbudowanego na danych treningowych. Im częściej fragment tekstu pojawia się w danych treningowych, tym większa szansa że dostanie własny token. “nie” = jeden token. “niepowtarzalność” = pięć tokenów: nie, pow, tar, zal, ność.
Po tokenizacji każdy token zamienia się w embedding - wektor liczbowy w przestrzeni wielowymiarowej (GPT-3: 12 288 wymiarów, Llama 7B: 4 096). Tokeny o zbliżonym znaczeniu lądują blisko siebie w tej przestrzeni. “Król” w zdaniu o monarchii będzie bliżej “królowa” niż “stół” - model łapie kontekst znaczeniowy. Model nie rozumie znaczenia tych słów. Mierzy odległości matematyczne między wektorami - i to wystarcza żeby generować spójny tekst.
Przestrzeń wektorowa (uproszczona do 2D)
Konsekwencje są konkretne. Polski tekst zużywa więcej tokenów niż angielski - tokenizer faworyzuje język treningowy. “123456” to dla modelu nie liczba a fragmenty tekstu - stąd błędy w arytmetyce. Ale embedding daje też coś za darmo: “samochód” i “auto” lądują blisko siebie w przestrzeni wektorowej - model łapie synonimię bez jawnych reguł.
Transformer - silnik modelu
Sercem każdego współczesnego LLM jest transformer - architektura która przetwarza tokeny równolegle, szukając relacji z wcześniejszymi. Każdy model na rynku - od GPT po Claude - jest zbudowany na tym samym fundamencie.
Transformer to stos identycznych warstw ułożonych jedna na drugiej. Ich liczba waha się od kilkudziesięciu (Mistral 7B - 32) do ponad stu (Llama 3 405B - 126). Więcej warstw pozwala modelowi łapać bardziej abstrakcyjne wzorce - ale kosztuje więcej i odpowiada wolniej. W praktyce: prosty chat nie potrzebuje 126 warstw, ale analiza kontraktu prawnego już może. Każda warstwa zawiera dwa kluczowe bloki:
-
Self-attention (mechanizm uwagi) - każdy token “pyta” wszystkie wcześniejsze tokeny w kontekście jak bardzo są dla niego istotne i zbiera ich informacje proporcjonalnie do tej istotności. To tutaj model łapie relacje między odległymi fragmentami tekstu. Attention nie jest równomierny - tokeny na początku i końcu kontekstu dostają go więcej niż te w środku. Dlaczego tak się dzieje i co z tego wynika - opisuje notatka o oknie kontekstowym LLM.
-
Feed-forward network (FFN) (sieć przetwarzająca) - przetwarza każdy token osobno przez dwie warstwy z nieliniową funkcją aktywacji. FFN zawiera około dwóch trzecich wszystkich parametrów modelu. Tu przechowywana jest większość “wiedzy” - skojarzeń i wzorców wyuczonych z danych treningowych.
Wcześniejsze warstwy uczą się prostszych wzorców - składnia, gramatyka. Głębsze - abstrakcji, semantyki, rozumowania.
Skąd model “wie” cokolwiek
Trening LLM ma jeden cel: przewidywanie następnego tokenu. Model dostaje sekwencję i uczy się który token powinien być następny. “Kot siedzi na” → “macie” z prawdopodobieństwem 73%, “kanapie” 12%, “dachu” 4%… Powtórz to biliony razy na ogromnym zbiorze tekstu - i model zaczyna generować spójne odpowiedzi.
Dane treningowe to przede wszystkim internet: Common Crawl (surowe strony), Wikipedia, książki, repozytoria kodu z GitHuba, artykuły naukowe, social media. Skala jest trudna do wyobrażenia - Llama 3 trenowano na ponad 15 bilionach tokenów. Dane są filtrowane (deduplikacja, usuwanie niskiej jakości treści, filtr języka), ale nikt nie czyta ich ręcznie token po tokenie. Jeśli w internecie dominuje błędna informacja na jakiś temat - model ją powtórzy. Dodatkowo warto mieć na uwadze cut-off date - moment w którym dane treningowe się kończą. Po tej dacie model nie wie nic.
Miliardy parametrów (wag) modelu to wynik tego treningu. Parametr to jedna liczba - waga połączenia w sieci neuronowej. GPT-3 ma ich 175 miliardów. Llama 3 405B - 405 miliardów. Trening to optymalizacja tych wag żeby model jak najlepiej przewidywał następny token.
Po pretreningu model umie generować tekst, ale nie umie odpowiadać na pytania ani odmawiać niebezpiecznych próśb. Do tego służy post-training: model jest dalej trenowany na parach instrukcja-odpowiedź (supervised fine-tuning), a następnie dostrajany na ludzkich lub AI preferencjach żeby był pomocny i bezpieczny. OpenAI używa RLHF (uczenie ze wzmocnieniem z feedbacku ludzkiego). Anthropic opracował Constitutional AI - model sam się krytykuje według zdefiniowanych zasad, potem jest trenowany na własnych poprawkach.
Jak model odpowiada
Generowanie jest autoregresyjne: model produkuje jeden token na raz. Każdy wygenerowany token jest dołączany do kontekstu i model oblicza następny. Token po tokenie aż do końca odpowiedzi. Model nie planuje odpowiedzi z góry - nie wie jak zakończy zdanie gdy zaczyna je pisać.
Przy generowaniu każdego tokenu model oblicza prawdopodobieństwo dla całego słownika, a który token zostanie wybrany zależy od strategii. Najważniejszy parametr to temperatura - reguluje czy model trzyma się pewnych odpowiedzi (niska) czy eksploruje mniej oczywiste (wysoka). Stąd ten sam prompt przy różnej temperaturze daje różne odpowiedzi.
| Strategia | Jak działa | Efekt |
|---|---|---|
| Greedy | Zawsze najwyższe prawdopodobieństwo | Deterministyczny, powtarzalny, nudny |
| Temp. < 1 | Najbardziej prawdopodobne tokeny zyskują jeszcze większą przewagę | Bardziej przewidywalny, “bezpieczny” |
| Temp. > 1 | Mniej oczywiste tokeny dostają wyższe szanse | Bardziej kreatywny, ryzyko bzdur |
| Top-p (nucleus) | Wybiera z najmniejszego zbioru tokenów przekraczającego próg p | Adaptuje się do kontekstu |
Czego w pudełku nie ma
LLM nie myśli, nie pamięta i nie rozumie. Przewiduje następny token na podstawie statystycznych wzorców wyuczonych z miliardów tekstów. To nie jest uproszczenie - to opis mechanizmu.
Z tego wynika kilka twardych ograniczeń:
- Brak pamięci trwałej. Model nie pamięta poprzednich rozmów. Każda sesja zaczyna się od zera - “pamięć” to wyłącznie aktualny kontekst.
- Brak dostępu do świata zewnętrznego. Model nie sprawdza internetu, nie wykonuje kodu, nie łączy się z bazami danych. Odpowiada wyłącznie na podstawie wag wyuczonych w treningu i aktualnego kontekstu.
- Brak weryfikacji faktów. Model generuje tekst który jest statystycznie prawdopodobny, nie tekst który jest prawdziwy. Stąd halucynacje - model nie kłamie, bo nie ma pojęcia prawdy. Generuje ciąg dalszy który pasuje do wzorca.
- Brak planowania. Odpowiedź powstaje token po tokenie bez planu całości. Model nie wie jak zakończy akapit gdy pisze pierwsze zdanie.
Te ograniczenia nie są błędami do naprawienia w następnej wersji. To konsekwencje architektury - systemu który zamienia tekst na liczby, przetwarza je przez warstwy transformera i generuje następny token. Nic więcej.
Dlatego wokół LLM wyrósł cały ekosystem narzędzi. Function calling pozwala modelowi wywoływać zewnętrzne funkcje. MCP (Model Context Protocol) standaryzuje dostęp do narzędzi i źródeł danych. Orkiestracja pozwala łączyć model z kodem, bazami, API. Sam model to generator tekstu - dopiero w połączeniu z narzędziami staje się czymś więcej.
Czy to AI - czy interfejs nowej generacji?
Klawiatura, ekran dotykowy, głos - każda generacja interfejsów zmieniała sposób komunikacji z maszyną. LLM jest może pierwszym w którym komunikacja odbywa się w języku naturalnym, bez translacji na polecenia czy gesty. Czy to AI - czy interfejs nowej generacji?
W newsletterze rozwijam tego rodzaju tematy głębiej. Zapisz się.