Token je základná jednotka textu, s ktorou pracuje jazykový model. Býva ním fragment slova, celé slovo alebo znak. Model nečíta text po slovách, ale po tokenoch, a rovnako ich aj generuje. Jazykový model tak „vidí“ vstup rozdelený na tokeny, nie na vety. V programovaní a zabezpečení webu sa slovom token označuje aj iná vec, napríklad prístupový token. Tu vysvetľujeme token v AI.
Koľko tokenov má text?
OpenAI uvádza, že tokeny sú fragmenty slov. V angličtine je jeden token približne štyri znaky alebo tri štvrtiny slova, takže 100 tokenov zodpovedá približne 75 slovám.
Presný počet pre konkrétny text zistíme v nástroji Tokenizer, na ktorý OpenAI odkazuje vo svojej nápovede.
Prečo slovenčina spotrebuje viac tokenov?
OpenAI uvádza, že texty v iných jazykoch ako angličtina potrebujú viac tokenov. Ako príklad dáva španielske „Cómo estás“, ktoré má 10 znakov a 5 tokenov. Pomer znakov na token je teda nižší než v angličtine.
Presné číslo pre slovenčinu neuvádzame, lebo závisí od modelu a od textu. Slovenský text je však potrebné merať a nepočítať ho podľa anglických pravidiel.
Čo je kontextové okno a ako súvisí s tokenmi?
Kontextové okno je množstvo tokenov, ktoré model naraz spracuje. Anthropic vo svojej dokumentácii uvádza, že sa do neho počíta všetko: systémový prompt, správy, výsledky nástrojov, obrázky, definície nástrojov aj samotný výstup vrátane myslenia modelu. Okno môže mať až milión tokenov.
Veľké okno ešte neznamená dobrú pamäť. Anthropic popisuje jav „context rot“, pri ktorom kvalita klesá, keď sa kontext predlžuje. Čo sa deje pri dlhých analýzach a projektoch, rozoberáme v časti o zabúdaní v článku o halucináciách.
Ako s tokenmi pracujeme v praxi?
Pri dlhších úlohách s AI sa osvedčili tieto opatrenia. Ide o náš postup, nie o pravidlo výrobcu.
- rozdeliť dlhú úlohu na menšie kroky
- podklady držať v súboroch a nie len v rozhovore
- do promptu dať len to, čo úloha potrebuje
- pri dlhom vstupe dať dokumenty navrch a otázku na koniec
- pri práci cez API počítať s tým, že do okna sa rátajú aj výstupy modelu
Súvisí to s prompt engineeringom aj s RAG, ktoré do modelu vkladá len potrebné úryvky.
Čo si zapamätať o pojme Token?
Token je jednotka textu, s ktorou model pracuje. Počet tokenov určuje, koľko sa zmestí do kontextového okna, a slovenčina ich spotrebuje viac než angličtina. Veľké okno nezaručuje, že model všetko zohľadní rovnako dobre, preto dlhé úlohy delíme a podklady ukladáme mimo rozhovoru.
Ako to rieši webstrankanamieru.sk: Pri dlhých úlohách s AI delíme prácu na menšie kroky a podklady držíme v súboroch a nie len v rozhovore. Súvisiace opatrenia popisujeme v časti o zabúdaní v článku o halucináciách a využitie AI pri tvorbe webov v článku Ako umelá inteligencia mení tvorbu webstránok?.
Súvisiace pojmy: LLM, Prompt, Prompt engineering, Halucinácia AI, RAG, Generatívna AI, Embedding, ChatGPT, Claude, OpenAI
Často kladené otázky o pojme Token
Čo je token v AI?
Koľko slov je 100 tokenov?
Prečo má slovenský text viac tokenov?
Čo sa počíta do kontextového okna?
Znamená veľké kontextové okno, že model nezabúda?
Zdroje
- OpenAI Help: What are tokens and how to count them?Definícia tokenu, pomer znakov a slov a príklad s inými jazykmi.
- Anthropic: Context windowsČo sa počíta do kontextového okna a jav context rot.
- Anthropic: Effective context engineering for AI agentsObmedzený rozpočet pozornosti modelu a postupy pri dlhom kontexte.