Blog

Jak fungují LLM? Tokenizace, vektory a generování

Jak fungují ChatGPT a další LLM? Srozumitelné vysvětlení tokenizace, embeddingů, attention, pravděpodobnosti a lepších promptů.
Jak fungují LLM? Tokenizace, vektory a generování
8 min read

Jazykový model nerozumí jazyku tak jako vy nebo já. Vytváří velmi přesvědčivý dojem: reaguje k věci, vysvětluje metafory a někdy pozná i nepovedený vtip. Pod kapotou ale nesedí malý člověk se slovníkem. Je tam obrovský počítací stroj.

Podívejme se pod kapotu. Lépe pochopíte, jak velký jazykový model funguje, a cestou se naučíte zadávat mu lepší úkoly bez toho, abyste plynulost zaměňovali za znalost.

Tokenizace: rozdělení jazyka na jednotky

Pro vás se text skládá z písmen, slov, vět a odstavců. Jazykový model začíná tokeny: očíslovanými úseky textu, které mohou podle tokenizeru představovat celé slovo, část slova, interpunkční znaménko nebo jediný znak.

Vezměme tuto českou větu:

Tuto část procesu lze snadno vysvětlit.

Tokenizer o200k_base od OpenAI ji rozdělí do dvanácti tokenů:

["T", "uto", " část", " procesu", " lze", " snad", "no", " vys", "vě", "tl", "it", "."]

Úvodní mezery u některých prvků jsou součástí tokenu. Jiný model nebo tokenizer může stejnou větu rozdělit odlišně. Známá poučka „jeden token jsou přibližně čtyři znaky“ proto dává smysl nanejvýš jako hrubý odhad pro angličtinu. U češtiny, ukrajinštiny nebo jiných jazyků může být poměr výrazně jiný.

Můžete si to vyzkoušet v Tokenizeru OpenAI. OpenAI ve svém vysvětlení tokenů také připomíná, že rozdělení ovlivňují mezery, velká písmena, části slov i interpunkce.

Co si zapamatovat?

  • Token není totéž co slovo.
  • Rozdělení závisí na konkrétním tokenizeru a přesném řetězci znaků.
  • Velké písmeno, úvodní mezera nebo speciální znak mohou tokeny změnit.
  • Dlouhé nebo v tréninkových datech méně časté tvary se častěji dělí na více částí.
  • Počet tokenů ovlivňuje kontextové okno, výpočetní náklady a u API často také cenu.

Tady je důležitá oprava běžného vysvětlení. Tokenizer ještě nerozumí významu. České slovo „zámek“ může označovat historickou budovu nebo zařízení ve dveřích. Pokud je zápis a pozice stejné, nedostane automaticky jiný token jen kvůli významu. Až další vrstvy modelu použijí kontext věty a vytvoří odlišné reprezentace.

Tokenizace tedy nepřekládá jazyk do významu. Rozřezává surový materiál na očíslované části.

Embeddingy: z identifikátorů vzniknou body ve vektorovém prostoru

ID tokenu je zpočátku jen index. Číslo přiřazené fragmentu „T“ samo o sobě neobsahuje jeho význam. Aby s ním neuronová síť mohla počítat, přiřadí tokenu vektor: seznam mnoha čísel. Této reprezentaci se říká embedding.

Proč seznam a ne jediné číslo? V abecedním seznamu by „lampa“ mohla ležet blíž slovu „lama“ než slovu „stínidlo“. Pro práci s jazykem by to mnoho nepřineslo. Ve vícerozměrném prostoru se systém může naučit reprezentace, ve kterých mají podobná použití podobné číselné vzory.

Pro představu si vymysleme dvě osy:

  • Jak je něco konkrétní nebo abstraktní?
  • Objevuje se to častěji v pozitivním, nebo negativním kontextu?

„Lampa“ a „stínidlo“ by pak mohly ležet blíž sobě než slovu „naděje“. Skutečné modely však nedostávají tisíce člověkem pojmenovaných os. Během trénování si osvojují numerické vlastnosti, které pomáhají snižovat chybu předpovědi. Jedna konkrétní dimenze proto neznamená jednoduše „hmotnost“ nebo „přívětivost“.

Především ale počáteční embedding není hotový význam. Token „zámek“ začíná stejnou základní reprezentací. Při průchodu vrstvami Transformeru ji však mění okolní tokeny. Ve větě „Navštívili jsme barokní zámek“ tak vznikne jiný kontextový vzor než ve větě „Vyměnil jsem zámek u dveří“.

