Token (LLM) (NL)

From Systems analysis wiki
Jump to navigation Jump to search

Token (token) — de minimale teksteenheid waarmee grote taalmodellen (LLM) kunnen werken. Elke tekst wordt vóór verwerking door een LLM eerst omgezet in een reeks tokens, die vervolgens worden vertaald naar numerieke representaties die geschikt zijn voor analyse en verwerking door het model.

Afhankelijk van de gebruikte tokenisatiestrategie kan een token bestaan uit:

  • Een volledig woord (bijvoorbeeld "huis")
  • Een deel van een woord of een stam (bijvoorbeeld "huis" in "huisje")
  • Een enkel teken of leesteken (bijvoorbeeld ",", "!")

Het gebruik van tokens stelt taalmodellen in staat om tekststructuren effectief te leren en te reproduceren, patronen te herkennen en de semantiek en syntaxis van tekst te begrijpen.

Proces van tokenisatie

Tokenisatie (tokenization) — het proces waarbij de brontext wordt opgesplitst in tokens en deze vervolgens worden omgezet in numerieke identificatoren die het model begrijpt.

Deze stap is verplicht en fundamenteel voor het functioneren van grote taalmodellen. Hiermee krijgt een LLM de mogelijkheid om:

  • Syntaxis te analyseren — de structuur van de tekst en de rangschikking van elementen (woorden en zinsdelen);
  • Semantiek te extraheren — de diepere betekenis van de tekst en de relaties tussen elementen.

Er zijn verschillende belangrijke tokenisatiemethoden, waaronder:

  • Byte Pair Encoding (BPE): Een algoritme dat iteratief de meest voorkomende tekenparen vervangt door nieuwe tokens, waardoor zeldzame woorden en morfologische variaties efficiënt kunnen worden verwerkt.
  • WordPiece: Wordt gebruikt in BERT-modellen en splitst woorden op in subeenheden op woordniveau, wat helpt bij de verwerking van onbekende woorden.
  • SentencePiece: Een methode die tekst beschouwt als een reeks tekens en modellen op basis van BPE of Unigram toepast voor tokenisatie.

De keuze van de tokenisatiemethode beïnvloedt de prestaties van het model, zijn vermogen om verschillende talen te verwerken en de efficiëntie van het trainingsproces.

Speciale tokens

Naast de gewone tokens gebruiken modellen ook speciale tokens om functionele elementen van de tekst aan te duiden, zoals:

  • [CLS] (class) — een token dat het begin van een reeks aangeeft, vaak gebruikt voor tekstclassificatietaken;
  • [SEP] (separator) — scheidt verschillende tekstdelen (bijvoorbeeld vraag en antwoord, zinnen of alinea's);
  • [MASK] — een speciaal token om een woord aan te duiden dat het model moet voorspellen (gebruikt in BERT en andere masked-language modellen);
  • [PAD] (padding) — wordt gebruikt om tekst op een vaste lengte uit te vullen.

Deze speciale tokens helpen modellen de structuur en context van de verwerkte tekst nauwkeuriger te interpreteren.

Tokens en het contextvenster

Contextvenster (context window) — het maximale aantal tokens dat een model tegelijkertijd kan meenemen en verwerken bij het genereren van tekst.

Het model GPT-3 heeft bijvoorbeeld een contextvenster van 2048 tokens. Dit betekent dat het model bij het genereren van tekst tegelijkertijd informatie kan verwerken die maximaal 2048 tokens van de brontekst beslaat. De grootte van het contextvenster beïnvloedt:

  • De maximale hoeveelheid informatie die beschikbaar is voor het model;
  • De kwaliteit en coherentie van de gegenereerde antwoorden;
  • Het vermogen van het model om lange teksten te verwerken en de context over grote afstanden tussen tokens te bewaren.

Literatuur

  • 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.