Robocikowo>ROBOCIKOWO
Architektura

Temperature (sampling parameter)

mature
Skalarny parametr modyfikujący rozkład prawdopodobieństwa wygenerowany przez softmax — niskie wartości wyostrzają rozkład (bardziej deterministyczne wyjście), wysokie spłaszczają go (większa różnorodność generacji).
Kategoria
Architektura
Poziom abstrakcji
Primitive
Poziom operacji
InferencjaTrening
Zastosowania
Sterowanie różnorodnością generacji w LLM (chat, kreatywne pisanie, kod)Greedy / deterministyczne dekodowanie przy T → 0 (zadania faktograficzne, kod, klasyfikacja)Wysoka temperatura w kreatywnym pisaniu, brainstormingu, generacji wariantówTemperature scaling — post-hoc kalibracja modeli klasyfikacyjnychDistillation — wysoka T daje "soft targets" przekazujące wiedzę "ciemnej" części rozkładuŁączone z top-k i top-p w nowoczesnych pipeline'ach samplinguStrojenie balansu eksploracja–eksploatacja w RL z miękkimi politykami

Jak działa

1. Model zwraca logity z_i dla każdego tokenu w słowniku. 2. Skalowanie: podziel logity przez T: z_i / T. 3. Softmax: p_i = exp(z_i / T) / Σ_j exp(z_j / T). 4. Sampling: wylosuj token z rozkładu p (lub zastosuj greedy argmax dla T→0). Efekt T: • T < 1 → wyostrzenie: prawdopodobieństwa koncentrują się na tokenie o najwyższym logicie. T→0 to greedy decoding. • T = 1 → surowy rozkład modelu. • T > 1 → spłaszczenie: różnice między tokenami maleją, wzrasta losowość. T→∞ to rozkład jednostajny. 5. Temperatura stosowana PRZED opcjonalnym top-k / top-p — najpierw skaluj logity, potem przytnij. 6. Temperature scaling (kalibracja): ucz jednego skalara T na zbiorze walidacyjnym minimalizując negative log-likelihood, żeby prawdopodobieństwa posterior lepiej odpowiadały rzeczywistej trafności.

Rozwiązany problem

Logity modelu językowego muszą zostać zamienione na rozkład prawdopodobieństwa, z którego samplujesz token. Surowy rozkład (T=1) generuje tekst mechanicznie podążający za statystycznym nawykiem — prowadząc do powtarzalności lub degeneracji. Jednocześnie brak kontroli nad losowością uniemożliwia dostosowanie generacji do zadania: kod wymaga deterministyczności, kreatywne pisanie — różnorodności. Temperature rozwiązuje oba problemy jednym skalarnym parametrem.

Kluczowe mechanizmy

Skalowanie logitów przed softmaxem: p_i = exp(z_i / T) / Σ exp(z_j / T)
T < 1 — wyostrzenie rozkładu (mniej losowości, większa pewność)
T > 1 — spłaszczenie rozkładu (więcej różnorodności, ryzyko degeneracji)
T → 0 — granica greedy decoding (argmax na logitach)
T → ∞ — granica rozkładu jednostajnego
Komponowanie z top-k i top-p — temperatura skaluje logity przed odcięciem
Temperature scaling — pojedyncze T uczone na walidacji w celu minimalizacji NLL/ECE
Wysoka T w distillation — generuje "soft targets" przekazujące relacje między klasami

Mocne strony i ograniczenia

