Token
Een klein stukje tekst, meestal iets van een halfwoord, waarin AI-modellen de taal opknippen.
Een token is het stukje tekst waar een taalmodel mee rekent. Niet een woord, niet een letter, maar iets daar tussenin. Het woord "onbegrijpelijk" wordt bijvoorbeeld opgedeeld in ongeveer drie tokens: "on", "begrijp", "elijk". Het woord "hallo" is een enkel token.
Waarom deze rare opdeling? Omdat het efficienter is dan werken met letters (te klein, te traag) of met hele woorden (te veel verschillende, en onbekende woorden worden niet herkend). Stukken tussenin vangen de balans: veelgebruikte woorden zijn een token, zeldzame woorden worden opgedeeld.
Hoe opdeling werkt
Het algoritme heet byte-pair encoding (BPE) of een variant daarvan. In het kort: begin met alle letters als losse tokens, en voeg steeds de meest voorkomende paren samen tot je op ongeveer 50.000 tot 200.000 tokens uitkomt. Dat is de "vocabulary" waarmee het model werkt.
Vuistregels voor Engelse tekst:
- 1 token ≈ 4 letters
- 1 token ≈ 3/4 woord
- 100 tokens ≈ 75 woorden
- 1.000 woorden ≈ 1.333 tokens
Voor Nederlands zijn het er vaak iets meer, omdat Nederlandse woorden gemiddeld langer zijn en vaker uit samenstellingen bestaan. Zeldzamere talen (Fins, Pools, Japans) kunnen twee tot drie keer zoveel tokens per woord krijgen.
Waarom tokens ertoe doen
Vrijwel alles aan AI-modellen wordt in tokens gemeten:
- Prijs. Je betaalt per token. Claude Opus kost bijvoorbeeld 5 dollar per 1 miljoen input-tokens. Een pagina A4 met Nederlandse tekst is grofweg 600 tokens, dus 10.000 pagina's lezen kost zo'n 30 dollar.
- Snelheid. Een model produceert tokens in een bepaald tempo, meestal 50 tot 200 per seconde. Een lang antwoord duurt daardoor langer.
- Limieten. Het context window wordt in tokens uitgedrukt. Als een model 200.000 tokens aankan, is dat ongeveer 300 pagina's tekst.
- Knip-punten. Als je over de limiet komt, moet je tekst ergens afkappen. Waar dat gebeurt bepaalt wat het model "onthoudt".
Hoe een token eruit ziet
Via platform.openai.com/tokenizer kun je typen en direct zien hoe tekst wordt opgedeeld. Een paar voorbeelden uit de Engelse tokenizer:
- "Hello" — 1 token
- "Hello, world!" — 4 tokens (Hello / , / world / !)
- "onomatopoeia" — 4 tokens (on / omat / op / oeia)
- Een emoji zoals 🦆 — 3 tokens, omdat die uit meerdere bytes bestaat
Waarom dat soms verrast
Code, JSON en lijsten kosten relatief meer tokens dan vlotte tekst, omdat leestekens en symbolen elk hun eigen token zijn. Een zin van 20 woorden is misschien 25 tokens; een JSON-document van 20 regels kan 300+ tokens zijn.
Daarom is het nuttig om te weten dat tokens bestaan als je met AI-kosten begint te rekenen. Wie een chat-ap bouwt met honderdduizend gebruikers telt met tokens. Voor losse gesprekken met ChatGPT of Claude hoef je er niet over na te denken.