Keresés a 7Blogon

Bezárás: Esc · Keresés: Enter

Marketing trükkök

Hogy szólíthatunk?

Két mező, és már csak kettő van hátra. A leveleket névre szólóan küldjük.

1 / 3 lépésNév
Úgy vigyázunk az adataidra,
mint a sajátunkra: Adatkezelési szabályzat

Szótári bejegyzés

Token

CMO

Token (AI-kontextusban)

A token az a legkisebb szövegegység, amellyel egy nyelvi modell ténylegesen dolgozik. Nem betű és nem szó, hanem a kettő között elhelyezkedő darab: egy gyakori szó általában egy token, egy ritkább szó több darabra esik szét. A modellek tokenekben „gondolkodnak”, tokenekben mérik a kontextusablakot, és tokenalapon számlázzák az API-használatot.

Mi az a token?

Amikor beírsz egy mondatot egy AI-felületre, a modell nem betűkként és nem szavakként látja. Egy tokenizáló először feldarabolja a szöveget, majd minden darabot egy számazonosítóra cserél – innentől a modell kizárólag számsorozatokkal dolgozik.

A darabolás nem a nyelvtan mentén történik, hanem a gyakoriság mentén. A gyakran előforduló karaktersorozatok kapnak saját tokent, a ritkábbak több darabra esnek szét. Ezért lehet egy hétköznapi angol szó egyetlen token, míg egy szakkifejezés, egy magyar toldalékolt szóalak vagy egy tulajdonnév akár négy-öt.

A gyakorlatban ez három dolgot határoz meg: mennyibe kerül egy API-hívás, mennyi fér bele a kontextusablakba, és mennyi ideig tart a válasz. Angol szövegre az OpenAI dokumentációja szerint egy token nagyjából négy karakter, vagyis körülbelül 0,75 szó – de ez csak durva ökölszabály, és más nyelvekre nem érvényes.

A token története

A mai tokenizálás alapja egy adattömörítő algoritmus, amelynek eredetileg semmi köze nem volt a nyelvhez.

1994 – Philip Gage publikálta a byte pair encoding (BPE) eljárást a C Users Journalban, tisztán fájlméret-csökkentési célra. A logika elemi: keresd meg a leggyakoribb szomszédos bájtpárt, cseréld le egy addig nem használt bájtra, és ismételd. Érdekesség, hogy a szakirodalom szerint a nevet Gage alkotta meg, de vele egyenértékű algoritmusokat már korábban is alkalmaztak – 1975-ben nyelvi mintázatok felismerésére, 1984-ben pedig genetikai szekvenciák összetettségének mérésére.

2016 – Rico Sennrich, Barry Haddow és Alexandra Birch felismerte, hogy ugyanez az algoritmus a gépi fordítás egyik legnagyobb bajára, az ismeretlen szavak problémájára is megoldást jelenthet. Ha a modell szavak helyett szódarabokat tanul, akkor a soha nem látott szóalakokat is fel tudja építeni. A tömörítési algoritmus így lett – 22 évvel a megszületése után – nyelvi eszköz. A nyelvészeti haszon tehát nem egy tervezett funkció volt, hanem a tömörítési logika mellékterméke.

2019 – A GPT-2 bevezette a bájtszintű BPE-t: mivel a szótár alapja mind a 256 lehetséges bájt, a modell elvileg bármilyen szöveget képes ismeretlen karakter nélkül feldolgozni. Ez a megoldás él tovább a mai modellekben is, ez a mai ask engone-ek alapja.

Hogyan keletkeznek a tokenek?

A tokenizáló egy előre betanított szótárral dolgozik, amely tipikusan 50 000–200 000 elemet tartalmaz. (Összehasonlításképpen: angolul 3-4000 szóval a mindennapi beszédben el lehet boldogulni. Az Oxford Dictionary tartalmaz 117 ezer szót…) A szótár összeállítása a betanítási korpuszon történik, és utólag nem változik: a modell csak azokat a darabokat ismeri, amelyek a szótárában szerepelnek.

Néhány gyakorlati részlet:

  • A szóközök is számítanak. A „ marketing” (szóközzel) és a „marketing” két külön token.
  • A számok gyakran karakterenként vagy furcsa csoportokban esnek szét – ezért is bizonytalanok az alapmodellek a számolásban.
  • Az emojik, a ritka írásjelek és a kódrészletek aránytalanul sok tokent fogyasztanak.
  • A modell nem látja a betűket. Ezért nehéz neki megmondani, hány „r” betű van egy szóban: a szót egyben, tokenként kapja meg, nem betűnként.

