Miből áll a bemenet
Egy nyelvi modell bemenete szöveg, a modell belseje viszont csak számokkal dolgozik. Két lépésre van szükség, hogy a kettő találkozzon. Az első a tokenizálás, amely a szöveget kisebb egységekre, tokenekre bontja. A második a beágyazás, amely minden tokenhez egy számvektort rendel. A transzformer ezután már ezekkel a vektorokkal számol, nem magukkal a betűkkel. Ez a lépés minden későbbi mechanizmus közös kiindulópontja, ezért érdemes lassan végigmenni rajta.
Mi az a token
A token a szöveg legkisebb egysége, amellyel a modell dolgozik. Nem feltétlenül egész szó. A gyakorlatban gyakran szórészek, úgynevezett részszavak (subword) a tokenek, így egy ritka vagy összetett szó több darabra bomlik, egy gyakori szó pedig lehet egyetlen token. Ennek a megoldásnak az az előnye, hogy a modell véges, kezelhető méretű szótárból dolgozik, mégis képes bármilyen szót összerakni a darabokból. Minden tokenhez tartozik egy azonosító szám a szótárban, és ez az azonosító a beágyazás bemenete.
- SzövegA modell megkapja a nyers szöveget karakterek sorozataként.
- Tokenekre bontásA tokenizáló a szöveget ismert egységekre, tokenekre vágja a szótár alapján.
- AzonosítókMinden token megkapja a szótárbeli azonosító számát.
- BeágyazásAz azonosítóhoz tartozó vektor lesz a token számszerű jelentése.
A beágyazás és a d_model dimenzió
A beágyazás (embedding) egy tanult táblázat. Minden tokenazonosítóhoz tartozik benne egy fix hosszúságú számvektor. Ez a vektor a token jelentésének sűrű, számszerű megjelenítése. A vektor hossza egy fontos szám a transzformerben, ez a d_model. Az Attention Is All You Need tanulmány alapmodelljében a d_model értéke 512, tehát minden tokent egy 512 elemű vektor ír le. Ez a dimenzió végigkíséri a teljes hálót. A modell minden rétege ilyen hosszú vektorokat vesz és ad tovább, ezért a d_model a transzformer egyik központi mérete.
Ami hiányzik. A sorrend
A beágyazás megadja, mit jelent egy token, de nem mondja meg, hányadik helyen áll a mondatban. A figyelem mechanizmus önmagában nem érzékeli a sorrendet, minden pozíciót egyformán kezel. Emiatt a beágyazás vektorokhoz külön hozzá kell adni a helyzet információját, ezt hívjuk pozíciókódolásnak (positional encoding). Erre a 06. leckében térünk vissza részletesen. Most elég annyit rögzíteni, hogy a bemenet a token jelentéséből és a token helyzetéből együtt áll össze, mielőtt belép a figyelem mechanizmusba.
Ennyi szám ír le egy tokent az alapmodellben. A d_model dimenzió a tanulmány alapmodelljében 512. Ez a hossz nem véletlen, hanem tervezési döntés, és a teljes hálón végigvonul. Minden réteg 512 elemű vektorokat vesz be és ad ki, így a mechanizmusok egymásra fűzhetők.
Workshop
AI Transformation Day
Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, prioritizált cselekvési lista.
Érdekel a program →