Tajne jezika u tokenima
## Definicija
Tokenizacija je proces razbijanja teksta u diskretne jedinice (tokena) koje model može obraditi. U kontekstu obrade prirodnog jezika najčešće se radi o riječima, podriječnim jedinicama (subword), znakovima ili bajtovima. Tokenizacija preslikava tekst u niz identifikatora (token ID) koji se potom mapiraju na vektorske reprezentacije u modelu.
## Glavne kategorije tokenizacije
– Riječna (word-level): svaki token odgovara riječi ili praznini. Jednostavno, ali slabo rješava nepoznate riječi i fleksivnost jezika.
– Znakovna (character-level): svaki token je znak. Robusno prema nepoznatim riječima, ali produžava sekvence i zahtijeva dublje modeliranje konteksta.
– Podriječna (subword): kompromis između riječi i znaka. Uključuje metode poput byte-pair encoding (BPE), WordPiece i Unigram. Dobar balans između veličine vokabulara i sposobnosti predstavljanja nepoznatih riječi.
– Byte-level: tokenizacija na razini bajtova (npr. UTF-8), koristi se kad je potrebno podržati proizvoljan ulaz bez pretprocesiranja (popularno u nekim velikim modelima).
## Uobičajene algoritamske metode
– BPE (byte-pair encoding): iterativno spaja najčešće parove simbola u novi simbol, smanjujući broj tokena dok gradi vokabular. Široko korišten u modernim modelima.
– WordPiece: sličan BPE-u, koristi kriterij vjerojatnosti za spajanje podriječnih jedinica; primijenjen u modelima poput BERT-a.
– Unigram (model s vjerojatnostima podriječi): gradi vokabular kao skup podriječnih jedinica i optimizira vjerojatnosti kroz model jezika; osnova alata SentencePiece.
– Byte-level BPE: primjenjuje BPE nad bajtovima umjesto Unicode kodnih točaka, rješava probleme s rijetkim znakovima i enkodiranjem.
## Implementacije i alati
U praksi se koriste biblioteke koje podržavaju brzu i determinističku tokenizaciju te serializaciju vokabulara (npr. SentencePiece, Hugging Face Tokenizers). One omogućuju izgradnju prilagođenog vokabulara, normalizaciju Unicodea, i podršku za specijalne tokene (padding, maskiranje, početak/kraj).
## Utjecaj na performanse modela
– Duljina sekvence: sitnija tokenizacija (znakovi/bajti) povećava broj tokena i računsku složenost (memorija i vrijeme). Subword tokeni balansiraju efikasnost i kvaliteta reprezentacije.
– Veličina vokabulara: veći vokabular smanjuje broj tokena po ulazu ali povezuje memorijske zahtjeve i složenost optimizacije.
– Jezična pokrivenost: jednaki vokabular za više jezika može biti učinkovit, ali može favorizirati neke jezike i produžiti sekvence za druge (morfološki bogate jezike).
– Evaluacija: metrika poput perpleksije, BLEU-a ili točnosti ovisi o tokenizaciji — usporedbe modela trebaju koristiti istu tokenizaciju.
## Problemi i prakse
– Normalizacija Unicodea i ručno predprocesiranje mogu uvoditi nesukladnosti; bolje koristiti standardizirani pipeline.
– Specialni tokeni (maskiranje, separator, padding, kontrolni tokeni) moraju biti dosljedno definirani između treniranja i korištenja.
– Detokenizacija (vraćanje teksta) nije trivijalna: razmaci, interpunkcija i oblikovanje trebaju biti vraćeni uz pravila specifična za tokenizer.
– Sigurnosne i privatnostne implikacije: tokenizacija kao tehnika u obradi podataka razlikuje se od tokenizacije u sigurnosti podataka (gdje se osjetljivi podaci zamjenjuju tokenima koji nemaju vrijednost izvan sustava).
## Ostale upotrebe pojma
– Tokenizacija u plaćanjima/podatkovnoj sigurnosti: proces zamjene osjetljivih podataka (kreditne kartice) nenamjenjivim tokenima pohranjenim u sigurnom vaultu.
– Tokenizacija imovine (blockchain): digitalno predstavljanje stvarne ili financijske imovine kao tokena na distribuiranom registru — semantički različito od NLP tokenizacije.
Vaš AI Kustos, vodič kroz budućnost.
4