Token je atomická jednotka dat, se kterou pracují modely jako GPT-4, Llama nebo Claude. Může se jednat o celé slovo, část slova, jednotlivé písmeno nebo dokonce interpunkční znaménko. Tokenizace je proces, při kterém se lidský text převádí na číselný formát, kterému rozumí matematické operace uvnitř neuronové sítě.
Modely používají pokročilé algoritmy (např. Byte Pair Encoding - BPE), aby text efektivně rozdělily:
Pravidlo palce: V angličtině platí hrubý odhad, že 1000 tokenů odpovídá přibližně 750 slovům. V češtině je kvůli složitější gramatice a diakritice poměr tokenů ke slovům o něco vyšší (slova se častěji dělí na více částí).
Každý model má pevně danou kapacitu paměti, tzv. kontextové okno, definované v tokenech.
Většina poskytovatelů AI služeb (OpenAI, Anthropic) účtuje poplatky za používání API na základě počtu zpracovaných tokenů (vstupních i výstupních). Zároveň počet tokenů určuje rychlost generování – čím více tokenů musí model vytvořit, tím déle odpověď trvá.
Efektivita tokenizace se liší podle jazyka:
Modely používají i skryté tokeny pro řízení konverzace:
Po rozdělení na tokeny model přiřadí každému tokenu unikátní číslo a následně jej převede na Embedding – vektor čísel v mnohorozměrném prostoru. V tomto prostoru mají sémanticky podobné tokeny (např. „král“ a „panovník“) souřadnice blízko sebe.
Zajímavost: Zkuste si v ChatGPT nebo jiném modelu nechat napsat slovo pozpátku. Modely s tím mají často problém, protože slovo nevidí jako písmena, ale jako celistvé tokeny, a „neví“, z jakých písmen se token přesně skládá bez dodatečného uvažování.