Google ve svém přehledu statických a kontextových embeddingů vysvětluje právě tento rozdíl. Je přesnější než představa, že každé slovo má navždy jeden lidsky čitelný bod v prostoru.

Počet dimenzí závisí na modelu a vrstvě. Neexistuje obecné pravidlo, podle něhož by moderní LLM přiřazoval každému tokenu přesně 12 000 „významových parametrů“.

Proč se hodí GPU? Ne proto, že by „viděly prostor“, ale protože dokážou paralelně provádět ohromné množství operací s maticemi a vektory. Právě z takových výpočtů se skládá velká část trénování i inference.

Transformer a attention: na kterých částech kontextu záleží?

Samotný vektor jazykový problém neřeší. Model musí zohlednit vztahy mezi tokeny.

Vezměme tuto větu:

Chlapec, jehož babička předevčírem koupila motocykl Harley-Davidson, jede ke škole na kopci.

Kdo jede? Chlapec. Co bylo koupeno? Motocykl. Kdo ho koupil? Babička. Slova spojená významem neleží vždy vedle sebe.

Tady přichází na řadu self-attention. Transformer pro každý token počítá dotaz, klíč a hodnotu – query, key a value. Velmi zjednodušeně určuje, jakou váhu mají při aktualizaci současné reprezentace dostat ostatní pozice. Více attention heads se může současně učit různé typy vztahů.

Článek Attention Is All You Need z roku 2017 nevynalezl veškerou pozornost v neuronových sítích. Jeho zásadním přínosem byla architektura Transformer, která se obešla bez rekurence a konvolucí a dovolila zpracovávat sekvence mnohem paralelněji.

Transformer také „nečte“ jako redaktor. Počítá váhy a transformuje vektory. Některé vzory attention lze zpětně smysluplně interpretovat, vysoká váha však sama o sobě není úplným vysvětlením, proč model vytvořil konkrétní odpověď.

Užitečný mentální model vypadá takto:

  • tokenizace dodá části textu;
  • embeddingy z nich vytvoří číselné reprezentace;
  • informace o pozici ukáže, kde se jednotlivé části nacházejí;
  • self-attention vmíchá do každé reprezentace relevantní části kontextu;
  • mnoho vrstev tento postup opakuje a vytváří stále bohatší kontextové vzory.

Generování: nejdřív rozdělení pravděpodobnosti, potom výběr

Po zpracování dosavadního kontextu spočítá autoregresivní model pravděpodobnosti dalšího tokenu. Nemá tedy okamžitě hotovou odpověď. Má rozdělení mezi mnoha možnými pokračováními.

Začátek věty

Dobrá reklamní kampaň je…

může mít několik pravděpodobných pokračování:

  • „… ta, která prodává.“
  • „… investice, ne náklad.“
  • „… základ udržitelného růstu.“
  • „… jen tak dobrá jako problém, který řeší.“

Tento seznam je didaktický příklad, nikoli měření z konkrétního modelu. Ve skutečném systému vybere token z vypočteného rozdělení dekódovací nebo vzorkovací strategie. Nový token se přidá ke kontextu a výpočet začne znovu. Text vzniká token po tokenu.

Často se mluví o dvou parametrech:

  • Teplota mění tvar rozdělení. Nižší hodnota soustředí výběr více na pravděpodobné tokeny, vyšší zpřístupní i méně pravděpodobné možnosti. Nepřidává modelu znalosti ani kreativitu. Mění míru náhodnosti výběru.
  • top_p označuje nucleus sampling. Kandidáty zůstanou jen tokeny z nejmenší množiny, jejíž kumulativní pravděpodobnost dosáhne zvoleného prahu. Při top_p: 0.9 tedy zůstane množina pokrývající alespoň 90 % pravděpodobnosti.

OpenAI oba parametry popisuje v dokumentaci API. Běžné rozhraní ChatGPT je uživatelům nemusí ukazovat. Osobnosti, styly psaní a úrovně uvažování nejsou jen jiná jména pro teplotu a top_p; mohou vycházet z dalších systémových instrukcí, modelů a procesů.

Co to znamená pro prompty?

Když pochopíte, že model v jádru generuje pokračování token po tokenu, přestane prompting připomínat čtení myšlenek a začne vypadat jako dobrý brief.

Napíšete-li jen:

Vytvoř strategii značky.

chybí téměř všechno, co odlišuje konkrétní odpověď od obecné. Model pravděpodobně sáhne po známých kapitolách a obvyklých klišé.

