Tokenizacija paaiškinta: nuo žetonų iki išvesties
Autorius: Wendy Frey
Prieš dideliam kalbos modeliui galint generuoti naudingą turinį, pirmiausia reikia padaryti kažką daug paprastesnio: išskaidyti jūsų tekstą.
Tasis procesas vadinamas tokenizacija, ir tai yra viena svarbiausių, ir dažnai pamirštamų, dalių, kaip veikia šiuolaikinės dirbtinio intelekto sistemos.
Dauguma žmonių mano, kad modeliai skaito žodžius. Jie to nedaro.
Jie skaito žetonus: mažus teksto fragmentus, kurie gali atstovauti visiems žodžiams, žodžių dalims, skyrybos ženklams, tarpams ar net individualiems simboliams. Šie žetonai vėliau konvertuojami į numerinius ID, kuriuos modelis gali apdoroti viduje.
Supratimas apie tokenizaciją padeda paaiškinti daugelį dalykų:
- kodėl prašymai kainuoja pinigus
- kodėl konteksto langai turi limitus
- kodėl kai kurios kalbos yra brangesnės nei kitos
- kodėl modeliai kartais elgiasi keistai
Tokenizacija yra labai pirmame dirbtinio intelekto kanalo etape, ir tyliai formuoja viską, kas vyksta po to.
Kas yra žetonas?
Žetonas yra mažiausia teksto dalis, su kuria dirba modelis.
Tai ne visada tas pats, kas žodis.
Pavyzdžiui:
| Tekstas | Galimas žetono suskaidymas |
|---|---|
| hello | hello |
| tokenizacija | token + izacija |
| neįtikėtinas | ne + įtik + tinas |
| 2026! | 202 + 6 +! |
Tai svarbu, nes modeliai skaičiuoja žetonus, o ne žodžius.
Gali pasirodyti, kad trumpas sakinys naudoja daugiau žetonų nei tikėtasi, ypač su neįprastais žodžiais, kodu, emoji ar neangliškomis kalbomis.
Kaip veikia tokenizacija
Aukštesniu lygiu tokenizacija seka paprastą kanalą.
1 žingsnis: Išskaidyti tekstą
Tokenizatorius išskaido žaliavinį tekstą į fragmentus pagal savo žodyno taisykles.
Šiuolaikiniai LLM dažniausiai remiasi subžodžių tokenizacija, o ne viso žodžio tokenizacija.
Tai suteikia jiems lankstumo tvarkyti:
- retus žodžius
- klaidas
- vardus
- daugiakalbį įvedimą
- kodą
2 žingsnis: Konvertuoti žetonus į ID
Kiekvienas žetonas atitinka numerį modelio žodyne.
Pavyzdys:
| Žetonas | Žetono ID |
|---|---|
| The | 791 |
| modelis | 4382 |
| veikia | 2921 |
Modelis niekada „nemato“ teksto tiesiogiai. Jis mato tik šias numerines reprezentacijas.
Tai yra tiltas tarp žmogaus kalbos ir neuroninės skaičiavimo.
3 žingsnis: Konvertuoti ID į vektorius
Po to, kai žetono ID yra sukurti, jie transformuojami į vektoriaus embeddings.
Šiuo metu prasideda prasmingumas.
Šiuo metu:
- panašūs žetonai gali užimti šalia esančias pozicijas vektorinėje erdvėje
- sąryšiai tarp konceptų tampa matuojami
- kontekstas pradeda būti svarbus
Tokenizacija patalpina duomenis į sistemą. Embeddings daro juos interpretuojamus.
Kodėl subžodžių tokenizacija tapo standartu
Senesnės NLP sistemos dažnai išskaidė tekstą pagal žodžius.
Tai veikė, kol susidūrė su žodžiais, kurių niekada nebuvo mačiusios.
Modernūs LLM paprastai naudoja tokius metodus kaip Byte Pair Encoding (BPE) arba panašias subžodžių strategijas.
BPE veikia nuolat sujungdamas dažnus simbolių modelius į itin naudojamus vienetus. Tai pagerina kompresiją ir žodyno efektyvumą.
Kodėl subžodžių modeliai yra geresni
| Metodas | Pagrindinė problema |
|---|---|
| Žodžių lygis | Per daug nežinomų žodžių |
| Simbolių lygis | Per lėtai, per ilgas |
| Subžodžių lygis | Geriausias lankstumo ir efektyvumo balansas |
Todėl dauguma šiuolaikinių modelių naudoja kažkokią subžodžių tokenizacijos versiją.
Kodėl tokenizacija paveikia kainą
Čia tokenizacija tampa praktiška.
Dauguma AI API kuro didinamos remiasi:
- įvesties žetonais
- išvesties žetonais
Tai reiškia, kad tokenizacija tiesiogiai paveikia kainą.
Pavyzdys:
| Įvesties tipas | Apytikslis žetono tankis |
|---|---|
| Paprastas anglų kalba | Žemas |
| Kodas | Vidutinis, aukštas |
| Teisinis tekstas | Aukštas |
| Kinų/Japonų | Dažnai aukštesnis |
| Emoji turtingas tekstas | Nustebtinai aukštas |
Du prašymai su tuo pačiu simbolių skaičiumi gali turėti labai skirtingą žetonų skaičių.
Tai yra viena iš labiausiai paplitusių paslėptų kaštų priežasčių gamyboje dirbtinio intelekto sistemose.
Kodėl tokenizacija paveikia modelio elgseną
Tokenizacija taip pat paaiškina daugelį „keistų“ modelių elgsenų.
Pavyzdys:
- kodėl modeliai sunkiai suskaičiuoja raides
- kodėl reti žodžiai elgiasi nenuspėjamai
- kodėl formatavimo pokyčiai gali paveikti išvestis
- kodėl prašymų tvarka turi reikšmės
Modelis negalvoja raidėmis ar gramatika taip, kaip žmonės. Jis prognozuoja žetonų sekas.
Šis skirtumas sukuria daug keistenybių, kurias pastebi vartotojai.
Bendruomenės diskusijose dažnai nurodoma, kad žetono struktūra yra viena iš priežasčių, kodėl modeliai nesugeba rašyti lygmeniu.
Žetonai tampa išvestimis
Kai įvestis yra tokenizuota:
- Žetonai patenka į transformatorių
- Modelis prognozuoja kitą žetoną
- Tas žetonas yra pridėtas
- Procesas kartojamas
Tai tęsiasi iki:
- kol pasirodo stop žetonas
- kol pasiekamas žetono limitas
- kol sistema nutraukia generavimą
Tai reiškia, kad AI generavimas iš esmės yra žetono po žetono prognozės ciklas, o ne sakinio lygio samprotavimas.
Galutinė išvada
Tokenizacija atrodo kaip mažas techninis detalė, tačiau ji formuoja beveik viską šiuolaikiniuose LLM sistemose.
Ji paveikia:
- kainą
- greitį
- konteksto ribas
- daugiakalbį našumą
- modelio elgseną
- išvesties kokybę
Jei kuriate su AI, supratimas apie tokenizaciją suteikia jums geresnę intuiciją, kodėl sistemos elgiasi taip, kaip jos elgiasi.
Prieš atsirandant embeddings, transformatoriams ar išvestims, yra žetonai.
Ir viskas prasideda čia.
Dėmesingas prašymų dizainas, žodyno pasirinkimai ir žetonų biudžeto planavimas padeda užtikrinti, kad jūsų žetono naudojimas ir žetono skaičius atitiktų jūsų kainos ir kokybės tikslus. Išmokėjimas yra mažiau netikėtų užbaigimų, mažesnės API išlaidos ir modeliai, kurie geriau supranta, kaip jūsų vartotojai rašo.




