Hvad betyder Tokenisering?
Tokenisering er det trin, hvor tekst opdeles og omsættes til token-ID’er, som modellen kan behandle. Tokeniseringen følger en bestemt tokenizer og dens ordforråd eller regler. Den samme tekst kan derfor få forskelligt antal tokens i forskellige modeller.
Tokens er ikke det samme som danske ord. Et almindeligt ord kan være én token, mens et sammensat fagord eller produktnummer kan blive delt i flere. Mellemrum, tegnsætning og specialtegn kan også påvirke opdelingen.
Det har praktisk betydning for kontekst og forbrug. En grænse på et bestemt antal tokens kan ikke uden videre oversættes til et fast antal sider. Dokumenternes sprog, format og indhold skal med i vurderingen, især når en løsning håndterer både dansk prosa, tabeller og kode.
Fra tekstsekvens til tal
En tokenizer kan blandt andet bruge subword-metoder som byte-pair encoding, hvor hyppige sekvenser kan repræsenteres som fælles enheder. Modellen arbejder derefter med token-ID’er og deres repræsentationer, frem for direkte med bogstaver som en læser.
Opdelingen er ikke en garanti for en meningsfuld sproglig grænse. Det er derfor forkert at behandle hvert token som et helt begreb. En model kan behandle et navn over flere tokens, selv om navnet henviser til én person eller én vare.
Brug den rigtige tokenizer ved kontrol
Ved kapacitets- og prisoverslag bør et repræsentativt sæt input tælles med den tokenizer, der hører til den valgte model. En modelændring kan ændre tællingen, selv om teksten er identisk.
Tokenisering har også betydning ved opdeling af dokumenter. Hvis systemet skærer tekst ved en rå token- eller tegngrænse uden at tage hensyn til afsnit, kan en tabel eller en vigtig undtagelse blive splittet. En teknisk grænse bør kombineres med struktur og efterfølgende kontrol af den tekst, modellen modtager.
Et eksempel fra praksis
En dansk webshop vil behandle korte beskrivelser med lange produktnumre og sammensatte materialebetegnelser. Teamet tager et udsnit af faktiske produkttekster og tæller dem med den planlagte model.
Det sammenligner almindelig prosa med beskrivelser, der indeholder mange varenumre. Hvis tokenforbruget er forskelligt, justeres budgettet efter materialets sammensætning. Produktnumrene fjernes ikke blot for at spare tokens, hvis de er nødvendige for at knytte resultatet til den rigtige vare. De indgår også i kvalitetstesten af output.
Typiske faldgruber
- Der bruges en fast regel om ét token pr. ord på dansk.
- Tokenoptælling fra én model genbruges ukritisk efter modelskift.
- Dokumenter opdeles ved en grænse, som ødelægger tabeller eller sammenhæng.
Det skal I afklare
- Tæl repræsentativt materiale med den aktuelle tokenizer.
- Bevar nødvendige identifikatorer og dokumentstruktur.
- Kontrollér grænser igen ved ændring af model eller inputformat.
Spørgsmål og svar
Er et token altid fire tegn?
Nej. Sådanne tommelfingerregler kan højst være grove overslag i bestemte sammenhænge. Den faktiske opdeling afhænger af tokenizer, sprog og tekst.
Kan jeg ændre tokeniseringen med en prompt?
En almindelig prompt ændrer ikke modellens tokenizer. Du kan ændre tekstens format, men det bør ske uden at fjerne nødvendige oplysninger eller skabe nye fejl.
Kilder og videre læsning
De tekniske begreber bygger på nedenstående kilder. Eksemplerne er illustrative og viser, hvordan I kan arbejde med emnet.
- Hugging Face: Byte-Pair Encoding tokenization ↗Subword-opdeling og tokenizerens ordforråd.
- OpenAI: tiktoken ↗Modeltilpasset BPE-tokenisering og optælling.

