Token (LLM) (SV)

From Systems analysis Wiki
Jump to navigation Jump to search

Token (token) — den minsta textenhet som stora språkmodeller (LLM) kan arbeta med. All text omvandlas innan bearbetning av en LLM till en sekvens av tokens, som sedan översätts till numeriska representationer lämpliga för analys och bearbetning av modellen.

Beroende på vilken tokeniseringsstrategi som används kan en token bestå av:

  • Ett helt ord (till exempel "hus")
  • En del av ett ord eller en rot (till exempel "hus" i "hussylla")
  • Ett enskilt tecken eller skiljetecken (till exempel ",", "!")

Användningen av tokens gör det möjligt för språkmodeller att effektivt studera och återskapa textstrukturer, identifiera mönster samt förstå textens semantik och syntax.

Tokeniseringsprocessen

Tokenisering (tokenization) — är processen att dela upp källtexten i tokens och sedan omvandla dem till numeriska identifierare som modellen förstår.

Detta steg är obligatoriskt och grundläggande för att stora språkmodeller ska fungera. Med hjälp av det får LLM möjlighet att:

  • Analysera syntax — textens struktur och placeringen av element (ord och fraser);
  • Extrahera semantik — textens djupare innebörd och sambanden mellan elementen.

Det finns flera huvudsakliga tokeniseringsmetoder, bland annat:

  • Byte Pair Encoding (BPE): En algoritm som iterativt ersätter de vanligaste teckenparen med nya tokens, vilket möjliggör effektiv hantering av ovanliga ord och morfologiska variationer.
  • WordPiece: Används i BERT-modeller och delar upp ord i delordenheter, vilket hjälper vid hantering av okända ord.
  • SentencePiece: En metod som behandlar text som en teckensekvens och tillämpar modeller baserade på BPE eller Unigram för tokenisering.

Valet av tokeniseringsmetod påverkar modellens prestanda, dess förmåga att hantera olika språk samt träningens effektivitet.

Speciella tokens

Utöver de grundläggande tokens använder modeller även speciella tokens för att markera funktionella textelement, såsom:

  • [CLS] (class) — en token som markerar sekvensens början, ofta använd för textklassificeringsuppgifter;
  • [SEP] (separator) — separerar olika delar av texten (till exempel fråga och svar, meningar eller stycken);
  • [MASK] — en speciell token för att markera ett ord som modellen ska förutsäga (används i BERT och andra masked-language-modeller);
  • [PAD] (padding) — används för att justera textens längd.

Dessa speciella tokens hjälper modeller att mer exakt uppfatta struktur och kontext i den bearbetade texten.

Tokens och kontextfönster

Kontextfönster (context window) — är det maximala antalet tokens som modellen kan ta hänsyn till och bearbeta samtidigt vid textgenerering.

Exempelvis har modellen GPT-3 ett kontextfönster på 2048 tokens. Det innebär att modellen vid textgenerering samtidigt kan ta hänsyn till information som ryms i maximalt 2048 tokens av källtexten. Kontextfönstrets storlek påverkar:

  • Den maximala mängd information som är tillgänglig för modellen;
  • Kvaliteten och meningsfullheten hos de genererade svaren;
  • Modellens förmåga att hantera långa texter och bevara kontexten över stora avstånd mellan tokens.

Litteratur

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