Jak funguje jazykový model · lekce 5 z 10 · 12 min čtení
Předpověď dalšího slova a teplota
Jazykový model píše text tak, že znovu a znovu odhaduje, jaký token přijde dál, a jeden z nich vylosuje. Vyzkoušíš si, jak teplota mění jeho volbu, proč stejná otázka dává různé odpovědi a jestli je to „jen chytré doplňování“.
Napiš do telefonu „Uvidíme se“ a klávesnice ti nabídne „zítra“, „večer“ nebo „v pondělí“. Telefon neví, co plánuješ. Jen si všiml, která slova po „Uvidíme se“ obvykle následují. Velký jazykový model dělá v jádru totéž, jen nesrovnatelně lépe: na základě všeho, co v textu zatím je, odhadne, co by mohlo přijít dál.
V minulé lekci jsi viděl, že model pracuje s tokeny. Teď se podíváš, co s nimi dělá. Pochopíš, proč odpověď vzniká postupně, odkud se bere náhoda a proč dvakrát stejná otázka nedá dvakrát stejnou odpověď. Na konci se poctivě podíváme na otázku, kterou kladou skoro všichni: je to tedy jen hodně chytré doplňování textu?
Jeden token po druhém
Když modelu pošleš otázku, nevymyslí celou odpověď najednou a pak ji nevypíše. Postupuje takto:
- Vezme celý dosavadní text (tvoji otázku, případně instrukce a předchozí konverzaci).
- Spočítá, jak pravděpodobný je každý token ze svého slovníku jako další token.
- Jeden token vybere.
- Přilepí ho na konec textu.
- Celé to zopakuje, teď už s o jeden token delším textem.
Takhle pokračuje, dokud nevybere speciální token, který znamená „konec odpovědi“, nebo dokud nenarazí na limit délky. Proto v chatovacích aplikacích vidíš, jak se odpověď „vypisuje“ postupně. Není to efekt pro parádu, model ji opravdu vyrábí kousek po kousku.
- Autoregrese(autoregression)
- Způsob generování, kdy model každý další kousek výstupu předpovídá z toho, co už bylo napsáno, včetně kousků, které sám právě vytvořil. Výstup se tak „opírá sám o sebe“.
Z toho plynou dvě důležité věci. Zaprvé: model nemá „hotovou odpověď v hlavě“, kterou by jen přepisoval. Každý token ovlivňuje všechny další. Když se na začátku odpovědi vydá špatným směrem, často v něm pokračuje, protože další tokeny navazují na ty předchozí. Zadruhé: to, co model napíše, se stává součástí vstupu pro další krok. Proto pomáhá, když model nejdřív „přemýšlí nahlas“ (rozepíše si postup), a teprve pak odpoví. Ty mezikroky jsou pro něj doslova text, o který se může opřít.
Z textu rozdělení pravděpodobností
To nejzajímavější se děje v kroku 2. Model nevrací jedno slovo. Vrací pro každý token ve slovníku číslo, které vyjadřuje, jak dobře se tam hodí. Z těchto čísel se pak vypočítají pravděpodobnosti, které dohromady dají 100 %. Tomu se říká rozdělení pravděpodobností (probability distribution).
Představ si větu „Ráno si ke snídani dám šálek …“. Dobrý model ví, že nejspíš přijde „kávy“, o něco méně pravděpodobně „čaje“, pak třeba „kakaa“, a že „inkoustu“ je sice gramaticky možný, ale velmi nepravděpodobný. Všechny tyhle odhady model nedostal od nikoho napsané. Naučil se je tím, že během tréninku viděl obrovské množství textu (jak přesně, uvidíš v lekci Jak se model trénuje).
- Logit(logit)
- Surové skóre, které model přidělí každému možnému dalšímu tokenu. Čím vyšší, tím víc se token podle modelu hodí. Logity ještě nejsou pravděpodobnosti, ty z nich vzniknou přepočtem (funkcí softmax).
Vyzkoušej si teplotu
V ukázce níže model dopisuje právě větu o snídani. Čísla jsou ilustrační (skutečný model by vybíral z desítek tisíc tokenů a „horké čokolády“ by byly tokeny dva nebo tři), ale výpočet je stejný jako ve skutečných modelech. Posuvník mění teplotu, tlačítka losují další slovo podle aktuálních šancí.
Vyzkoušej si: jak model vybírá další slovo
Model dopisuje větu Ráno si ke snídani dám šálek …
Pohni teplotou a sleduj, jak se mění šance jednotlivých slov.
- kávy71,6 %
- čaje23,3 %
- kakaa2,8 %
- horké čokolády1,3 %
- vody0,9 %
- polévky0,1 %
- inkoustu<0,1 %
Čísla jsou ilustrační, výpočet (softmax s teplotou) je stejný jako ve skutečných modelech.
Teď si s tím pohraj. Doporučuji tenhle postup:
1. Výchozí teplota 0,8. Podívej se na sloupce. „Kávy“ má zhruba 72 %, „čaje“ asi 23 %, „kakaa“ necelá 3 % a zbytek jsou drobty. Klikni několikrát na „Vylosovat 10ד. Většinou padne „kávy“, často „čaje“ a sem tam něco jiného. Přesně tak model vybírá: nebere vždy nejlepší možnost, ale losuje podle šancí, jako kdyby točil kolem štěstí, na kterém má káva velkou výseč a inkoust nepatrný proužek.
2. Stáhni teplotu na 0,1. „Kávy“ vyskočí na 100 % a ostatní spadnou skoro na nulu. Ať losuješ kolikrát chceš, padá pořád „kávy“. Nízká teplota dělá z modelu puntičkáře: vždy volí nejpravděpodobnější možnost, je předvídatelný a opakuje se.
3. Vytáhni teplotu na 2,0. Rozdíly se smazávají. „Kávy“ klesne zhruba na 42 %, „čaje“ zůstane kolem 27 % a „polévky“ i „inkoustu“ dostanou šanci, kterou při losování desetkrát za sebou občas uvidíš. Vysoká teplota dělá z modelu snílka: je pestřejší a překvapivější, ale také častěji píše nesmysly.
- Teplota(temperature)
- Nastavení, které určuje, jak moc se model drží nejpravděpodobnějších možností. Nízká teplota rozdíly mezi možnostmi zvětšuje (výstup je předvídatelnější), vysoká je zmenšuje (výstup je rozmanitější a náhodnější). Na samotných znalostech modelu teplota nic nemění.
Důležité je, čím teplota není. Neznamená „kreativitu“ v lidském smyslu ani „chytrost“. Model se při vyšší teplotě nenaučí nic nového. Jen s větší ochotou sáhne po méně pravděpodobných tokenech. A protože se odpověď skládá z jednoho tokenu za druhým, jedna méně obvyklá volba na začátku může celý zbytek textu poslat jiným směrem.
Proč na stejnou otázku dostaneš různé odpovědi
Teď už odpověď znáš: v každém kroku se losuje. Odpověď o pěti stech tokenech znamená pět set losování za sebou, a stačí, aby jedno z prvních dopadlo jinak, a zbytek se rozběhne jinou cestou. Proto když v chatu klikneš na „vygenerovat znovu“, dostaneš jinou formulaci, jiné pořadí argumentů, někdy i jiný závěr.
To má praktické důsledky:
- Jedna odpověď není „názor modelu“. Je to jeden vzorek z mnoha možných. Když ti jde o něco důležitého, zeptej se víckrát nebo odpověď vygeneruj znovu. Když se odpovědi shodují, je to dobré znamení. Když se liší v podstatných věcech, model si zjevně „není jistý“ a ty bys taky neměl být.
- Teplotu obvykle nastavit nemůžeš, ale vývojáři ano. V běžných chatovacích aplikacích je teplota nastavená výrobcem. Při použití přes API ji vývojář tradičně nastavoval sám. U novějších modelů to ale čím dál častěji nejde: Anthropic ve verzi API z října 2026 parametry teploty, top-p i top-k úplně zrušil (místo nich se nastavuje, jak moc má model přemýšlet) a některé modely Gemini vlastní teplotu ignorují. Princip losování popsaný v téhle lekci uvnitř modelů platí dál, jen ho výrobci ladí za tebe. Co přesně jde nastavit u konkrétního modelu, ověř v jeho dokumentaci.
- Pro různé úlohy se hodí různé nastavení. Extrakce údajů z faktury, klasifikace e-mailů nebo odpověď podle firemní směrnice: nízká teplota. Brainstorming názvů produktu nebo návrhy textů: vyšší teplota.
Do hloubkySoftmax, top-k a top-p: jak se z logitů losuje
Softmax s teplotou. Model na konci každého kroku vydá pro každý token ve slovníku jedno číslo, logit. Z logitů se pravděpodobnosti spočítají vzorcem, kterému se říká softmax:
pravděpodobnost tokenu i = e^(logit_i / T) / součet přes všechny tokeny j: e^(logit_j / T)
Slovy:
- Každý logit vyděl teplotou T.
- Výsledek „umocni“ funkcí e^x (exponenciála). Ta udělá ze všech čísel kladná čísla a velké hodnoty zvětší mnohem víc než malé. Rozdíl dvou bodů v logitu znamená zhruba sedminásobný rozdíl ve výsledku (e² ≈ 7,4).
- Všechny výsledky sečti a každý vyděl tím součtem. Tím dostaneš čísla, která dohromady dají přesně 1, tedy 100 %.
Teplota působí v kroku 1. Když je T menší než 1, dělení rozdíly mezi logity zvětší (dělit malým číslem je jako násobit), exponenciála je pak ještě nafoukne a vítěz převálcuje ostatní. Když je T větší než 1, rozdíly se zmenší a pravděpodobnosti se srovnají. V ukázce má „kávy“ logit 4,2 a „čaje“ 3,3: rozdíl 0,9. Při teplotě 0,1 se z něj stane rozdíl 9, takže káva je zhruba osmtisíckrát pravděpodobnější než čaj. Při teplotě 2 je rozdíl jen 0,45 a káva je pravděpodobnější zhruba o polovinu.
Top-k. Skutečný slovník má desítky tisíc tokenů a většina z nich má nepatrnou, ale nenulovou šanci. Když se losuje tisíckrát za odpověď, i nepatrné šance se občas „trefí“ a text uletí. Top-k to řeší hrubě: před losováním nech jen k nejpravděpodobnějších tokenů (třeba 40), ostatní zahoď a pravděpodobnosti přepočítej. Nevýhoda: pevné k nepasuje na všechny situace. Někdy dává smysl jen jedno slovo, jindy stovky.
Top-p (nucleus sampling). Chytřejší varianta, kterou v roce 2019 popsali Ari Holtzman a kolegové v článku „The Curious Case of Neural Text Degeneration“. Místo pevného počtu se vezme nejmenší skupina nejpravděpodobnějších tokenů, jejichž pravděpodobnosti dohromady dají aspoň p (třeba 0,9 neboli 90 %). Když si je model jistý, skupina je malá (třeba jen „kávy“ a „čaje“). Když je nejistý, skupina se sama rozšíří. V ukázce při teplotě 0,8 by top-p 0,9 nechalo jen kávu a čaj, protože ty dvě dohromady mají přes 90 %.
Autoři tohoto článku také ukázali, proč úplně bez náhody text nefunguje dobře: když model vždy volí nejpravděpodobnější slovo, píše nudné a často se opakující texty, které se lidskému psaní podobají méně, než bys čekal. Lidský text není „nejpravděpodobnější možný“, je v něm přirozená míra překvapení.
V praxi se teplota, top-k a top-p kombinují. Výrobci obvykle doporučují měnit jen jedno z nastavení, ne všechna najednou, a jejich dostupnost se liší podle modelu (ověř v dokumentaci konkrétního API).
Je to tedy jen chytré doplňování?
Tohle je možná nejdůležitější otázka celé lekce a zaslouží si poctivou odpověď. Krátká verze: ano, mechanicky model dělá „jen“ předpověď dalšího tokenu. Ale z toho neplyne, že je to málo.
Zkus se zamyslet, co všechno musí systém „mít v sobě“, aby dobře předpověděl další slovo v těchto větách:
- „Hlavní město státu, ve kterém leží Dallas, je …“ (musí vědět, že Dallas je v Texasu a že hlavní město Texasu je Austin),
- „Mám 3 jablka, sním jedno a kamarád mi dá dvě. Teď mám …“,
- „Paní Nováková byla na zprávu velmi naštvaná, a proto …“,
- poslední řádek detektivky, kde se prozrazuje vrah.
Aby šlo tohle předpovídat dobře, nestačí si pamatovat, která slova chodí po sobě. Systém musí v nějaké podobě zachycovat fakta, vztahy mezi věcmi, souvislosti a pravidla. Trénink na předpovídání dalšího slova ho k tomu nutí, protože jiným způsobem by předpovídal hůř.
Existují i konkrétní výzkumné důkazy, že modely si takové vnitřní reprezentace opravdu budují:
- V roce 2022 výzkumníci (Kenneth Li a kolegové) natrénovali malý model jen na seznamech tahů hry Othello. Nikdy mu neukázali hrací desku ani pravidla. Přesto zjistili, že si model uvnitř vytvořil reprezentaci stavu desky, a když ji výzkumníci uměle změnili, model začal navrhovat tahy odpovídající změněné desce.
- V roce 2025 Anthropic zveřejnil výzkum, v němž „nahlédl dovnitř“ svého modelu Claude. U otázky na hlavní město státu, kde leží Dallas, viděli, že model vnitřně nejdřív aktivuje „Dallas je v Texasu“ a teprve pak „hlavní město Texasu je Austin“. U rýmovaných básní zjistili, že model si rým naplánuje dřív, než začne psát řádek, který k němu vede. Tedy ne jen „slovo po slovu bez výhledu dopředu“.
Na druhou stranu je potřeba říct i to, co nevíme. Autoři zmíněného výzkumu sami píšou, že jejich metoda zachytí jen zlomek toho, co se v modelu odehrává. Mezi výzkumníky panuje skutečná neshoda v tom, jestli se tomu dá říkat „porozumění“, jak blízko to má k lidskému myšlení a jak moc jde o naučené vzorce, které se rozpadnou mimo známé situace. Já tuhle otázku rozhodnout neumím a nikdo ti ji zatím poctivě rozhodnout neumí.
Pro praxi z toho plyne vyvážený pohled:
- Nepodceňuj to. „Je to jen autocomplete“ svádí k závěru, že model nemůže nic zajímavého. Může: shrnout, přeložit, najít chybu v argumentaci, navrhnout řešení.
- Nepřeceňuj to. Model optimalizuje věrohodné pokračování textu, ne pravdivost. Když neví, napíše věrohodně znějící odpověď stejně plynule jako tu správnou. Tomu se říká halucinace a podrobně se jí věnuje lekce Halucinace.
Zeptáš se: „Jaký je telefon na zákaznickou linku naší firmy?“
Model ten údaj nemá, ale ví, jak vypadá česká odpověď na takovou otázku: věta „Zákaznickou linku najdete na čísle“ a devět číslic. Věrohodné pokračování je číslo, a tak napíše číslo. Mechanismus předpovědi tu funguje bezchybně. Jen předpovídá, jak by odpověď vypadala, ne jaká je.
Co si odnést
- Jazykový model píše text po jednom tokenu: z dosavadního textu spočítá pravděpodobnosti pro všechny možné další tokeny, jeden vybere, přidá ho a opakuje (autoregrese).
- Model nevybírá vždy nejpravděpodobnější token, ale losuje podle pravděpodobností. Proto stejná otázka dává různé odpovědi.
- Teplota určuje, jak moc se losování drží favoritů: nízká = předvídatelné a opakující se, vysoká = pestřejší a riskantnější. Na znalostech modelu nic nemění.
- Pro fakta a strukturované úlohy se hodí nízká teplota, pro nápady vyšší (pokud ji daný model ještě dovoluje nastavit). U důležitých odpovědí se vyplatí zeptat se víckrát a porovnat.
- „Jen předpověď dalšího slova“ je pravdivý popis mechanismu, ale dobrá předpověď vyžaduje vnitřní reprezentace faktů a souvislostí. Jak moc tomu říkat porozumění, je otevřená otázka.
Zdroje a další čtení
- Anthropic: Migrating to API version 2026-10-21 – nová verze API, která parametry teploty, top-p a top-k ruší.
- Holtzman a kol.: The Curious Case of Neural Text Degeneration (2019) – článek, který zavedl top-p (nucleus sampling) a vysvětlil, proč čistě „nejpravděpodobnější“ text nefunguje.
- Li a kol.: Emergent World Representations (2022) – model trénovaný jen na tazích hry Othello si vytvořil vnitřní obraz desky.
- Anthropic: Tracing the thoughts of a large language model (2025) – srozumitelný popis výzkumu, jak model plánuje rýmy a skládá fakta (anglicky).