# Jazykové modely a co LSTM doopravdy umí

Andrej Karpathy publikoval v roce 2015 článek a kód, které předvedly znakový LSTM model generující text, jenž vypadá jako Shakespeare. Kdo si přečte ukázku, má pocit, že se stroj naučil psát divadelní hry.

Nenaučil. Ve stejném článku je i střízlivá poznámka, kterou většina čtenářů přeskočí: **kvalitou je výsledek jen mírně lepší než devítiznakový n-gramový model.** Model si nepamatuje děj, nemá postavy a nerozumí větě. Naučil se, jaká písmena po sobě chodí.

Tahle stránka ukazuje, co takový model umí, jak se to zlepšuje během trénování a kde je strop. Předpokládá to [rekurentní sítě a LSTM](Rekurentni-site-a-LSTM), zejména cell state a hradla. Je to zároveň dobré místo, kde si připomenout [čínský pokoj](Co-je-umela-inteligence#čínský-pokoj-čili-námitka-která-nezestárla).

## Co jazykový model počítá

Cíl jazykového modelu je **odhadnout pravděpodobnost posloupnosti symbolů** - znaků nebo slov.

Tradiční řešení tvoří **n-gramové modely**: pravděpodobnost dalšího symbolu se odhadne z `n−1` předchozích, prostým počítáním v korpusu. Modernější přístup tvoří rekurentní neuronové sítě, zejména **LSTM**.

Rozdíl mezi nimi je jediný a je podstatný. **N-gramový model má okno pevné délky.** Devítiznakový model vidí devět znaků a o desátém zpátky neví. LSTM má teoreticky neomezený kontext, protože si nese [stav](Rekurentni-site-a-LSTM#lstm).

Teoreticky. Praxe je to, o čem je zbytek stránky.

## Karpathy

**Andrej Karpathy v roce 2015 publikoval populární článek a zdrojový kód**, který předvedl výjimečně silné chování LSTM jazykových modelů **na znakové úrovni**. Model byl trénován na různých textech - Shakespeare, Tolstoj, kód v jazyce C, LaTeX - a produkoval **syntakticky přesvědčivé** výstupy.

To slovo syntakticky je v celé větě to nejdůležitější. Vrátíme se k němu.

**V únoru 2026 Karpathy vydal také microgpt** - 200řádkový Python program obsahující všechny základy velkých jazykových modelů, kromě výkonu. Je to dnes nejlepší způsob, jak si celý mechanismus přečíst od začátku do konce.

LSTM byly zavedeny **Hochreiterem a Schmidhuberem v roce 1997**. Klíčovou novinkou byl **cell state** - „dopravníkový pás" vedený časem - a **tři hradla** (forget, input, output) tvořená sigmoidálními neurony, jež regulují tok informací.

## Generovaný Shakespeare

```
PANDARUS:
Alas, I think he shall be come approached and the day
When little srain would be attain'd into being never fed,
And who is but a chain and subjects of his death,
I should not sleep.
```

Rozeber si, co v tom je a co v tom není:

**Pandarus je skutečnou postavou** z Shakespearovy hry Troilus and Cressida. Model se naučil, která jména se v tomhle korpusu vyskytují jako mluvčí, a použil je ve správném formátu s dvojtečkou.

**Formátování „ragged-right"** - řádky zarovnané vlevo a nestejně dlouhé vpravo - **je téměř dokonalé.** Model se naučil délku verše, aniž by mu ji někdo řekl.

**Syntaxe je blízko správnosti** a jednotlivé části věty dávají téměř smysl.

**Slovo `srain` pravděpodobně neexistuje** - model si ho vymyslel. Vypadá anglicky, dá se vyslovit, ale není to slovo.

**A kvalitou je výsledek jen mírně lepší než devítiznakový n-gramový model.** Tohle je věta, kterou si z celé stránky odnes, pokud si máš odnést jednu.

## Generovaný Tolstoj

Model trénovaný na textu Vojna a mír ukazuje, **jak se kvalita generace zvyšuje s rostoucím počtem trénovacích iterací** (parameter updates). Je to nejnázornější věc na celém tématu, protože je vidět, v jakém pořadí se model věci učí.

| Iterací | Co model umí |
|---|---|
| **100** | vypadá jako unigramový znakový model - rozumný podíl mezer, `t` a `e` jsou nejčastější písmena, slova vesměs nedávají smysl |
| **300** | distribuce mezer i teček je dobrá, většina „slov" je vyslovitelná, ale skutečnými anglickými slovy jsou jen `here`, `I`, `in`; délka řádků je stále nepřirozená |
| **500** | objevují se krátká skutečná slova a uvěřitelné dvojice (`and with`, `and to`) |
| **700** | delší slova; „Prince Velzonski's" je věrohodná tříslovná konstrukce; čtyřpísmenná slova stále převážně nesmysl |
| **1200** | téměř všechna slova jsou reálná, slovní bigramy znějí dobře, interpunkce (uvozovky, velká písmena, tři tečky) je perfektní |
| **2000** | minimální další pokrok; vyskytují se vymyšlená slova jako `oftened`, `aking`; gender postavy Nataši je občas zaměňován, ale Pierre a Nataša jsou věrohodnými společníky |

**Pořadí učení je zajímavější než konečný výsledek.** Model se nejdřív naučí statistiku znaků, pak stavbu slabik, pak slova, pak dvojice slov, pak interpunkci. Jde odspodu nahoru a **na každou úroveň potřebuje řádově víc dat než na tu předchozí**.

A pak se to zastaví. **Mezi 1200 a 2000 iteracemi je minimální pokrok.** Model narazil na strop, který není o trénování, ale o tom, co znakový LSTM vůbec může pojmout.

## Limity, které z toho plynou

Generovaný Shakespeare i Tolstoj vypadají na první pohled přesvědčivě, ovšem:

**Po „dokončení" se kvalita generace přestane výrazně zlepšovat.** Karpathy to ukazuje přímo. Nemá smysl trénovat dál.

**Pro C kód a LaTeX model produkuje syntakticky správné, ale významově nesmyslné výstupy.** Závorky se párují, klíčová slova jsou na správných místech, `\begin{}` má svůj `\end{}` - a nic z toho nic nedělá. **Není to atraktivní cíl pro „vibe programming".**

**Výstupy Shakespeara nás pravděpodobně uspokojí jen proto, že máme se čtením originálu beztak malou potíž.** Tohle je nejostřejší postřeh z celého tématu. Nedokážeme rozeznat vygenerovaný archaický blankvers od skutečného, protože ani ten skutečný na první čtení nechápeme. Kdyby model generoval česky psaný technický text, poznal bys chybu okamžitě.

**Devítigramový znakový model s pěkným formátováním by mohl dosáhnout podobné kvality za polovinu času.**

**Tohle všechno dohromady je čínský pokoj v praxi.** Model produkuje výstup, který vypadá jako produkt porozumění, a přitom uvnitř žádné porozumění není - jen velmi dobrá statistika toho, co po čem chodí. Rozdíl proti Searlovu myšlenkovému experimentu je, že tenhle pokoj si příručku napsal sám.

## Kde LSTM dnes pořád dává smysl

Závěr, který je potřeba říct férově. **LSTM jazykové modely se trénují a v principu nabízejí lepší výsledky než znakové n-gramové modely.**

**Pro rozpoznávání jsou stále uplatnitelné.** Typicky detekce sentimentu. Velký jazykový model zvládne stejnou úlohu, ale **středně velký LSTM potřebuje řádově méně výpočetních zdrojů** - a když ti stačí zařadit recenzi do dvou kategorií, není důvod na to volat model za miliardu parametrů.

**Pro generování dlouhých koherentních textů byly LSTM předstiženy architekturami typu Transformer.** Tady je konec příběhu jednoznačný.

Praktické pravidlo: **klasifikace krátkých sekvencí na omezeném hardwaru → LSTM nebo GRU. Generování → Transformer.**

## Co se na tom nejčastěji rozbije

| Příznak | Kde je problém |
|---|---|
| Model generuje jedno písmeno pořád dokola | teplota vzorkování je příliš nízká, nebo model podtrénovaný |
| Výstup je náhodné písmenné klepání | teplota příliš vysoká |
| Slova vypadají anglicky, ale neexistují | normální stav znakového modelu kolem 700 iterací - potřebuje víc dat |
| Model se po pár epochách přestal zlepšovat | strop znakového LSTM, ne chyba nastavení |
| Generovaný kód se nedá přeložit | model umí syntaxi, ne sémantiku - je to očekávané chování |
| Text se opakuje po delších blocích | model se přeučil na trénovací korpus |

## Co si odnést

**Jazykový model odhaduje pravděpodobnost posloupnosti symbolů.** Nic víc nedělá.

**N-gram má pevné okno, LSTM teoreticky neomezené.** V praxi je rozdíl menší, než by se čekalo.

**Model se učí odspodu: znaky, slabiky, slova, dvojice, interpunkce.** A pak se zastaví.

**Znakový LSTM na Shakespearovi je jen mírně lepší než devítiznakový n-gram.**

**Syntakticky správné neznamená významově správné.** U C kódu a LaTeXu je to vidět nejlépe.

**Přesvědčivost výstupu měří naši neschopnost ho posoudit**, ne kvalitu modelu.

**Na klasifikaci je LSTM pořád levná a rozumná volba.** Na generování ne.

## Kam dál

- **[Rekurentní sítě a LSTM](Rekurentni-site-a-LSTM)** - mechanismus, který za tím stojí
- **[Co je umělá inteligence](Co-je-umela-inteligence)** - Turingův test a čínský pokoj v původní podobě
- **[Strukturální rozpoznávání](Strukturalni-rozpoznavani)** - formální gramatiky jako druhý způsob práce s jazykem
- **[Nástroje pro UI](Nastroje-pro-UI)** - Hugging Face Transformers, kde se dnešní modely berou
