AI / LLM9 min čítania
Ako sa pečie jazykový model
Celý tréning LLM na jedno posedenie, s minimom matiky a maximom drzosti
AUTORSKÁ POZNÁMKA
Toto je sprievodca pre ľudí, ktorí chcú vedieť, čo sa v tom stroji deje, ale nechcú kvôli tomu tri semestre lineárnej algebry. Pri každom kroku je jedna analógia, jeden riadok matiky (fakt len jeden) a jeden odkaz, kam ísť, keď vás to chytí.
Poradie je rovnaké ako v skutočnej výrobe: od textu cez stroj až k hotovému asistentovi.
1. TOKENIZÁCIA — ROZSEKANIE TEXTU NA LEGO
Model nečíta písmená ani slová. Číta tokeny, teda kúsky textu, ktoré vznikli tak, že algoritmus prešiel obrovskú hromadu textu a postupne zlepoval najčastejšie dvojice znakov do väčších celkov. Časté slovo "the" je jeden token. Slovo "Vrchlabí" sú pokojne štyri, pretože si ho stroj musí poskladať z kociek, ktoré mal poruke.
Analógia: je to Lego. Máte obmedzenú sadu kociek (typicky 30 až 150 tisíc druhov) a akýkoľvek text sa z nich dá poskladať. Preto model vie "čítať" slovo, ktoré nikdy nevidel, len ho postaví z kúskov.
Matika: text → postupnosť celých čísel , každé z intervalu , kde V je veľkosť slovníka. GPT-2 má .
Kam ďalej: Sennrich, Haddow & Birch (2016), "Neural Machine Translation of Rare Words with Subword Units" — pôvodný paper o BPE. A potom si skúste zadať pár viet do https://platform.openai.com/tokenizer, pretože keď uvidíte, koľko tokenov zje česká diakritika, pochopíte, prečo modely vedia po anglicky lacnejšie.
2. EMBEDDINGY — KAŽDEJ KOCKE DÁME SÚRADNICE
Číslo 4 731 samo osebe nič neznamená. Tak každému tokenu pridelíme dlhý zoznam čísel (vektor) a tie vektory sa počas tréningu posunú tak, aby tokeny s podobným významom ležali blízko seba. "Kráľ" a "kráľovná" skončia vedľa seba. "Kráľ" a "skrutkovač" nie.
Analógia: každé slovo dostane GPS súradnice vo svete, ktorý má namiesto dvoch rozmerov trebárs 4 096. Nikto tie súradnice nezadáva ručne. Slovo sa tam nasťahuje samo podľa toho, v akej spoločnosti sa v textoch vyskytuje.
Matika: , riadok je vektor tokenu t. Pre Llamu 2 70B je .
Kam ďalej: Mikolov et al. (2013), "Efficient Estimation of Word Representations in Vector Space" — word2vec, ten slávny .
3. ATTENTION, KAŽDÝ TOKEN SA ROZHLIADNE PO MIESTNOSTI
Tu je ten trik, kvôli ktorému transformer vyhral. Každý token sa pozrie na všetky tokeny pred sebou a spýta sa: "Kto z vás je pre mňa teraz dôležitý?" Zámeno "ona" sa otočí za najbližším ženským menom. Sloveso "zaplatil" sa otočí za tým, kto a čo.
Analógia: večierok. Každý hosť má na krku ceduľku s tým, čo ponúka (kľúč), a v hlave to, čo hľadá (dopyt). Pre každú dvojicu sa spočíta, ako k sebe ladia, a každý hosť si potom namieša koktail z toho, čo hovoria tí naj-ladiaci (hodnoty). Slovo "attention" znamená presne to: komu venujem pozornosť a v akom pomere.
Matika (ten jediný riadok, ktorý stojí za zapamätanie):
Delenie je tam preto, aby pri veľkých vektoroch neboli skalárne súčiny obrovské a softmax sa nezasekol na jedinom hosťovi. Detail, ale detail, bez ktorého to netrénuje.
A pretože jeden pohľad po miestnosti nestačí (jeden si všíma gramatiku, druhý význam, tretí to, čo je v úvodzovkách), robí sa to paralelne viackrát: multi-head. Niekoľko hostí na jednom večierku, každý si všíma niečo iné.
Kam ďalej: Vaswani et al. (2017), "Attention Is All You Need". Ale najprv si prečítajte Jay Alammar, "The Illustrated Transformer" — tam sú k tomu obrázky, ktoré v pôvodnom paperi chýbajú.
4. REZIDUÁLNY PRÚD, TEDA DIAĽNICA, NA KTORÚ KAŽDÁ VRSTVA LEN PRIPÍŠE
Model má desiatky vrstiev (Llama 70B má 80). Keby každá vrstva svoj vstup prepísala, po tridsiatich vrstvách by z pôvodného slova nezostalo nič. Tak to robia šikovnejšie: vstup sa kopíruje ďalej nezmenený a vrstva k nemu len pripočíta svoju poznámku.
Analógia: zdieľaný dokument, ktorým prechádza 80 editorov. Nikto nemaže, každý len doplní komentár na okraj. Kto chce, prečíta si pôvodný text aj po osemdesiatich kolách.
Matika: . To je celé. Tá jednoduchosť je fíčura: gradient má vždy priamu cestu späť, pretože derivácia x podľa x je 1.
Za attention nasleduje v každej vrstve ešte malá dopredná sieť (MLP), ktorá pracuje s každým tokenom samostatne... niečo ako "teraz, keď vieš, komu si venoval pozornosť, si to premysli". Väčšina parametrov modelu sedí práve tu.
Kam ďalej: He et al. (2015), "Deep Residual Learning for Image Recognition" — odtiaľto to transformery zdedili. A z tvojej zložky Xie et al. (DeepSeek, 2026), "mHC: Manifold-Constrained Hyper-Connections" — čo sa stane, keď niekto skúsi tú diaľnicu rozšíriť na viac pruhov a zistí, že sa rozpadne stabilita, kým tú "deriváciu rovnú jednej" nevráti späť.
5. CIEĽ, NIE "UHÁDNI SLOVO", ALE "ROZDAJ STÁVKY"
Teraz to dôležité, čo sa v populárnych vysvetleniach najčastejšie pokazí. Model netrénujeme, aby uhádol ďalšie slovo. Trénujeme ho, aby pre každé slovo v slovníku povedal, s akou pravdepodobnosťou príde. Po "Dobrý" dá vysokú váhu na "deň", slušnú na "večer", malú na "nápad" a mikroskopickú na "skrutkovač".
Analógia: bookmaker. Nechceme, aby tipol víťaza. Chceme, aby vypísal kurzy na všetky kone, a trestáme ho podľa toho, aký nízky kurz dal na toho, ktorý nakoniec dobehol. Bookmaker, ktorý dáva 99 % jednému koňovi, dopadne z dlhodobého hľadiska horšie než ten, kto poctivo rozloží stávky tam, kde je naozaj neistota.
Matika: pre správny ďalší token je strata
Sčítané cez miliardy pozícií v texte. Keď model dal správnemu tokenu p = 0,5, platí 0,69. Keď mu dal 0,01, platí 4,6. Keď mu dal 0,99, platí 0,01. Tomu sa hovorí cross-entropy a je to jediné, čo model počas predtréningu "chce".
Z toho plynie vec, ktorú kalomaze popisuje pekne: model, ktorý má nízku stratu, musí vedieť reprezentovať neistotu. Musí vedieť, kde je text predvídateľný (kód, matematika) a kde je voľný (poézia, chat). Nie je to memorovanie. Je to naučená mapa toho, kde je jazyk pevný a kde tekutý.
Kam ďalej: kalomaze, "Understanding Transformers... (beyond the Math)" (2025) — hlavne kapitola o výstupnej vrstve. A Karpathy, "Let's build GPT: from scratch, in code, spelled out" (YouTube, 2023) — dve hodiny, po ktorých to celé napíšete v 300 riadkoch Pythonu.
6. GRADIENT DESCENT, ZOSTUP Z HORY SO ZAVIAZANÝMI OČAMI
Máme stratu. Máme miliardy čísel (parametrov), ktoré ju ovplyvňujú. Ako ich nastaviť? Pre každé číslo spočítame, o koľko by sa strata zmenila, keby sme ním trochu pohli (to je gradient), a pohneme ním opačným smerom. Mnohokrát. Rádovo milióny krokov.
Analógia: stojíte v hmle na kopci a chcete sa dostať dolu. Nevidíte nič, ale cítite sklon pod nohami. Urobíte krok z kopca. Ohmatáte znova. Krok. Premenných je 70 miliárd, ale princíp je stále ten istý — cítiť sklon, krok, cítiť sklon.
Matika: . Písmeno je dĺžka kroku (learning rate). Príliš veľký krok a preskočíte údolie. Príliš malý a ste tam do Vianoc.
Kam ďalej: 3Blue1Brown, séria "Neural networks" (YouTube) — kapitoly o gradient descente a backpropagation majú najlepšie vizualizácie, aké poznám.
7. ŠKÁLOVANIE, ALEBO RECEPT, KTORÝ PLATÍ PREKVAPIVO PRESNE
Koľko dát, koľko parametrov, koľko výpočtu? Ukázalo sa, že to nie je veštenie. Strata klesá s veľkosťou modelu a objemom dát podľa hladkých kriviek, z ktorých sa dá predpovedať, aký dobrý bude model, ktorý ste ešte nespustili.
Analógia: pečiete chlieb a zistíte, že pomer múky a vody funguje rovnako pre bochník aj pre priemyselnú pec. Nie je to samozrejmosť — pri väčšine vecí na svete to tak nie je.
Matika: Chinchilla (2022) dáva ako výpočtovo optimálny pomer približne 20 trénovacích tokenov na jeden parameter. Model so 70 mld parametrov chce ~1,4 bilióna tokenov. (Dnešné modely trénujú na násobkoch toho pomeru, pretože je lacnejšie mať menší model, ktorý sa potom lacno prevádzkuje.)
Kam ďalej: Hoffmann et al. (2022), "Training Compute-Optimal Large Language Models". A Kaplan et al. (2020), "Scaling Laws for Neural Language Models" — staršia verzia, ktorá to celé odštartovala.
8. POST-TRÉNING, Z PAPAGÁJA INTERNETU UROBIŤ ASISTENTA
Model po predtréningu je dokončovač textu. Dáte mu otázku a on pokojne vygeneruje ďalších desať otázok, pretože tak vyzerajú fóra. Aby z neho bol asistent, prídu tri kroky:
SFT (supervised fine-tuning). Ukážete mu pár desiatok tisíc príkladov "otázka → dobrá odpoveď". Naučí sa formát. Stále rovnaká cross-entropy, len na ručne písaných dátach.
Preferencie (RLHF / DPO). Ľudia porovnávajú dve odpovede a povedia, ktorá je lepšia. Z toho sa model učí, čo sa páči, nielen čo je pravdepodobné. RLHF na to stavia zvláštny "model odmeny" a používa posilňované učenie; DPO to skracuje a učí sa rovno z párov.
RL na uvažovanie (2024–25). Model dostane úlohy s overiteľnou odpoveďou (matika, kód), nechá sa premýšľať a dostane odmenu len za správny výsledok. Bez ľudí. Z tohto vznikli reasoning modely typu o1 a DeepSeek-R1.
Analógia: predtréning je prečítať knižnicu. SFT je stáž, kde vám ukážu, ako sa píše mail. Preferencie sú šéf, ktorý vám maily vracia s poznámkou "toto nie". RL na uvažovanie je skúška, kde nikoho nezaujíma, ako ste na to prišli, len či je výsledok správny.
Matika (DPO, jeden riadok): zvyšuj log p(preferovaná) − log p(odmietnutá) oproti pôvodnému modelu. Formálne
kde je víťazná a porazená odpoveď.
Kam ďalej: Ouyang et al. (2022), "Training language models to follow instructions with human feedback" (InstructGPT). Rafailov et al. (2023), "Direct Preference Optimization". DeepSeek-AI (2025), "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning".
9. VZORKOVANIE, A TEPLOTA NIE JE NÁHODA
Hotový model vám na každej pozícii dá rozdelenie. Niečo z neho musíte vytiahnuť. "Teplota" je parameter, ktorým to rozdelenie zostríte alebo sploštíte, skôr než z neho ťaháte.
Analógia: máte koleso šťastia s políčkami rôznej veľkosti. Teplota 1 = koleso tak, ako ho model nakreslil. Teplota nízka = veľké políčko ešte zväčšíte, malé takmer zmiznú. Teplota vysoká = všetky políčka sa priblížia rovnakej veľkosti. Potom roztočíte. Žiadna náhoda sa nikam "nepridáva"; len sa mení tvar kolesa.
Matika: . Pri vyhráva vždy najvyššie (greedy). Pri je to presne to, čo model natrénoval.
Kam ďalej: Holtzman et al. (2019), "The Curious Case of Neural Text Degeneration" — prečo greedy dekódovanie zacyklí aj výborný model, a odkiaľ je nucleus sampling.
CELÝ RECEPT NA JEDNU KARTIČKU
text → tokeny → vektory → [attention + MLP, pripočítať k prúdu] × vrstiev → kurzy na každý token → cross-entropy → gradient → opakovať biliónkrát → SFT → preferencie → RL na výsledok → hotovo, nastavte teplotu.
Nič z toho nie je jednotlivo ťažké. Ťažké je, že to funguje až vo chvíli, keď je toho neuveriteľne veľa — a že nikto presne nevie, prečo práve tento mix. Väčšina dielov je tam preto, že sa osvedčili, nie preto, že by ich niekto odvodil. Čo je dobrá správa: znamená to, že kopa z nich sa dá ešte zlepšiť.




















