Az OpenAI új GPT-4o modellje egy teljesen új tokenizáló algoritmust használ, ami hatékonyabban dolgozza fel a nem angol nyelvű szövegeket. A különbség a régi és az új tokenizáló között bizonyos nyelvek esetén akár 3-4-szeres is lehet, így nagyjából tizedére csökkentve a modell használatának a költségét a GPT-4-Turbohoz képest.

Megvizsgáltam, hogy magyar nyelv esetén mennyit javult a hatékonyság. Egymillió szóból álló magyar és angol nyelvű szövegeket dolgoztam fel mindkét tokenizálóval.

  • Magyar nyelv esetén a különbség nem olyan drasztikus: az új tokenizáló tömörítési aránya 1.163-szor kedvezőbb.
  • Az új modell relatív ára így kb. 58%-kal olcsóbb, mint az előzőé.
  • Angol nyelv esetén elenyésző a változás (1.009x), így közelebb került egymáshoz az angol és más nyelvek ára.
  • A magyar szöveg generálása még mindig közel kétszer annyiba kerül és kétszer lassabb, mint az angolé.
Magyar szövegAngol szöveg
Szavak1 002 1921 014 940
Karakterek7 014 9776 086 598
cl100k_base tokenek3 066 1211 402 529
o200k_base tokenek2 635 7711 389 685
Karakter/token (cl100k_base)2.294.34
Karakter/token (o200k_base)2.664.38
Token/szó (cl100k_base)3.061.38
Token/szó (o200k_base)2.631.37
Hatékonyság-növekedés1.161.01

Azt is megnéztem, hogy hány „magyar hangzású” tokent tartalmaznak a szótárak. Az listákból először kiszűrtem azokat az elemeket, amelyek nem magyar ábécébe tartozó karaktereket tartalmaztak, majd a FastText könyvtár segítségével kigyűjtöttem a magyar szótöredékeket (pl. ész, , ál, stb.). Az új, nagyobb szótárban nem csak számában, de arányaiban is jóval több ilyen token található:

  • A régi cl100k_base szótár összesen 100 ezer tokent tartalmaz, amiből 89 „magyar” – ez 0.089%-os előfordulást jelent.
  • Az új o200k_base szótárban 200 ezer tokenből 287 „magyar”, ami számában több mint háromszoros emelkedés, arányában pedig már 0.144% a teljes listához képest.

A „magyar nyelvű” tokenek listái itt elérhetőek:

Ez a változás a modell ára és sebessége mellett a teljesítményére is komoly hatással van. A tokenek a modell számára feldolgozható alapegységeket jelentik, és a megfelelő tokenizálással jobban megragadhatók a nyelv jellegzetességei, ami pontosabb szövegértést és -generálást eredményez.