Strona główna / Rozdział 1 · Jak model czyta i przewiduje
Ostatnia zmiana · 5 min czytania
Następny token
Model nie zwraca tekstu, tylko wynik (logit) dla każdego tokena ze słownika. Osobny kod, sampler, zamienia wyniki w prawdopodobieństwa i losuje jeden token. Tak powstaje każdy token odpowiedzi, jeden po drugim.
Po ludzkuKlawiatura w telefonie podpowiada trzy słowa. Model robi to samo dla stu tysięcy kawałków słów naraz, a potem rzuca kostką obciążoną tymi szansami. Temperatura decyduje, jak mocno obciążona jest kostka.
Zmieniaj temperaturę i top-p, a potem losuj. Porównaj pytanie, na które model zna odpowiedź, takie, na które odpowiada pewnie i błędnie, i takie, przy którym zgaduje
Prawdziwe prawdopodobieństwa następnego tokena z Qwen3-0.6B-Base, małego otwartego modelu bez treningu czatowego: jego osiem najbardziej prawdopodobnych tokenów, przeskalowanych do 100%. Przekreślone słupki odciął top-p.
Od logitów do tokena
- Softmax z temperaturą:
p = exp(logit / T) / Σ exp(logit / T). T poniżej 1 wyostrza rozkład, powyżej 1 go spłaszcza, T → 0 to zawsze najlepszy token (greedy), a bardzo wysokie T zbliża rozkład do jednostajnego. Temperatura nie zmienia kolejności tokenów, tylko odstępy między nimi. - Obcinanie ogona: top-k zostawia k najlepszych tokenów, top-p (nucleus) najmniejszy zbiór pokrywający np. 90% prawdopodobieństwa, min-p odrzuca tokeny słabsze niż ułamek najlepszego. Top-p i min-p dopasowują się do pewności modelu: gdy model jest pewny, zostaje jeden kandydat, gdy niepewny – kilkadziesiąt. W Hugging Face i vLLM temperatura działa przed obcinaniem, więc wpływa na to, co zostanie.
- Wylosowany token trafia na koniec tekstu i nie da się go cofnąć. Kolejne tokeny muszą do niego pasować, więc jeden pechowy token z ogona potrafi pociągnąć za sobą całe zmyślone zdanie.
- Sampler może też zerować tokeny niezgodne ze schematem JSON. Tak działa structured output (zobacz „Wymuszanie formatu”).
Pułapki
- Greedy nie znaczy najlepiej. Wybieranie zawsze najbardziej prawdopodobnego tokena prowadzi do powtórzeń i pętli (Holtzman i in., 2019). DeepSeek zaleca dla R1 temperaturę 0,5–0,7 właśnie przeciw niekończącym się powtórzeniom. Kary za powtórzenia (repetition, frequency, presence penalty) obniżają logity już użytych tokenów: ograniczają pętle, ale karzą też uzasadnione powtórzenia, np. nazwy zmiennych w kodzie czy klucze JSON.
- Temperatura 0 nie daje pełnej powtarzalności. Obliczenia na GPU dają minimalnie inne liczby zależnie od tego, ile requestów trafiło do batcha, a przy prawie równych logitach to zmienia wybrany token i całą resztę odpowiedzi. Parametr
seed, tam gdzie API go ma, nie gwarantuje determinizmu. Przy self-hostingu determinizm dają kernele niezależne od batcha, kosztem prędkości (vLLM:VLLM_BATCH_INVARIANT=1). - Rozkład nie mierzy prawdy. Płaski rozkład bywa sygnałem niewiedzy, ale też kilku równie dobrych sformułowań. Model bywa pewny błędnej odpowiedzi, a sampler zawsze coś wybierze i zdanie zabrzmi równie pewnie. Niższa temperatura nie leczy zmyśleń, tylko czyni je powtarzalnymi (zobacz „Halucynacje”).
Co ustawiasz w praktyce
- W modelach bez rozumowania: ekstrakcja, klasyfikacja i kod przy niskiej temperaturze, 0–0,3; pisanie i szukanie pomysłów przy 0,7–1. Zmieniaj temperaturę albo top-p, nie oba naraz, i sprawdzaj efekt na zestawie ewaluacyjnym, a nie na jednej próbce.
logprobsw API pokazują ten rozkład, zwykle sprzed temperatury i top-p (domyślnie w vLLM). Przydają się do progu pewności w klasyfikacji: każesz modelowi odpowiedzieć jednym tokenem etykiety i czytasz prawdopodobieństwo każdej etykiety. API Claude ich nie zwraca, a OpenAI tylko przy wyłączonym rozumowaniu.- Kilka próbek przy T > 0 i głosowanie większością (self-consistency) podnosi trafność w zadaniach z jedną poprawną odpowiedzią, a niezgodność próbek jest sygnałem niepewności. Kosztuje tyle razy więcej tokenów, ile próbek.
- Przy modelach rozumujących sampler bywa zablokowany (stan na wrzesień 2026). Claude Opus od wersji 4.7 i Claude Sonnet 5 odrzucają błędem 400 wartości
temperature,top_pitop_kinne niż domyślne, a OpenAI przy włączonym rozumowaniu nie przyjmujetemperature,top_panilogprobs. Sterujesz wtedy poziomem rozumowania i promptem. Tam, gdzie model rozumujący je przyjmuje, zostaw wartości zalecane przez dostawcę: Google zdecydowanie zaleca temperaturę 1,0 dla wszystkich modeli Gemini 3 i ostrzega, że niższa może wpędzić model w pętle. Niska temperatura to narzędzie dla modeli bez rozumowania.
Sprawdź się
Jak model wybiera następny token i jak dobierasz temperaturę i top-p?
Model zwraca logity dla całego słownika. Softmax z temperaturą, exp(logit/T), zamienia je w rozkład: T poniżej 1 wyostrza, powyżej 1 spłaszcza, a T = 0 to zawsze najlepszy token. Top-p zostawia najmniejszy zbiór tokenów pokrywający np. 90% prawdopodobieństwa i odcina ogon, z którego biorą się dziwne tokeny. W modelach bez rozumowania ekstrakcja i kod dostają niską temperaturę, teksty twórcze wyższą; zmieniaj jeden parametr naraz i sprawdzaj na ewaluacjach. T = 0 nie daje pełnej powtarzalności, a modele rozumujące często blokują sampler albo, jak Gemini 3, działają najlepiej przy domyślnym 1,0.
In English
The model returns logits for the whole vocabulary. A temperature softmax, exp(logit/T), turns them into a distribution: T below 1 sharpens it, above 1 flattens it, and T = 0 always picks the top token. Top-p keeps the smallest set of tokens covering, say, 90% of the probability and cuts the tail where odd tokens come from. On non-reasoning models, use a low temperature for extraction and code and a higher one for creative text, change one parameter at a time and check the effect on evals. T = 0 is not fully reproducible, and reasoning models often lock the sampler or, like Gemini 3, work best at the default 1.0.
Pytania pogłębiające (4)
- Czemu temperatura 0 nie daje pełnej powtarzalności?
- Wynik zależy od tego, z kim request trafił do batcha: inny rozmiar batcha to inna kolejność działań zmiennoprzecinkowych i minimalnie inne logity. Przy dwóch tokenach o prawie równych logitach to wystarczy, żeby wybrać inny, a dalej rozjeżdża się cała odpowiedź.
- Top-k, top-p, min-p: jaka różnica?
- Top-k zostawia stałą liczbę kandydatów bez względu na pewność modelu. Top-p zostawia tylu, żeby pokryć zadany procent prawdopodobieństwa, więc dopasowuje się do rozkładu. Min-p odcina tokeny słabsze niż ułamek najlepszego, np. 0,1 × jego prawdopodobieństwo. Autorzy min-p piszą, że lepiej znosi wysoką temperaturę, ale ponowna analiza z 2025 r. uznała, że ich dowody tego nie potwierdzają.
- Czy niższa temperatura zmniejsza halucynacje?
- Tylko te, które biorą się z wylosowania tokena z ogona. Jeśli model „wierzy” w błędny fakt, T = 0 wybierze go za każdym razem (zobacz „Halucynacje”).
- Jak użyć logprobs do klasyfikacji?
- Każ modelowi odpowiedzieć jednym tokenem etykiety i odczytaj prawdopodobieństwo każdej etykiety. Dostajesz rozkład zamiast jednej odpowiedzi i ustawiasz próg, poniżej którego sprawa idzie do człowieka. Próg kalibruj na własnych danych, bo po post-trainingu pewność modelu bywa zawyżona.