Token
Et lille stykke tekst - et ord, en del af et ord eller et tegn - som en sprogmodel læser og skriver i; også enheden, brug prissættes efter.
Kladde - dette opslag er endnu ikke gennemgået.
Formelt
Den enhed, en sprogmodel arbejder i; tekst deles op i tokens fra en fast liste, hvert token laves om til et tal, og modellen læser og skriver tekst ét token ad gangen.
Forklaret enkelt
Som legoklodser til tekst - almindelige ord er én klods, sjældne eller lange ord bygges af flere mindre klodser.
I praksis
En webshop, der betaler per token for sin chatassistent til kundeservice, opdager, at danske svar koster mere end engelske, fordi et ord som “sikkerhedshændelse” kan blive delt i fire-fem tokens, mens “the” er ét.
Hvorfor det betyder noget
Tokens bestemmer pris, hastighed og hvor meget en model kan tage ind på én gang; bemærk, at denne AI-betydning intet har med et login-token at gøre.
Teknisk uddybning
Et token er en post i en models faste ordforråd, identificeret ved et heltals-ID. De fleste ordforråd læres med subword-algoritmer som byte-pair encoding, så hyppige ord, almindelige orddele, ord med foranstillet mellemrum, tegnsætning, grupper af cifre og rå bytes hver får deres egne poster. Ordforrådets størrelse er et designvalg, der låses før fortræningen: GPT-2 brugte 50.257 poster, og nyere modelfamilier bruger ordforråd på omkring 100.000 til over 250.000 poster, så flere sprog og kode komprimeres godt. ID'et bruges til at slå en række op i embedding-matricen på vej ind, og outputlaget giver én logit pr. ID.
Ud over almindelige teksttokens indeholder ordforråd særlige tokens, der aldrig optræder som bogstavelig tekst: markører for start og slut på en sekvens, udfyldning, skilletegn for roller og ture i chatskabeloner, markører for værktøjskald og i nogle modeller skilletegn for ræsonnement. Serveringslag forhindrer normalt, at brugertekst ved et uheld bliver til disse tokens, for en bruger, der kunne indsætte et tur-skilletegn, kunne forfalske en system- eller assistentbesked. Billeder, lyd og video i multimodale modeller omsættes også til tokens (felter eller billeder afbildet til embeddings), og derfor har et billede en token-pris.
Antallet af tokens styrer tre driftsstørrelser. Prisen er pr. million input- og output-tokens, hvor output typisk koster flere gange mere, og cachet input mindre. Kontekstvinduet og det maksimale output angives i tokens. Ventetiden vokser med antallet af output-tokens, fordi hvert kræver et forward pass. En udbredt tommelfingerregel er omkring fire tegn eller trekvart ord pr. token for engelsk tekst, men forholdet afhænger af tokenizeren: Anthropics dokumentation oplyser, at 1 million tokens rummer færre ord med den nyeste tokenizer end med tidligere modeller, så den samme tekst kan koste forskelligt på efterfølgende modelgenerationer.
Forholdet varierer også kraftigt mellem sprog og skriftsystemer. Petrov m.fl. (2023) målte tokenlængder for parallelle oversættelser af samme tekst og fandt forskelle på op til 15 gange mellem sprog, også i tokenizere designet til at være flersprogede. Dansk skrives med latinske bogstaver og klarer sig bedre end mange sprog, men lange sammensatte ord deles stadig i flere stykker, så dansk tekst typisk koster flere tokens end tilsvarende engelsk og fylder kontekstvinduet hurtigere. Til budgettering bør man tælle tokens med den konkrete models tokenizer eller tælle-endpoint i stedet for at skønne ud fra antal ord. AI-betydningen af token har intet med login-tokens, API-nøgler eller kryptografiske tokens at gøre.
Relationer
- Del af
- Prompt
Kilder og videre læsning
Officiel dokumentation
Opslagsværker
- Sennrich, Haddow & Birch (2016), Neural Machine Translation of Rare Words with Subword Units
- Vaswani et al. (2017), Attention Is All You Need
- Petrov et al. (2023), Language Model Tokenizers Introduce Unfairness Between Languages
Hvor dataene kommer fra
Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.
Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON
Nævnt i
Test dig selv
Indlæser…