---
title: "Temperature (LLM) (CS)"
source: "https://systems-analysis.info/int/Temperature_(LLM)_(CS)"
wiki: "systems-analysis.info/int"
article: "Temperature_(LLM)_(CS)"
language: "cs"
categories:
  - "Category:Core LLM concepts"
  - "Category:Czech"
  - "Category:Large language models"
  - "Category:LLM core concepts"
  - "Category:Machine learning"
revision_id: 7845
wiki_created_at: 2026-09-07T01:07:50Z
wiki_modified_at: 2026-09-07T01:07:50Z
downloaded_at: 2026-09-07T23:21:08Z
---

# Temperature (LLM) (CS)

**Teplota** (angl. Temperature) v kontextu velkých jazykových modelů (LLM) je hyperparametr, který řídí míru náhodnosti a „kreativnosti" při generování textu. Reguluje „ostrost" nebo naopak „vyhlazení" pravděpodobnostního rozdělení dalšího tokenu v každém kroku dekódování. Manipulací s teplotou lze řídit rovnováhu mezi předvídatelností (koherencí) a rozmanitostí (kreativitou) generovaného textu.

## Jednoduché vysvětlení

**Teplota** je parametr, který určuje, **jak opatrně nebo naopak volně model vybírá další slovo**. Velký jazykový model téměř nikdy nemá jen jedno možné pokračování: obvykle existuje na každém kroku několik vhodných variant, každá s vlastní pravděpodobností. Teplota neovlivňuje samotné znalosti modelu ani to, „co ví", ale ovlivňuje to, **jak přesně vybírá** mezi těmito variantami při generování.

Při **nízké teplotě** se model chová konzervativněji. Více „důvěřuje" nejpravděpodobnějším slovům a méně se odchyluje od nejočekávanějšího pokračování. Výsledkem je text, který je obvykle hladší, předvídatelnější, formálně správnější a konzistentnější. Tento režim je užitečný tam, kde záleží na přesnosti formulací, stabilitě odpovědi, opakovatelnosti výsledku a minimalizaci zbytečné variability. Tento přístup má však i svou odvrácenou stranu: text může být příliš šablonový, suchý, jednotvárný a někdy přehnaně „opatrný". Při příliš nízké teplotě může model dokonce začít donekonečna opakovat tytéž konstrukce (uváznout ve smyčce), „zaseknutý" na nejpravděpodobnějších, ale ne vždy vhodných pokračováních.

Při **vysoké teplotě** se model chová odvážněji. Častěji připouští výběr nejen nejpravděpodobnějších, ale i méně zřejmých slov. Díky tomu jsou odpovědi rozmanitější, živější, netradiční a někdy originálnější. To může být užitečné při tvůrčích úkolech, brainstormingu, generování nápadů, uměleckých textech nebo při hledání několika různých formulací. Ale spolu s růstem rozmanitosti se zvyšuje i riziko: text se může stát méně koherentním, méně přesným a v krajních případech divným, nelogickým nebo náhodným.

Pohodlná intuice spočívá v tom, že teplota **není regulátorem znalostí, ale regulátorem rizika při výběru slov**. Nízká teplota nutí model téměř vždy volit „nejbezpečnější" variantu. Vysoká mu dovoluje častěji „riskovat" a zkoušet méně zřejmá pokračování.

Další užitečný obraz: teplotu lze přirovnat k tomu, jak člověk odpovídá na otázku. Vyžaduje-li se oficiální, přesná a pečlivá odpověď, člověk zpravidla volí nejneutrálnější a nejočekávanější formulace — to připomíná nízkou teplotu. Je-li však úkolem vymyslet neobvyklý nápad, metaforu, dějový obrat nebo několik netradičních variant, formulace se stávají volnějšími a odvážnějšími — to připomíná vysokou teplotu.

Teplota tedy odpovídá za rovnováhu mezi dvěma vlastnostmi generování:

- **předvídatelností a stabilitou** odpovědi;
- **rozmanitostí a překvapivostí** formulací.

Čím nižší je teplota, tím blíže je model nejpravděpodobnějšímu a standardnímu pokračování. Čím vyšší je teplota, tím větší prostor pro variabilitu, ale tím slabší kontrola nad přísností a koherencí výsledku.

## Teoretická definice

Matematicky je teplota ($T$) zavedena jako dělitel ve funkci **softmax**, která transformuje výstupní logity modelu ($u_{i}$) do rozdělení pravděpodobností ($P_{i}$). Vzorec vypadá takto:

$P_{i}^{(T)} = \frac{e^{u_{i}/T}}{\sum\limits_{j}e^{u_{j}/T}}$

Kde:

- $P_{i}^{(T)}$ — výsledná pravděpodobnost $i$-ho tokenu při teplotě $T$.
- $u_{i}$ — logit (nenormalizované skóre) pro $i$-tý token, vydaný modelem.
- $T$ — parametr teploty (striktně kladné číslo). Například v API OpenAI je pro většinu modelů přípustný rozsah od 0 do 2,0, kde 0 je speciální případ greedy decoding (viz níže). V jiných knihovnách (Hugging Face Transformers, llama.cpp) může teplota nabývat libovolné kladné hodnoty.

**Důležité:** teplota ovlivňuje výstup **pouze v režimech se sampling**. V režimech bez samplování (greedy decoding, klasický beam search) nemá parametr teploty žádný efekt. Například v Hugging Face Transformers je pro fungování teploty nutné aktivovat `do_sample=True`.

### Vliv hodnoty teploty

- **$T = 1$ (standardní hodnota):** Rozdělení pravděpodobností zůstává nezměněno. Jedná se o standardní softmax, který odráží původní předpovědi modelu.
- **$T < 1$ (nízká teplota, například $0.2$ – $0.7$):** Rozdělení se stává **ostřejším** nebo **vrcholovějším**. Pravděpodobnosti nejpravděpodobnějších tokenů se zvyšují a méně pravděpodobných se snižují. To činí generování deterministickějším a předvídatelnějším. Model častěji volí zřejmá, vysokofrekvenční slova, čímž se zvyšuje koherence a gramatická správnost textu, ale snižuje jeho rozmanitost.
- **$T > 1$ (vysoká teplota, například $1.1$ – $1.5$):** Rozdělení se stává **hladším** nebo **rovnoměrnějším**. Rozdíl mezi pravděpodobnostmi tokenů se vyhlazuje, což zvyšuje šanci výběru méně pravděpodobných (a více „překvapivých") tokenů. To činí text kreativnějším, rozmanitějším a nepředvídatelnějším, ale zvyšuje riziko generování nesourodých nebo gramaticky nesprávných frází.

### Hraniční případy

- **$To0$:** V limitě, kdy teplota klesá k nule, se funkce softmax mění v argmax. Model vždy vybere token s nejvyšším logitem. Tento režim je ekvivalentní **hladovému dekódování (greedy decoding)** a je plně deterministický. Často vede k opakujícímu se a šablonovému textu. **Poznámka:** hodnotu $T = 0$ nelze do vzorce dosadit přímo (dělení nulou); v mnoha implementacích je zpracována jako speciální režim maximálně konzervativního výběru, blízký greedy decoding. Přitom ne všechna hosted API zaručují úplnou deterministiku při $T = 0$ — například v Anthropic API mohou výsledky i při nulové teplotě mírně kolísat.
- **$To\infty$:** Když teplota směřuje k nekonečnu, stává se rozdělení pravděpodobností **rovnoměrným**. Všechny tokeny ve slovníku se stávají stejně pravděpodobnými a model generuje náhodný „proud vědomí", zcela ztrácejíc koherenci. V praxi nekonečno není potřeba: již při $T > 2.0$ se rozdělení stává téměř rovnoměrným a text se mění v nesourodou směs tokenů.

## Praktické použití a doporučení

Správná volba teploty je kriticky důležitá a závisí na konkrétním úkolu. Níže uvedené rozsahy jsou **hrubé heuristiky** — optimální hodnoty se mohou výrazně lišit v závislosti na konkrétním modelu, doméně a úkolu.

- **Pro tvůrčí úkoly** (psaní povídek, básní, marketingových sloganů):
  - Doporučuje se **vyšší teplota ($T \approx 0.7 - 1.2$)**.
  - To stimuluje model k generování neočekávanějších a kreativnějších nápadů, využívání rozmanité slovní zásoby a vyhýbání se šablonovým frázím.

<!-- -->

- **Pro úkoly vyžadující přesnost a faktičnost** (odpovídání na otázky, sumarizace, generování kódu):
  - Doporučuje se **nízká teplota ($T \approx 0.0 - 0.4$)**.
  - To snižuje variabilitu a zvyšuje reprodukovatelnost výsledku tím, že nutí model držet se nejpravděpodobnějších pokračování textu. Při $T = 0$ se generování stává deterministickým (při pevném seedu a absenci jiných zdrojů náhodnosti), což je užitečné pro testování a ladění, ale může maskovat problémy projevující se pouze při samplování. Nízká teplota sama o sobě však **nezaručuje faktickou přesnost** — pokud model nedisponuje potřebnými znalostmi, může sebevědomě generovat nesprávnou odpověď. Pro maximální faktičnost se doporučuje kombinovat nízkou teplotu s metodami vyhledávání ve znalostní bázi (RAG) a vylepšeným promptingem. V dokumentaci OpenAI se pro úkoly extrakce dat a faktických odpovědí doporučuje $T = 0$.

<!-- -->

- **Pro úkoly reasoning, matematiku a generování kódu:**
  - Obvykle se používají **nižší teploty**, optimální hodnota však výrazně závisí na konkrétním modelu a úkolu.
  - **Poznámka:** v některých reasoning modelech (například rodina OpenAI o1/o3) mohou být parametry samplování **omezeny nebo zafixovány** na straně poskytovatele. Interní chain-of-thought vyžaduje stabilní rozdělení, a proto mohou poskytovatelé zcela blokovat změnu teploty nebo přijímat uživatelské hodnoty pouze v úzkém rozsahu.

<!-- -->

- **Pro dialogové systémy a chatboty:**
  - Doporučuje se **střední teplota ($T \approx 0.5 - 0.8$)**.
  - To umožňuje najít rovnováhu: odpovědi zůstávají koherentní a k tématu, ale přitom nejsou příliš suché a jednotvárné.

**Poznámka:** dokumentace OpenAI API doporučuje měnit **buď** temperature, **nebo** top_p, ale **ne oba parametry zároveň** — jinak se chování stává obtížně předvídatelným. V referenčních příkladech OpenAI API se jako výchozí hodnota obvykle uvádí $T = 1.0$.

## Srovnání s Top-k a Top-p

Teplota, na rozdíl od metod ořezávání, jako jsou **Top-k** a **Top-p (nucleus sampling)**, funguje jinak:

- **Teplota** **přerozděluje** pravděpodobnosti mezi všechny tokeny ve slovníku, ale **neořezává** žádný z nich. Dokonce i při velmi nízké teplotě mají méně pravděpodobné tokeny nepatrnou, ale nenulovou šanci být vybrány.
- **Top-k** a **Top-p** zavádějí **tvrdé ořezávání**, úplně vylučující tokeny, které se nedostaly do jádra výběru. Takové ořezávání snižuje riziko výběru tokenů z chvostu, ale samo o sobě je hrubou heuristikou a může zahazovat věrohodná pokračování s nenulovou „skutečnou" pravděpodobností.

V praxi se tyto parametry často používají společně. Například lze nastavit střední teplotu (např. $T = 0.8$) pro celkovou stylistiku a přidat Top-p (např. $p = 0.9$), aby se ořízl „chvost" rozdělení a snížilo riziko hrubých chyb. Při velmi nízké teplotě ($To0$) Top-p fakticky ztrácí smysl, protože rozdělení má samo o sobě pouze jeden výrazný vrchol.

## Interakce teploty s dalšími parametry dekódování

Teplota se téměř nikdy nepoužívá izolovaně. V praxi se kombinuje s dalšími hyperparametry pro jemné nastavení rovnováhy „kreativnost ↔ spolehlivost".

### Typické pořadí aplikace parametrů

V běžných sampling implementacích (zejména Hugging Face Transformers) se parametry obvykle aplikují v následujícím pořadí:

1.  Model vydá **surové logity** ($u_{i}$).
2.  Aplikují se **postihy za opakování** (repetition / frequency / presence penalty) — úprava logitů na základě již vygenerovaných tokenů.
3.  **Teplota** škáluje logity: $u_{i}/T$.
4.  Aplikuje se **softmax** → vzniká nové rozdělení pravděpodobností.
5.  **Ořezávání (truncation):** nejprve Top-k (je-li zadán), poté Top-p nebo Min-p.
6.  Ze zbývajícího „jádra" proběhne **náhodný výběr** (sampling).

V tomto typickém schématu teplota mění tvar rozdělení **po** aplikaci postihů za opakování, ale **před** softmax a filtrací. Proto stejná $top\_ p = 0.9$ při $T = 0.2$ a při $T = 1.5$ dává zcela různou velikost „jádra". Postihy a teplota interagují nelineárně — to je důležité mít na paměti při nastavování parametrů. Interní pořadí aplikace v hosted API (OpenAI, Anthropic) není na této úrovni podrobnosti veřejně dokumentováno.

### Top-p (nucleus sampling) a Min-p

**Min-p** (minimum probability sampling) je relativně nová metoda ořezávání, která stanovuje dolní práh pravděpodobnosti relativně k nejpravděpodobnějšímu tokenu (obvykle 0,05–0,1). Na rozdíl od Top-p ořezává tokeny na základě relativního prahu (vázaného na pravděpodobnost nejlepšího tokenu, nikoliv na fixní kumulativní hmotu), což je zvláště efektivní při vysoké teplotě (\>0,8): zabraňuje výběru zcela nevhodných tokenů bez výrazné ztráty rozmanitosti. Min-p je podporován řadou populárních open-source inference stacků, včetně vLLM a llama.cpp.

### Repetition / Frequency / Presence penalty

Frequency_penalty a presence_penalty (OpenAI API) snižují pravděpodobnost opakování již použitých tokenů. Mohou kompenzovat jeden z nedostatků nízké teploty — sklon k šablonovitosti a zacyklení.

### Typical sampling a Mirostat

Typical sampling (Meister et al., 2023) vybírá tokeny, jejichž pravděpodobnost je blízká „očekávané" entropii kontextu. Mirostat (v2) dynamicky přizpůsobuje parametry ořezávání tak, aby cílová perplexita zůstávala konstantní — to je užitečné pro dlouhé texty, kde je stabilita stylu kritická.

### Ilustrativní příklady nastavení

Níže jsou uvedeny **přibližné** konfigurace pro různé typy úkolů. Tyto hodnoty nejsou obecnými doporučeními — optimální parametry závisí na konkrétním modelu, úkolu a inference stacku.

| Úkol                              | Teplota  | Možná kombinace                     | Logika                             |
|-----------------------------------|----------|-------------------------------------|------------------------------------|
| Factual Q&A, sumarizace           | 0,0–0,3  | T + top_p=0.9                       | Minimalizace náhodné variability   |
| Generování kódu, matematika       | 0,1–0,4  | T + repetition_penalty              | Stabilita + předcházení zacyklení  |
| Dialogy / chatboty                | 0,6–0,85 | T + top_p=0.92 nebo min_p=0.1       | Rovnováha přirozenosti a koherence |
| Tvůrčí práce (povídky, marketing) | 0,75–1,1 | T + min_p=0.07–0.1                  | Rozmanitost s filtrací chvostu     |
| Long-form / agenti                | 0,5–0,8  | Mirostat nebo T + frequency_penalty | Kontrola délky a koherence         |

**Obecná rada:** není vhodné výrazně měnit temperature a top_p zároveň. Zpravidla je pohodlnější zafixovat jeden z truncation parametrů a řídit kreativnost teplotou — to činí chování modelu předvídatelnějším.

**Zvláštnost moderních aligned modelů:** v silně vyrovnaných modelech (které prošly RLHF / Constitutional AI / RLAIF) je efekt vysoké teploty oslaben ve srovnání se základními modely — model méně často generuje nesourodý text i při $T = 1.2$. Konkrétní optimální hodnoty se mohou měnit s vydáním nových generací modelů; výše uvedená doporučení jsou aktuální ke stavu roku 2025–2026.

## Literatura

- Holtzman, A. et al. (2020). *The Curious Case of Neural Text Degeneration*. arXiv:1904.09751.
- Caccia, M. et al. (2018). *Language GANs Falling Short*. arXiv:1811.02549.
- Fan, A. et al. (2018). *Hierarchical Neural Story Generation*. arXiv:1805.04833.
- Meister, C. et al. (2023). *Locally Typical Sampling*. arXiv:2202.00666.
- Hewitt, J.; Manning, C.; Liang, P. (2022). *Truncation Sampling as Language Model Desmoothing*. arXiv:2210.15191.
- Su, Y.; Collier, N. (2022). *Contrastive Search Is What You Need for Neural Text Generation*. arXiv:2210.14140.
- O'Brien, S.; Lewis, M. (2023). *Contrastive Decoding Improves Reasoning in Large Language Models*. arXiv:2309.09117.
- Finlayson, M. et al. (2023). *Closing the Curious Case of Neural Text Degeneration*. arXiv:2310.01693.
- Shi, C. et al. (2024). *A Thorough Examination of Decoding Methods in the Era of Large Language Models*. arXiv:2402.06925.
- Ravfogel, S. et al. (2023). *Conformal Nucleus Sampling*. arXiv:2305.02633.
- Sen, J. et al. (2025). *Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs*. arXiv:2506.05387.
- Basu, S. et al. (2021). *Mirostat: A Perplexity-Controlled Neural Text Decoding Algorithm*. arXiv:2007.14966.
- Nguyen, M. N. et al. (2025). *Turning Up the Heat: Min-p Sampling for Diverse and High-Quality Text Generation*. arXiv:2407.01082.
- Renze, M.; Guven, E. (2024). *The Effect of Sampling Temperature on Problem Solving in Large Language Models*. arXiv:2402.05201.
- Zhang, S. et al. (2024). *EDT: Improving Large Language Models' Generation by Entropy-based Dynamic Temperature Sampling*. arXiv:2403.14541.
- Li, L. et al. (2025). *Exploring the Impact of Temperature on Large Language Models: Hot or Cold?*. arXiv:2506.07295.

## Viz také

- Velké jazykové modely
