Token (LLM) (HU)
Token (token) — a szöveg minimális egysége, amellyel a nagy nyelvi modellek (LLM) képesek dolgozni. Minden szöveg az LLM általi feldolgozás előtt tokenek sorozatává alakul át, amelyeket ezt követően a modell által elemzésre és feldolgozásra alkalmas numerikus reprezentációkká konvertálnak.
A használt tokenizálási stratégiától függően egy token lehet:
- Teljes szó (például: „ház")
- Szótő vagy szórész (például: „ház" a „házikó" szóban)
- Egyetlen karakter vagy írásjelzés (például: „,", „!")
A tokenek használata lehetővé teszi a nyelvi modellek számára, hogy hatékonyan tanulmányozzák és reprodukálják a szövegstruktúrákat, mintázatokat ismerjenek fel, valamint megértsék a szöveg szemantikáját és szintaxisát.
Tokenizálási folyamat
Tokenizálás (tokenization) — az a folyamat, amelynek során a forrásszöveget tokenekre bontják, majd azokat a modell számára érthető numerikus azonosítókká alakítják.
Ez a lépés kötelező és alapvető a nagy nyelvi modellek működéséhez. Segítségével az LLM képes:
- Szintaxis elemzésére — a szöveg szerkezetének és elemeinek (szavak és kifejezések) elrendezésének vizsgálatára;
- Szemantika kinyerésére — a szöveg mélyebb értelmének és az elemek közötti összefüggések feltárására.
Több fő tokenizálási módszert különböztetünk meg, köztük:
- Byte Pair Encoding (BPE): Egy algoritmus, amely iteratívan helyettesíti a leggyakoribb karakterpárokat új tokenekkel, lehetővé téve a ritka szavak és morfológiai variációk hatékony kezelését.
- WordPiece: A BERT modellekben alkalmazott módszer, amely a szavakat részegységekre bontja, elősegítve az ismeretlen szavak feldolgozását.
- SentencePiece: Olyan módszer, amely a szöveget karakterek sorozataként kezeli, és BPE- vagy Unigram-alapú modelleket alkalmaz a tokenizáláshoz.
A tokenizálási módszer megválasztása befolyásolja a modell teljesítményét, különböző nyelvek feldolgozási képességét és a tanítás hatékonyságát.
Speciális tokenek
Az alapvető tokeneken kívül a modellek speciális tokeneket is alkalmaznak a szöveg funkcionális elemeinek jelölésére, mint például:
[CLS](class) — a sorozat kezdetét jelölő token, amelyet gyakran szövegklasszifikációs feladatokhoz használnak;[SEP](separator) — a szöveg különböző részeit választja el (például kérdést és választ, mondatokat vagy bekezdéseket);[MASK]— speciális token annak a szónak a jelölésére, amelyet a modellnek meg kell jósolnia (BERT-ben és más masked-language modellekben használatos);[PAD](padding) — a szöveg hosszának kiegyenlítésére szolgál.
Ezek a speciális tokenek segítenek a modelleknek pontosabban értelmezni a feldolgozott szöveg szerkezetét és kontextusát.
Tokenek és a kontextusablak
Kontextusablak (context window) — a tokenek maximális száma, amelyet a modell egyszerre képes figyelembe venni és feldolgozni a szöveggenerálás során.
Például a GPT-3 modell kontextusablakának mérete 2048 token. Ez azt jelenti, hogy szöveglétrehozáskor a modell egyszerre legfeljebb 2048 token tartalmát veheti figyelembe. A kontextusablak mérete befolyásolja:
- A modell számára elérhető információ maximális mennyiségét;
- A generált válaszok minőségét és értelmességét;
- A modell képességét hosszú szövegek feldolgozására és a kontextus megőrzésére nagy tokentávolságok esetén.
Irodalom
- Sennrich, R.; Haddow, B.; Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units. arXiv:1508.07909.
- Kudo, T.; Richardson, J. (2018). SentencePiece: A Simple and Language-Independent Subword Tokenizer and Detokenizer for Neural Text Processing. arXiv:1808.06226.
- Kudo, T. (2018). Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. arXiv:1804.10959.
- Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Song, X. et al. (2021). Fast WordPiece Tokenization. *EMNLP 2021*. ACL Anthology.
- Mielke, S. J.; Dalmia, S.; Cotterell, R. (2021). A Brief History of Open-Vocabulary Modeling and Tokenization in NLP. arXiv:2112.10508.
- Xue, J. et al. (2022). ByT5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models. arXiv:2105.13626.
- Limisiewicz, T.; Balhar, J.; Mareček, D. (2023). Tokenization Impacts Multilingual Language Modeling: Assessing Vocabulary Allocation and Overlap Across Languages. arXiv:2305.17179.
- Pourmostafa Roshan Sharami, J.; Shterionov, D.; Spronck, P. (2023). A Systematic Analysis of Vocabulary and BPE Settings for Optimal Fine-tuning of NMT. arXiv:2303.00722.
- Batsuren, K. et al. (2024). Evaluating Subword Tokenization: Alien Subword Composition and OOV Generalization Challenge. arXiv:2404.13292.
- Chai, Y. et al. (2024). Tokenization Falling Short: On Subword Robustness in Large Language Models. arXiv:2406.11687.