Tokenisierung (NLP)

From Systems analysis Wiki
Jump to navigation Jump to search

Tokenisierung ist im Kontext von großen Sprachmodellen (LLMs) ein fundamentaler Vorverarbeitungsschritt, bei dem eine Textsequenz in kleinere, handhabbare Einheiten, sogenannte Tokens, zerlegt wird. Diese Tokens werden anschließend in numerische Identifikatoren umgewandelt, die das Modell verarbeiten kann. Die Tokenisierung ist ein kritischer erster Schritt, da sie die Leistung, Effizienz, Fairness und die Qualität des Sprachverständnisses des Modells direkt beeinflusst.

Grundlagen

Token

Ein Token ist eine diskrete Texteinheit, die von einem Sprachmodell verarbeitet wird. Je nach gewähltem Tokenisierungsverfahren kann ein Token Folgendes darstellen:

  • Ein ganzes Wort (z. B. „Katze“).
  • Einen Teil eines Wortes oder ein Subword (z. B. „un-“, „-tersuch-“, „-ung“).
  • Ein einzelnes Zeichen (z. B. „a“, „b“, „c“).
  • Ein Byte (im Fall der Byte-Level-Tokenisierung).

Jedem einzigartigen Token wird eine spezifische Indexnummer aus dem Vokabular des Tokenizers zugewiesen.

Vokabular des Tokenizers

Das Vokabular ist der vollständige Satz aller möglichen Tokens, die ein Modell erkennen kann. Die Größe des Vokabulars ist ein wichtiger Hyperparameter:

  • Ein großes Vokabular ermöglicht es, mehr Wörter als Ganzes darzustellen, was das Verständnis verbessert und die Sequenzlänge verkürzt, aber die Modellgröße und die Komplexität des Trainings erhöht.
  • Ein kleines Vokabular ist kompakter, erfordert jedoch, dass seltene oder komplexe Wörter in eine größere Anzahl von Subwords zerlegt werden, was die Sequenzen verlängern und das Erfassen der Semantik erschweren kann.

Die Größe des Vokabulars variiert stark zwischen den Modellen: von ca. 50.000 Tokens in GPT-2 bis zu über 100.000 in modernen Modellen wie GPT-4 (100.277) und LLaMA-3 (128.000).

Wichtige Tokenisierungsverfahren

Es gibt drei Hauptgranularitätsebenen der Tokenisierung.

1. Wortbasierte Tokenisierung (Word-level)

  • Prinzip: Der Text wird anhand von Trennzeichen (Leerzeichen, Satzzeichen) in einzelne Wörter aufgeteilt.
  • Vorteile: Intuitiv verständlich; die Token-Sequenzen sind kürzer, was die Rechenlast reduziert.
  • Nachteile:
    • Problem unbekannter Wörter (Out-of-Vocabulary, OOV): Das Modell kann Wörter, die nicht im Trainingsvokabular enthalten waren, sowie Tippfehler und neue Wörter nicht verarbeiten.
    • Große Vokabulargröße: Es müssen alle einzigartigen Wörter gespeichert werden, was besonders bei morphologisch reichen Sprachen problematisch ist.

2. Zeichenbasierte Tokenisierung (Character-level)

  • Prinzip: Der Text wird in einzelne Zeichen zerlegt.
  • Vorteile:
    • Kein OOV-Problem: Jedes Wort kann als eine Sequenz von Zeichen dargestellt werden.
    • Kleines Vokabular: Beschränkt auf die Größe des Alphabets und der Sonderzeichen.
  • Nachteile:
    • Lange Sequenzen: Der Text wird in sehr lange Token-Sequenzen umgewandelt, was den Rechenaufwand erheblich erhöht.
    • Semantikverlust: Es ist für das Modell schwieriger, die Bedeutung zu erfassen, da es mit einzelnen Zeichen anstatt mit ganzen Wörtern operiert.

3. Subword-Tokenisierung

