Token (LLM) (CS)
Token (token) — minimální jednotka textu, se kterou jsou schopny pracovat velké jazykové modely (LLM). Jakýkoli text je před zpracováním LLM nejprve převeden na posloupnost tokenů, které jsou následně transformovány do číselných reprezentací vhodných pro analýzu a zpracování modelem.
V závislosti na použité strategii tokenizace může token představovat:
- Celé slovo (například „dům")
- Část slova nebo kořen (například „dům" ve slově „domek\")
- Jednotlivý znak nebo interpunkci (například „,", „!")
Použití tokenů umožňuje jazykovým modelům efektivně studovat a reprodukovat struktury textu, odhalovat zákonitosti a také chápat sémantiku a syntaxi textu.
Proces tokenizace
Tokenizace (tokenization) — je proces rozdělení zdrojového textu na tokeny s jejich následnou transformací do číselných identifikátorů srozumitelných pro model.
Tato fáze je povinná a zásadní pro fungování velkých jazykových modelů. Jejím prostřednictvím LLM získává možnost:
- Analyzovat syntaxi — strukturu textu a rozmístění prvků (slov a frází);
- Extrahovat sémantiku — hluboký smysl textu a vzájemné vztahy mezi prvky.
Rozeznáváme několik základních metod tokenizace, mezi nimiž jsou:
- Byte Pair Encoding (BPE): Algoritmus, který iterativně nahrazuje nejčastější páry znaků novými tokeny, což umožňuje efektivně zpracovávat vzácná slova a morfologické variace.
- WordPiece: Používá se v modelech BERT a rozděluje slova na subslovní jednotky, což pomáhá při zpracování neznámých slov.
- SentencePiece: Metoda, která pohlíží na text jako na posloupnost znaků a využívá modely založené na BPE nebo Unigram pro tokenizaci.
Výběr metody tokenizace ovlivňuje výkon modelu, jeho schopnost zpracovávat různé jazyky a efektivitu trénování.
Speciální tokeny
Kromě základních tokenů využívají modely také speciální tokeny k označení funkčních prvků textu, jako jsou:
[CLS](class) — token začátku posloupnosti, často používaný pro úlohy klasifikace textu;[SEP](separator) — odděluje různé části textu (například otázku a odpověď, věty nebo odstavce);[MASK]— speciální token pro označení slova, které má model předpovědět (používá se v BERT a jiných masked-language modelech);[PAD](padding) — používá se pro zarovnání textu podle délky.
Tyto speciální tokeny pomáhají modelům přesněji vnímat strukturu a kontext zpracovávaného textu.
Tokeny a kontextové okno
Kontextové okno (context window) — je maximální počet tokenů, které je model schopen současně zohledňovat a zpracovávat při generování textu.
Například model GPT-3 má kontextové okno o velikosti 2048 tokenů. To znamená, že při tvorbě textu může model současně zohledňovat informace obsažené v maximálně 2048 tokenech zdrojového textu. Velikost kontextového okna ovlivňuje:
- Maximální objem informací dostupných modelu;
- Kvalitu a smysluplnost generovaných odpovědí;
- Schopnost modelu vnímat dlouhé texty a udržovat kontext na velké vzdálenosti mezi tokeny.
Literatura
- 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.