Mi az a token?
Röviden: az alapegység, amelyet az AI a szöveg olvasásához, megértéséhez és írásához használ.
Talán észrevette már, hogy az AI-szolgáltatások „tokenekről” beszélnek: token-limit, token-költség, kontextusablak tokenekben… A szó mindenhol felbukkan, de ritkán magyarázzák el érthetően.
Megérteni, mi az a token, annyit jelent, mint megérteni, hogyan érzékeli a szöveget egy nyelvi modell — és miért viselkedik néha meglepő módon. Nem kell informatikusnak lenni, mivel egy jó metafora is elegendő.
A kiindulópontul szolgáló probléma: az AI sem betűket, sem szavakat nem olvas
Amikor elolvasunk egy mondatot, az agy természetes módon szavakra, szócsoportokra és gondolatokra bontja a szöveget. Ez egy intuitív folyamat, gyermekkorunk óta tanult.
Egy nyelvi modell ezt nem tudja közvetlenül megcsinálni. Csak számokat ért — mindent számokká kell alakítani, mielőtt belép a modellbe. A kérdés tehát: hogyan lehet a szöveget a lehető leghatékonyabban számokká konvertálni?
Alapvetően két megközelítés adódik:
- Betűnként — egyszerű, de nem hatékony. A „köszönöm” szó 8 különálló egységgé válik, köztük semmilyen összefüggéssel. A modellnek meg kellene tanulnia, hogy k-ö-s-z-ö-n-ö-m egy egészet alkot.
- Szavanként — logikusabb, de problematikus. Bármelyik nyelvben rengeteg különböző szó létezik, nem számolva a ragozott alakokat, a többes számokat, a tulajdonneveket, az idegen szavakat… A szótár kezelhetetlenné válik.
A modern LLM-ek által alkalmazott megoldás egy elegáns kompromisszum: a tokenek. Változó méretű szövegdarabok — nagyobbak egy betűnél, de általában kisebbek egy egész szónál.
Egy token a gyakorlatban
A token egy szövegdarab, amelyet a modell megtanult egységként felismerni. Ez a darab lehet:
- Egy teljes, közönséges szó: „ház”, „szerződés”, „ügyfél”
- Egy szórész: a „-ség” végződés a „felelősség”, „kötelezettség”, „lehetőség” szavakban
- Egy szó az írásjelével együtt: „ez:”, „pl.”, „stb.”
- Egy szóköz és egy szó együtt: „ hello” (az előtte lévő szóközzel)
- Egyetlen karakter ritka szimbólumokhoz: „§”, „€”, „²”
A gyakorlatban egy token átlagosan 3–5 karaktert jelent — körülbelül 0,75 szót. Másképpen fogalmazva: 100 token nagyjából 75 szónak felel meg, vagyis egy rövid bekezdésnek.
Konkrét példa: „A bérleti szerződés december 31-én lejár.” mondatot valahogy így bontja fel a rendszer: [A] [bérleti] [szerz] [ődés] [december] [31] [-én] [lejár] [.] — körülbelül 9 token. De a „felmondás” szót esetleg [felmond] [ás]-ra bonthatja — 2 token —, mert a modell nem tanulta meg elég gyakori egységként.
Hogyan dől el ez a felosztás?
A tokenizer betanítása
Még mielőtt egy nyelvi modellt betanítanak, a készítői megépítenek egy tokenizert — egy felosztó eszközt — hatalmas szövegmennyiség elemzésével. Az algoritmus a leggyakoribb és leghasznosabb karaktersorozatokat keresi, és mindegyikhez egyedi számot rendel.
Az eredmény egy rögzített tokenszótár, jellemzően 30 000 és 100 000 bejegyzés között. Minden tokennek megvan a maga száma. Amikor mondatot küldünk a modellnek, a tokenizer ezeknek a számoknak a listájává alakítja — és valójában ezt a számlistát dolgozza fel a modell.
Miért kerülnek többe tokenben egyes szavak?
Az olyan szavak, amelyek nagyon gyakoriak abban a nyelvben, amelyen a modellt betanították, általában egész tokenek. A ritka, technikai, idegen vagy nagyon hosszú szavak sokszor több tokenre bomlanak.
Ennek gyakorlati következményei vannak:
- Egy technikai szakszavakban gazdag jogi szöveg több tokent fogyaszt, mint egy azonos hosszúságú társalgási szöveg.
- Az elsősorban angolra betanított modellek a magyart kevésbé hatékonyan tokenizálják — egy magyar szó több tokent igényelhet, mint az angol megfelelője.
- A tulajdonnevek, mozaikszók és kitalált szavak sokszor szokatlan darabokra bomlanak, ami megnehezítheti a modell általi feldolgozásukat.
A kontextusablak: a modell azonnali memóriája
Minden nyelvi modellnek van egy korlátja arra vonatkozóan, hány tokent tud egyszerre feldolgozni. Ezt hívják kontextusablaknak.
Ez az ablak mindent tartalmaz: a kérdéseket, a beszélgetés előzményét, az előzőleg megadott dokumentumokat és a létrehozott válaszokat. Ha ezt a korlátot eléri, a modell nem „látja” tovább, ami azon kívül esik.
Néhány jellemző nagyságrend:
- 4 096 tokenes ablakkal rendelkező modell körülbelül 3 000 szót tud feldolgozni — azaz néhány dokumentumoldalt.
- 32 000 tokenes ablak körülbelül 25 000 szónak felel meg — azaz egy hosszú jelentésnek vagy párbeszédsorozatnak.
- A legújabb modellek 128 000 tokent vagy még többet érnek el — ez már egy teljes regény terjedelmét jelenti.
Ezért az ArkeoAI-hoz hasonló rendszerekben a dokumentumokat nem küldik egyszerre a modellnek. Csak a legrelevánsabb részletek — amelyeket az úgynevezett RAG rendszer azonosít — kerülnek továbbításra, hogy ne tömítsék el a kontextusablakot felesleges szöveggel.
Tokenek és számlázás: miért számít?
Az online AI-szolgáltatásoknál (ChatGPT, Claude API-n keresztül stb.) a költséget tokenenkénti alapon számítják. Minden beviteli token (a kérdés + a csatolt dokumentumok) és minden kimeneti token (a generált válasz és a dokumentumok) összegződik és kiszámlázásra kerül (vagy a gyakorlatban inkább levonásra az előre megvásárolt keretből).
Professzionális környezetben, nagy volumennel — naponta több tucat konzultáció hosszú dokumentumokon — ez a számlálás gazdaságilag is számottevővé válik. Egy 50 oldalas dokumentum csak bemenetként 30 000–50 000 tokent képviselhet.
Ez az ArkeoAI-hoz hasonló helyi megoldás egyik konkrét előnye: nincs tokenenkénti számlázás. A modell a saját hardvereden fut, minden egyes kommunikáció során ketyegő számláló nélkül.
Összefoglalás
A token a szövegészlelés alapegysége egy nyelvi modell számára — nem betű, de nem feltétlenül egész szó sem, hanem egy szövegdarab, amelyhez egy szám tartozik a modell szótárában.
Mindent, amit az AI-nak írunk, először tokenek sorozatává lesz alakítva. Mindent, amit az AI válaszol, tokenről tokenre generálják — szó szerint, a modell minden lépésnél a legvalószínűbb következő tokent „választja”, egészen a válasz végéig.
A tokenek megértése az LLM valódi korlátainak megértése: nem mondatokban gondolkodik, hanem töredéksorozatok valószínűségeit számítja. Ez már önmagában is figyelemre méltó — feltéve, hogy tudjuk, hogyan kell megszólítani.
