Ce înseamnă Tokenizare
Tokenizarea este primul pas prin care trece orice text trimis unui model de limbaj: textul este tăiat în bucăți numite tokeni, iar fiecare token este înlocuit cu un număr de identificare din vocabularul modelului. Programul care face acest lucru se numește tokenizer.
Modelele moderne nu folosesc nici cuvinte întregi (vocabularul ar fi uriaș, iar cuvintele noi n-ar putea fi reprezentate), nici litere individuale (textele ar deveni foarte lungi), ci un compromis: sub-cuvinte. Cuvintele frecvente sunt un singur token, iar cele rare sunt compuse din mai multe bucăți.
Felul în care se face tokenizarea influențează mult modelul: câte cuvinte încap în fereastra de context, cât costă o cerere prin API și cât de bine se descurcă modelul cu limbi diferite, cu cifre sau cu cod.
Cum funcționează
Una dintre cele mai folosite metode este BPE (Byte Pair Encoding). Se pornește de la caractere sau octeți individuali și se caută, într-un volum mare de text, perechea de simboluri care apare cel mai des una lângă alta. Perechea devine un simbol nou, iar procesul se repetă până când vocabularul ajunge la mărimea dorită. Alte metode des întâlnite sunt WordPiece și SentencePiece.
Pentru că vocabularul este învățat mai ales din text în engleză, combinațiile frecvente din engleză devin tokeni întregi, în timp ce cuvintele românești, mai ales cele cu diacritice, sunt sparte mai des în mai multe bucăți.
Pe înțelesul tuturor
Tokenizarea seamănă cu stenografia: cuvintele și grupurile de litere foarte des folosite primesc un simbol scurt, iar restul se scrie din bucăți mai mici. Un stenograf care a învățat pe texte în engleză va scrie mai repede în engleză decât în română.
Exemplu
Un cuvânt românesc lung, precum „neîndemânatic”, poate fi împărțit de un tokenizer în patru sau cinci bucăți, în timp ce echivalentul englezesc „clumsy” poate fi un singur token. De aceea, un document în română consumă, de obicei, mai mulți tokeni decât traducerea lui în engleză, iar procesarea lui prin API costă ceva mai mult.
De reținut
- Tokenizarea transformă textul în tokeni, apoi în numere.
- Modelele moderne folosesc sub-cuvinte, învățate statistic (de exemplu prin BPE).
- Fiecare familie de modele are tokenizerul ei; același text poate avea un număr diferit de tokeni la modele diferite.
Nu confunda
- Tokenizare vs. embedding: tokenizarea taie textul și dă fiecărei bucăți un număr de identificare; embedding-ul transformă apoi fiecare token într-un vector care îi surprinde sensul.
- Tokenizare în AI vs. tokenizare în plăți: la plățile cu cardul, tokenizarea înseamnă înlocuirea numărului cardului cu un cod sigur, fără legătură cu modelele de limbaj.
Termeni înrudiți
- Token: Bucata de text (cuvânt, parte de cuvânt sau semn) cu care lucrează un model de limbaj; limitele și costurile se măsoară în tokeni.
- Embedding: Transformarea unui text, a unei imagini sau a unui sunet într-o listă de numere care îi surprinde sensul; lucrurile asemănătoare ajung apropiate.
- LLM (model lingvistic mare): Model AI antrenat pe cantități uriașe de text, care înțelege și generează limbaj; stă în spatele ChatGPT, Claude sau Gemini.
- Fereastră de context: Cantitatea maximă de text, măsurată în tokeni, pe care un model o ia în calcul deodată: instrucțiuni, conversație, documente și răspuns.
- NLP (procesarea limbajului natural): Domeniul AI care îi învață pe calculatoare să înțeleagă și să producă limbaj omenesc: traducere, rezumare, chatboți, analiza textelor.