Nyelvi modell nulláról · Lecke 07

A tokenizálás, a modellek mostohagyereke

A modellek nem karaktereket és nem szavakat látnak, hanem tokeneket. Itt születik a furcsaságaik fele.

Vissza a tananyaghoz


Miért nem karakter és miért nem szó

A karakterszintű modell mindent le tud írni, de a hosszú szövegen minden karakter egy lépés, és az ablak gyorsan elfogy. A szószintű modell tömör, de a szótára véges, és az ismeretlen szavaknál elakad. A gyakorlati válasz a kettő közötti résztokenes út, a gyakori darabok egyben, a ritkák darabokban.

A bevett módszer a bájtpáronkénti kódolás. A szöveg bájtokból indul, és a leggyakoribb szomszédos párokat lépésről lépésre összevonjuk, amíg a szótár a kívánt méretre nő. Karpathy külön videója ezt nulláról építi meg, a minbpe jegyzetfüzetben, a valódi, éles tokenizálók logikája szerint.


A furcsaságok forrása

1
A helyesírás vaksága. A modell nem betűket lát, ezért a betűzés, a visszafelé olvasás, a karakterszámolás neki idegen terep.
2
A nyelvek egyenlőtlensége. A magyar szöveg több tokenre esik szét, mint az angol, tehát ugyanaz a tartalom drágább és rövidebb ablakba fér.
3
A számok szeszélye. A számok tokenhatárai esetlegesek, és az aritmetikai botlások egy része innen ered.
4
A ritka token csapdája. A szinte sosem látott tokenek mögött tanulatlan viselkedés lapul, és furcsa kimeneteket okozhatnak.

Ami ebből a mindennapokra következik

A tokenizálás megértése nagyon gyakorlati tudás. A magyar nyelvű rendszereknél a költségbecslés és a kontextustervezés innen indul. A furcsa modellhibák egy részénél az első kérdés az, hogyan esett szét tokenekre a bemenet. És a saját, szűk feladatú modelleknél a szótár mérete tervezési döntés, aminek ára és haszna van.


Karpathy megfogalmazása találó. A tokenizálás körüli bosszúságok a mélytanulás előtti világból visszamaradt gépezet számlái, és a modellek sok híres gyengesége nem a hálóban, hanem itt keletkezik.


Források és további olvasnivaló

A tananyag Andrej Karpathy ingyenes Neural Networks: Zero to Hero videósorozatát követi, amelyben minden sor kód a szemünk előtt születik meg.