Innan en språkmodell kan läsa något måste texten delas upp i bitar som den kan räkna. Dessa bitar är tokens, och tokenisering är själva uppdelningen. En token kan vara ett helt ord, ett fragment som "ing" eller "pre", ett skiljetecken eller till och med ett enskilt tecken. Modellen ser aldrig rå text; den ser en sekvens av heltals-ID:n mappade till dessa tokens.
Olika scheman leder till olika avvägningar. Ordnivåtokenisering behåller betydelsen intakt men exploderar i miljontals sällsynta ord och kämpar med stavfel. Teckennivåtokenisering har ett litet ordförråd men producerar mycket långa sekvenser. Underordsmetoder som byteparkodning sitter däremellan: de börjar med tecken och sammanfogar upprepade gånger de vanligaste paren tills en målordförrådsstorlek har uppnåtts.
Varför det spelar roll
- Ordförrådsstorleken avgör modellens inbäddningstabell och minnesutrymme.
- Tokenantal anger kontextfönstret och kostnaden för varje API-anrop
- Dålig tokenisering delar upp ord på sätt som skadar flerspråkig prestanda
- Språk med icke-latinska skrifttyper behöver ofta betydligt fler tokens per mening
En mening på engelska kan använda 20 tokens; samma mening på thailändska eller hindi kan ta 60 eller fler med en västerländskt centrerad tokenizer. Den obalansen påverkar hastighet, pris och noggrannhet för miljarder talare.
Comments
No comments yet. Be the first to share a thought.
Leave a comment