Gå til indhold
atlas

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

Opslagsværker

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…

Atlas er i beta.