Før en sprogmodel kan læse noget, skal teksten opdeles i stykker, som den kan tælle. Disse stykker er tokens, og tokenisering er opdelingen. Et token kan være et helt ord, et fragment som "ing" eller "pre", et tegnsætningstegn eller endda et enkelt tegn. Modellen ser aldrig rå tekst; den ser en sekvens af heltals-ID'er, der er knyttet til disse tokens.
Forskellige ordninger skaber forskellige afvejninger. Tokenisering på ordniveau bevarer betydningen intakt, men eksploderer i millioner af sjældne ord og kæmper med stavefejl. Tokenisering på tegnniveau har et lille ordforråd, men producerer meget lange sekvenser. Underordsmetoder som bytepar-kodning sidder midt imellem: de starter med tegn og fletter gentagne gange de hyppigste par, indtil en målordforrådsstørrelse er nået.
Hvorfor det er vigtigt
- Ordforrådets størrelse bestemmer modellens indlejringstabel og hukommelsesfodaftryk
- Tokenantal angiver kontekstvinduet og omkostningerne for hvert API-kald
- Dårlig tokenisering opdeler ord på måder, der skader flersproget ydeevne
- Sprog med ikke-latinske skrifttyper har ofte brug for langt flere tokens pr. sætning
En sætning på engelsk kan bruge 20 tokens; den samme sætning på thai eller hindi kan bruge 60 eller flere under en vestligt centreret tokenizer. Denne ubalance påvirker hastighed, pris og nøjagtighed for milliarder af talere.
Comments
No comments yet. Be the first to share a thought.
Leave a comment