LLM (large language model, velký jazykový model) je program, který se naučil hádat, jak text pokračuje. Nic víc. Nemá databázi faktů, nevyhledává na internetu a nepřemýšlí jako člověk. Přesto z téhle jediné schopnosti, dohadovat další kousek textu, vypadne překlad, shrnutí, kód i odpověď na otázku. Když tomuhle uvěříš, přestane tě většina jeho chování překvapovat: bude ti dávat smysl, proč si model vymýšlí, proč neumí spolehlivě počítat a proč se ho vyplatí ptát jinak, než by ses ptal Googlu.
Jak číst tuhle wiki
Kapitol je přes padesát a nemusíš je číst všechny popořadě. Podle toho, co potřebuješ:
Chci pochopit, jak model funguje (nejkratší poctivá cesta)
co je LLM → tokeny→predikce→od bigramu k transformeru→anatomie modelu→attention ručně→transformer v kódu→postav si vlastní model→backprop ručně→loss a gradient→trénink vs generování→co je uvnitř modelu`
🛠️ V téhle trase si model postavíš a spustíš, kapitola Postav si vlastní model je devadesát řádků NumPy, které se na běžném notebooku natrénují za sedmnáct sekund.
Chci postavit aplikacico je LLM → zprávy a role→prompting→strukturovaný výstup→RAG→evaluace→prompt injection→produkce`
Chci to provozovat[velikost a kvantizace](/llm/velikost-modelu) → [numerika](/llm/numerika)
→ [inference stack](/llm/inference-stack) → [čtení specifikace](/llm/model-card)
→ [cena a latence](/llm/cena-latence) → [lokální modely](/llm/lokalni-modely)
💡 Kapitoly jdou od přehledu k detailu. Když se někde ztratíš, vrať se o úroveň výš, transformer po lopatě je nadhled, anatomie modelu tentýž obsah do hloubky.
Pár pojmů na úvod
- Model = soubor s čísly (váhami) plus program, který je umí použít. Žádná magie, žádné „vědomí“ uvnitř. Menší modely mají jednotky gigabajtů, velké stovky.
- Token = kousek textu, se kterým model pracuje (zhruba slabika až slovo). Vlastní kapitola o tokenech.
- Prompt = text, který modelu pošleš. Otázka, instrukce, data, všechno dohromady.
- Inference = samotné „spuštění“ modelu, tedy generování odpovědi. Trénink je něco jiného: ten proběhl dávno předtím ve velké serverovně.
- Kontext = všechno, co model při odpovídání „vidí“: tvůj prompt, historie konverzace, vložené dokumenty. Nic mimo kontext neexistuje.
Co to doopravdy dělá
Vezmi větu „Hlavní město Francie je“. Model spočítá pravděpodobnost pro každý možný další token a vyberou se z nich:
" Paříž" 87 %
" největší" 4 %
" město" 3 %
" na" 2 %
...
Vybere jeden (obvykle ten pravděpodobný), přilepí ho na konec a celé to zopakuje. Token po tokenu, dokud neusoudí, že je hotovo. Odpověď, kterou čteš, vznikala takhle postupně, proto ji vidíš „vypisovat se“.
To je celý princip. Rozdíl mezi hloupou nápovědou na klávesnici mobilu a moderním LLM není v nápadu, ale v měřítku: víc dat, víc parametrů, chytřejší architektura.
💡 Mentální model: LLM je nesmírně sečtělý stážista s výbornou intuicí a mizernou pamětí na detaily. Přečetl skoro všechno, ale nemá to před sebou, mluví z hlavy. Když chceš přesnost, musíš mu podklady dát do ruky (o tom je RAG).
Co LLM není
| Lidé si myslí | Ve skutečnosti |
|---|---|
| Vyhledávač | Nic nehledá. Odpovídá z toho, co se naučil při tréninku, pokud mu nedáš nástroj na hledání. |
| Databáze faktů | Fakta nejsou uložená jako záznamy, ale rozpuštěná ve vahách. Proto si je občas domyslí. |
| Kalkulačka | Počítá „od oka“, protože počítání je pro něj další hádání textu. Na čísla mu dej nástroj. |
| Program s pravidly | Nikdo do něj nenapsal „když se tě zeptají na X, odpověz Y“. Chování vzniklo z dat. |
| Deterministický stroj | Při stejném vstupu může odpovědět pokaždé jinak (viz parametry). |
K čemu se hodí a k čemu ne
Sedí mu úlohy, kde je vstupem i výstupem text a kde se tolerují drobné odchylky:
- shrnutí, přeformulování, změna tónu, překlad
- vytahování údajů z nestrukturovaného textu do JSONu
- klasifikace (spam / nespam, nálada recenze, kategorie tiketu)
- návrh kódu, testů, dokumentace
- konverzační rozhraní nad tvými daty
Naopak se nehodí tam, kde potřebuješ jistotu:
- účetnictví a jakékoli přesné počty
- právně závazná rozhodnutí bez kontroly člověkem
- „zdroj pravdy“ pro data, která máš v databázi
- úlohy, kde je jedna chyba z tisíce nepřijatelná
⚠️ Pravidlo palce: čím dražší je chyba, tím víc kontroly kolem modelu potřebuješ. Buď člověka, který výsledek schválí, nebo strojovou validaci (schéma, kontrolní součet, druhý model).
Jak vypadá práce s ním v praxi
tvoje aplikace ──prompt──▶ LLM API ──text──▶ tvoje aplikace
│ │
└── data z DB, dokumenty, historie └── validace, uložení, akce
Model je jeden díl systému, ne celý systém. Kolem něj vždycky bude tvůj kód, který:
- připraví vstup (co všechno modelu poslat),
- zavolá API (a ošetří chyby a timeouty),
- zkontroluje výstup, než ho pustí dál.
Ta třetí část odděluje demo od produktu. Celý kurz je vlastně o ní.
Časté omyly začátečníků
- „Model se učí z toho, co mu píšu.“ Nikoli. Běžné volání API model nemění; příště o tvé konverzaci neví nic. Učení = samostatný proces zvaný trénink.
- „Když odpověděl špatně, je model rozbitý.“ Většinou je rozbitý prompt nebo mu chybí podklady. Model odpovídá na to, co vidí a vidí jen kontext.
- „Větší model je vždycky lepší.“ Bývá chytřejší, ale taky dražší a pomalejší. Na klasifikaci tiketů je velký model plýtvání (cena a latence).
- „Umí to, takže se na to dá spolehnout.“ Umí to většinou. Rozdíl mezi 95 % a 99,9 % úspěšnosti rozhoduje o tom, jestli to smíš nasadit bez dozoru.
Cvičení
- Napiš tři úlohy, na které je LLM dobrý nástroj, a tři, na které je špatný. U každé zdůvodni jednou větou odkazem na to, že model predikuje další token.
- Kolega tvrdí: „Model si to pamatuje, řekl jsem mu to minule.“ Co je na tom špatně?
Náčrt řešení: rozbal, až si cvičení zkusíš sám
- Dobrý: přeformulování textu, klasifikace do kategorií, vytažení strukturovaných údajů z volného textu. Špatný: přesné počty, aktuální fakta, cokoli, kde musí platit záruka. Společný jmenovatel dobrých úloh je, že správných odpovědí je mnoho a text sám nese informaci potřebnou k odpovědi. U špatných je jedna správná odpověď a model k ní nemá spolehlivou cestu, protože pravděpodobný text a pravdivý text není totéž.
- Model nemá paměť mezi voláními. Každý požadavek je samostatný a jediné, co „ví“, je to, co mu v tom volání pošleš. Když si aplikace pamatuje předchozí konverzaci, dělá to tak, že ji celou znovu přiloží do kontextu. Paměť je tedy vlastnost tvého kódu, ne modelu. Viz paměť konverzace.
Shrnutí
- LLM předpovídá další token. Všechny jeho schopnosti jsou důsledek téhle jedné dovednosti.
- Nemá paměť mezi voláními, nemá přístup k datům, nevyhledává, dokud mu to sám nezařídíš.
- Je to skvělý převodník textu na text a mizerný zdroj pravdy.
- Kvalita výsledku závisí hlavně na tom, co mu dáš do kontextu a jak zkontroluješ výstup.
Proč se říká, že LLM „jen hádá další token“, když umí odpovídat na otázky?
Protože to je doslova celý mechanismus: model spočítá pravděpodobnosti dalšího tokenu, jeden vybere a opakuje. Odpovídání na otázky, překlad i psaní kódu jsou jen zvláštní případy pokračování textu, schopnosti, které z toho vyplynuly díky obrovskému množství tréninkových dat.
Máš v databázi ceník a chceš, aby model odpovídal na dotazy zákazníků. Proč nestačí spolehnout se na to, co se model naučil?
Model ceník nezná a i kdyby něco podobného v tréninku viděl, nemá jistotu, že platí právě teď. Ceník se navíc mění. Správně je dát mu aktuální data do kontextu (vyhledat je a vložit do promptu) a nechat ho odpovídat jen z nich.
Kdy je LLM špatná volba?
Když potřebuješ přesnost a determinismus: účetní výpočty, kontrola limitů, cokoli právně závazného, nebo úlohy, které umí jednoduchý spolehlivý kód. LLM se hodí na text a tolerantní úlohy, ne jako náhrada logiky, kterou umíš zaručit.