S konkrétním výchozím bodem se relevantní kontext změní:

Jste stratég značky. Pracujete pro českou B2B softwarovou firmu, která po změně positioningu ztratila 20 % kvalifikovaných leadů. Nejprve analyzujte tři možné příčiny. Pokud chybějí data o cílové skupině, nákupním procesu nebo konkurenci, položte doplňující otázky. Zatím nevytvářejte hotovou strategii.

Model náhle nezmoudřel. Dostal však více informací, podle kterých může vybírat pokračování odpovídající úkolu.

Totéž platí pro styl:

Tón: věcný a přesný, s lehkou ironií v pozadí. Žádný koučovací jazyk, žádné vykřičníky a žádná fráze „v rychle se měnícím světě“.

Vzorový text bývá silnější než dlouhý seznam abstraktních přídavných jmen. Ukazuje modelu přímo v kontextu rytmus, slovní zásobu i délku odstavců.

Hranice jsou důležitější než magické formule

Když model něco neví, instrukce „Nic si nevymýšlejte“ nezaručí správnou odpověď. Stále může vytvořit věrohodně znějící, ale neexistující zdroj, číslo nebo definici. Dobrá omezení riziko snižují, neodstraňují.

Užitečnější je ověřitelné zadání:

Použijte pouze přiložené zdroje. Každé číslo doložte názvem dokumentu a částí. Pokud zdroje nestačí, přesně pojmenujte chybějící informaci a nedoplňujte odpověď domněnkou.

Potom stále platí: otevřít zdroj, zkontrolovat tvrzení a převzít odpovědnost.

Moderní AI produkty navíc nejsou jen samotný jazykový model. Výsledek mohou měnit systémové instrukce, vyhledávání v dokumentech, webové vyhledávání, nástroje, bezpečnostní pravidla a další kroky uvažování. Základní model dál generuje tokeny, celý produkt ale může vykonávat práci před generováním, během něj i po něm.

V praxi se dobrý brief podobá instrukcím pro velmi rychlého, velmi sečtělého a někdy děsivě sebejistého spolupracovníka:

  • Jaký je úkol?
  • Který kontext je důležitý?
  • Jaké zdroje jsou povolené?
  • Jakou podobu má mít výsledek?
  • Kdy se má systém zastavit a zeptat?
  • Kdo výsledek zkontroluje?

Ne umělá mysl, ale užitečný model

Historie umělé inteligence není příběhem o náhlém probuzení stroje. Je příběhem o trpělivém převádění složitosti do podoby, kterou lze počítat, testovat a zlepšovat.

Od jednoduchých umělých neuronů přes pravidla IF–THEN, statistické modely a backpropagation až k Transformerům a multimodálním systémům každá etapa něco splnila a v něčem selhala. Mnoho nápadů neskončilo v koši, ale na polici s nápisem „příliš brzy“.

Dnešní jazykové modely nejsou koncem tohoto příběhu. Několik starších myšlenek poprvé funguje současně: obrovská data, vhodná architektura, výkonný hardware a trénování ve velkém měřítku. Statistika proto začíná vypadat jako kompetence.

Pro marketing je tento rozdíl zásadní. LLM nemá záměr značky, ambice ani vlastní důvod něco sdělit. Mimořádně dobře však reprodukuje a kombinuje vzory: styly, příběhy, argumentační struktury, jazyková klišé a kulturní zkratky.

Tím posouvá hranici mezi přemýšlením a provedením. Kde dřív člověk ručně psal dvacet variant, systém je vytvoří během několika sekund. Rozhodnutí tím neztrácí význam, ale stává se viditelnějším: která varianta je pravdivá? Která patří ke značce? Kterou má vůbec smysl zveřejnit?

Na konci cesty nečeká umělý kolega s vlastní vizí. Čeká tam něco střízlivějšího a často užitečnějšího: statistická ozvěna textů, obrazů, dat a rozhodnutí vytvořených lidmi.

Taková ozvěna dokáže odpovědět překvapivě dobře. Pokud položíte rozumnou otázku a umíte odpověď zkontrolovat.

Další články o spolupráci s AI

Paul Skah

Autor

Paul Skah

Brand stratég, autor a řečník. Už 20 let pomáhám firmám budovat silné značky pomocí storytellingu, gamifikace a spotřebitelské psychologie.

Newsletter

Chcete víc takových textů?

Jedna užitečná myšlenka po druhé — o značkách, rozhodnutích, příbězích a AI. Píšu, když je co rozvíjet, ne abych zaplnil kalendář.