Dies ist ein hybrider und heute der beliebteste Ansatz, der die Vorteile der vorherigen Methoden kombiniert.

  • Prinzip: Häufig verwendete Wörter bleiben ganze Tokens, während seltene oder unbekannte Wörter in kleinere, bedeutungsvolle Teile (Subwords) zerlegt werden.
  • Vorteile:
    • Verarbeitet OOV-Wörter und morphologische Variationen effizient.
    • Kontrollierbare Vokabulargröße.
    • Erfasst die morphologische Struktur von Wörtern.
  • Wichtige Algorithmen:
    • Byte Pair Encoding (BPE): Ein iterativer Algorithmus, der mit einem Zeichensatz beginnt und schrittweise die am häufigsten vorkommenden Paare zu neuen Tokens zusammenführt. Wird in GPT-Modellen verwendet. Byte-level BPE, das in GPT-2 und RoBERTa zum Einsatz kommt, behandelt Wörter als Byte-Sequenzen, wodurch das OOV-Problem vollständig gelöst wird.
    • WordPiece: Ein Algorithmus ähnlich wie BPE, der jedoch zur Zusammenführung Paare auswählt, die die Wahrscheinlichkeit (Likelihood) der Trainingsdaten maximieren. Wird in BERT-Modellen verwendet.
    • Unigram LM: Im Gegensatz zu BPE/WordPiece beginnt diese Methode mit einem großen Satz von Subwords und reduziert diesen schrittweise, indem Tokens entfernt werden, die die Gesamtwahrscheinlichkeit des Korpus am wenigsten beeinflussen. Dies ermöglicht die Erstellung mehrerer wahrscheinlicher Tokenisierungen für ein einzelnes Wort (Subword-Regularisierung).
  • SentencePiece Toolkit: Eine Bibliothek von Google, die BPE und Unigram LM implementiert und Text als kontinuierlichen Zeichenstrom verarbeitet. Dies macht sie universell für Sprachen ohne explizite Worttrenner (z. B. Chinesisch) einsetzbar. Wird in LLaMA- und T5-Modellen verwendet.

Tokenisierung in multimodalen LLMs

In multimodalen Modellen, die nicht nur mit Text, sondern auch mit anderen Datentypen arbeiten, wird die Tokenisierung auch auf diese ausgedehnt:

  • Visuelle Tokenisierung: Bilder werden in kleine Patches (z. B. 16x16 Pixel) zerlegt, die dann analog zu Texttokens in Vektor-Tokens umgewandelt werden.
  • Audio-Tokenisierung: Kontinuierliche Audiosignale werden in eine Sequenz diskreter Tokens umgewandelt, die kurze Klangfragmente repräsentieren.
  • Einheitlicher Ansatz (TEAL): Ein Konzept, bei dem Daten jeder Modalität zunächst mit einem entsprechenden Tokenizer tokenisiert werden und ihre Embeddings anschließend in einem gemeinsamen, einheitlichen Raum verarbeitet werden.

Probleme und Einschränkungen

Trotz ihrer Bedeutung ist die Tokenisierung eine Quelle vieler Probleme beim Betrieb von LLMs:

  • Inkonsistenz und Sensitivität: Kleine Änderungen in den Eingabedaten (Tippfehler, Groß-/Kleinschreibung, ein Leerzeichen am Ende) können die Tokenisierung radikal verändern, was zu unvorhersehbarem Verhalten des Modells führt.
  • Mehrsprachige Probleme: Ein einziges Vokabular für viele Sprachen erweist sich oft als ineffizient für ressourcenarme oder morphologisch reiche Sprachen, was zu übermäßig langen Token-Sequenzen führt.
  • Einfluss auf das logische Denken: Eine unlogische Aufteilung von Zahlen (z. B. „25.000“ in „25“, „.“, „000“) oder Symbolen erschwert die Ausführung arithmetischer und symbolischer Aufgaben.
  • Glitch-Tokens: Anomale oder seltene Tokens aus den Trainingsdaten (z. B. Benutzernamen von Reddit), die unvorhersehbares oder schädliches Verhalten des Modells auslösen können.

Aktuelle Entwicklungen und zukünftige Richtungen

Die Forschung im Bereich der Tokenisierung wird aktiv in folgenden Richtungen vorangetrieben:

  • Tokenizer-freie Modelle: Entwicklung von Modellen (CANINE, ByT5), die direkt auf Byte- oder Zeichenebene arbeiten, um den expliziten Tokenisierungsschritt und die damit verbundenen Probleme vollständig zu eliminieren.
  • Adaptive und lernfähige Tokenisierung: Erstellung von Tokenizern, die sich dynamisch an die Sprache, die Domäne oder sogar an den spezifischen Eingabetext anpassen können oder gemeinsam mit dem Hauptmodell trainiert werden.
  • Kognitiv orientierte Ansätze: Entwicklung von Methoden, die von der Kognitionswissenschaft der menschlichen Sprachverarbeitung inspiriert sind (z. B. das „Prinzip des geringsten Aufwands“), um semantisch sinnvollere Tokenisierungen zu schaffen.

Literatur

  • Schuster, M.; Nakajima, K. (2012). Japanese and Korean Voice Search. PDF.
  • 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.
  • Song, X. et al. (2021). Fast WordPiece Tokenization. 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.
  • Clark, J. H. et al. (2022). CANINE: Pre-Training an Efficient Tokenization-Free Encoder for Language Representation. arXiv:2103.06874.
  • Limisiewicz, T.; Balhar, J.; Mareček, D. (2023). Tokenization Impacts Multilingual Language Modeling. 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.