Token (LLM) (HU)

From Systems analysis Wiki
Jump to navigation Jump to search

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.