Miért kerül több tokenbe a magyar szöveg?

A ma használt tokenizálók túlnyomórészt angol nyelvű szövegen tanultak, ezért az angol szavakra hatékonyak, minden más nyelvre kevésbé. A magyart két dolog is sújtja: az agglutináló szerkezet – a „lehetőségeinkről” típusú toldalékhalmozás ritka szóalakokat termel, amelyek nem férnek egy tokenbe. A másik problémakör a magyar szavakkal az ékezetes karakterek, amelyek a bájtszintű kódolásban két bájtot foglalnak el, így könnyen két tokenné esnek szét. Ez egy mért, dokumentált jelenség.

A NeurIPS 2023-on bemutatott, 17 tokenizálót összehasonlító oxfordi kutatás szerint ugyanaz a szöveg lefordítva akár 15-szörös tokenszámbeli különbséget is mutathat nyelvtől függően – és ez a különbség közvetlenül átfordul költségre, várakozási időre, valamint arra, mennyi tartalom fér a kontextusablakba. A kutatók interaktív eszközt is közzétettek, amelyben a magyar is kiválasztható, és összevethető az angol nyelvvel.

Konkrét magyar szorzót itt nem közlünk, mert az modellenként és szövegtípusonként eltér, így sok értelme amúgy sem lenne. A helyes gyakorlat az, hogy saját szövegeden méred meg, hogy mennyi tokent zabál fel: az OpenAI tokenizáló eszközével percek alatt összehasonlítható egy magyar és egy angol nyelvű változat. Egy nagy volumenű, magyar nyelvű AI-workflow költségtervénél ez bizony nem elhanyagolható tétel.

Mi nem token?

A token szó több szakterületen is teljesne mást jelent, és ez rendszeresen okoz félreértést is. Íme pár példa a token szó eltérő jelentésére:

Fogalom Mit jelent Hol találkozol vele
Token (AI) Szövegdarab, amellyel a nyelvi modell dolgozik LLM-ek, API-számlázás, kontextusablak
Design token Színek, betűméretek, térközök tárolt alapértéke Design systemek
API token / hozzáférési token Azonosításra szolgáló titkos karakterlánc Rendszerintegrációk, hitelesítés
Token (blockchain) Digitális eszköz vagy jogosultság Kriptovaluták

Amire a gyakorlatban figyelj

  • Az output drágább, mint az input. A legtöbb szolgáltatónál a generált tokenek díja többszöröse a beküldött tokenek költségének, ezért egy hosszú válasz többe kerül, mint egy hosszú prompt.
  • A gondolkodó modellek belső tokeneket is fogyasztanak. A „reasoning” lépések tokenjei jellemzően kimeneti tokenként számlázódnak – még akkor is, ha a végfelhasználó nem látja őket.
  • A kontextusablak tartalma összeszámítódik. Az input, a rendszerprompt, a csatolt dokumentumok és a válasz együtt kell hogy beleférjen.
  • Nem a szavak száma a valódi mérőszám. Egy 1000 szavas magyar szöveg lényegesen több tokent fogyaszt, mint ugyanennyi szó nagolul– aki szóban tervezi a büdzsét, szinte mindig alultervez.

Gyakran ismételt kérdések

Egy token az egy szó? Nem. Angol szövegben egy token átlagosan négy karakter, körülbelül háromnegyed szó. Magyarban jellemzően egy szó több tokenre esik szét.

Miért nem tudja megszámolni egy AI, hány betű van egy szóban? Mert nem betűket lát, hanem tokeneket. A szó egyben érkezik hozzá, a benne lévő karakterekhez közvetlenül nem fér hozzá.

Hogyan csökkenthetem a tokenköltségemet? Rövidebb rendszerpromptokkal, a fölösleges kontextus elhagyásával, a válaszhossz korlátozásával, és ahol az eredmény minősége engedi, kisebb modell választásával. Ismétlődő, változatlan kontextusnál érdemes megnézni, támogat-e a szolgáltató gyorsítótárazott tokeneket.

Ugyanannyi token minden modellnél? Nem. Minden modellcsalád saját tokenizálót és szótárat használ, ezért ugyanaz a szöveg modellenként eltérő tokenszámot ad.

Nyomd meg a CTRL + D billentyűkombinációt. Ha Mac-et használsz, akkor Command + D.