Mocne strony
Bardzo prosty mechanizm — pojedynczy skalar z jasną interpretacją
Zerowy koszt obliczeniowy — jedna dodatkowa operacja dzielenia
Powszechnie wspierany w bibliotekach inferencyjnych i API
Kontroluje balans między pewnością a różnorodnością bez modyfikacji modelu
Działa post-hoc — nie wymaga retreningu
W kalibracji nie zmienia trafności klasyfikacji (zachowuje argmax)
Ograniczenia
Globalny efekt — działa na cały rozkład, nie umie selektywnie tłumić nieprawidłowych tokenów
Wysoka T może prowadzić do degeneracji tekstu (Holtzman et al. 2020)
Bardzo niska T daje powtarzalne, nudne wyjścia (zapętlenia, "I am an AI...")
Brak adaptacyjności do kontekstu — wymaga ręcznego strojenia dla różnych zadań
Słabo komponuje się z silnie skalibrowanymi modelami (nadmierne wygładzanie)
Wpływ na jakość generacji jest mocno zależny od architektury, danych i fazy treningu

Implementacja

Pułapki implementacyjne
T=0 nie jest naprawdę deterministyczne w float16Średnia

Temperatura 0 (argmax) powinna dawać deterministyczne wyniki, ale błędy zaokrąglenia float16 i różne kolejności operacji GPU mogą dawać różne tokeny na remisach logitów. Dla pełnej deterministyczności wymagany float32 i seeded PRNG.

Wysoka temperatura nie poprawia kreatywności — zwiększa losowośćŚrednia

T>1.5 często prowadzi do niespójnych lub bezsensownych odpowiedzi. "Kreatywność" LLM wynika z różnorodności danych treningowych, nie z wysokiej temperatury — T=0.7–1.0 to optymalny zakres dla większości zastosowań.

Ewolucja

Oryginalny paper · 1985 · Cognitive Science (A Learning Algorithm for Boltzmann Machines) · David H. Ackley
A Stochastic Model for Statistical Mechanics (softmax with temperature)
David H. Ackley, Geoffrey E. Hinton, Terrence J. Sejnowski
1985
Ackley, Hinton, Sejnowski wprowadzają parametr temperatury w maszynach Boltzmanna — pierwotne fizyczne uzasadnienie (rozkład Gibbsa).
2015
Hinton, Vinyals i Dean ("Distilling the Knowledge in a Neural Network") używają wysokiej temperatury softmaxu do tworzenia "soft targets" w destylacji wiedzy.
2017
Guo, Pleiss, Sun, Weinberger publikują "On Calibration of Modern Neural Networks" — temperature scaling staje się standardową techniką kalibracji modeli klasyfikacyjnych.
2019
GPT-2 (Radford et al.) popularyzuje temperaturę jako podstawowy parametr generacji tekstu w dużych modelach językowych.
2020
Holtzman et al. ("The Curious Case of Neural Text Degeneration") wprowadzają nucleus sampling (top-p) i analizują wpływ temperatury na degenerację tekstu.
2023
OpenAI ChatGPT API standaryzuje zakres temperatury 0–2 jako parametr publiczny dla deweloperów; konwencja przyjęta przez większość dostawców LLM.

Złożoność obliczeniowa

Charakterystyki obliczeniowe
Koszt obliczeniowy: O(V) na krok dekodowania (V = rozmiar słownika) — pomijalny
Pamięć: pojedynczy skalar — O(1)
Brak narzutu pamięci GPU/CPU
Trywialnie łączony z top-k, top-p, repetition penalty w pipeline samplingu
Implementacja jednolinijkowa: logits / T przed softmaxem
W kalibracji: jednowymiarowa optymalizacja na zbiorze walidacyjnym
Uwagi do benchmarku

Typowe zakresy: T = 0,0 (greedy, kod / zadania faktograficzne), T = 0,2–0,5 (precyzyjne odpowiedzi), T = 0,7–1,0 (kreatywne pisanie, chat), T > 1,2 (eksperymentalne / wysoka kreatywność). Guo et al. (2017) pokazali, że temperature scaling redukuje Expected Calibration Error (ECE) ResNetów na CIFAR-100 z ~16% do <2%. Holtzman et al. (2020) wykazali, że T = 1,0 z pure samplingiem daje wysoką perplexity, ale prowadzi do degeneracji tekstu — co uzasadniło wprowadzenie nucleus sampling jako alternatywy.