Tokenisierung

Bevor ein Sprachmodell einen Text verarbeiten kann, wird dieser in kleinere Einheiten zerlegt. Diesen Zerlegungsvorgang nennt man Tokenisierung. Die resultierenden Einheiten heißen Tokens.

Ein Sprachmodell arbeitet nicht mit Buchstaben oder Wörtern, sondern mit Tokens. Tokenisierung ist der Prozess, der Rohtext in eine Sequenz solcher Tokens umwandelt. Das Werkzeug, das diesen Prozess ausführt, heißt Tokenizer. Die Qualität der Tokenisierung beeinflusst direkt, wie gut ein Modell Sprache darstellen, verarbeiten und erzeugen kann.

Vom Text zur Zahlenfolge

Ein Sprachmodell verarbeitet keine Zeichenketten. Es verarbeitet numerische Vektoren. Zwischen dem Rohtext und diesen Vektoren liegt die Tokenisierung als Zwischenschritt: Der Text wird in Tokens zerlegt, jedes Token erhält eine eindeutige numerische ID, und diese ID wird anschließend in einen Vektor überführt (das sogenannte Embedding).

Beispiel: Der Satz "Die Katze sitzt auf der Matte" wird je nach Tokenizer in sechs bis acht Tokens zerlegt. Jedes Token erhält eine ID aus dem Vokabular, etwa [1826, 41052, 25187, 394, 765, 27438]. Diese IDs sind der tatsächliche Input für das Modell.

Beispiel: Das englische Wort "unhappiness" wird von einem typischen BPE-Tokenizer in drei Tokens zerlegt: "un", "happi", "ness". Jedes dieser Teilstücke trägt eine eigene Bedeutungskomponente, die das Modell separat verarbeitet.

Zerlegung unterhalb der Wortebene

Frühe Ansätze arbeiteten mit ganzen Wörtern als Tokens. Das erzeugt ein riesiges Vokabular und scheitert an unbekannten Wörtern. Zeichenbasierte Verfahren lösen das Problem, erzeugen aber extrem lange Sequenzen. Der heute vorherrschende Ansatz liegt dazwischen: Subword-Tokenisierung. Sie zerlegt häufige Wörter nicht, zerlegt seltene Wörter aber in bekannte Teilstücke.

Beispiel: Das Wort "Dampfschifffahrtsgesellschaft" wird in Subword-Tokens wie "Dampf", "schiff", "fahrt", "s", "gesellschaft" zerlegt. Jedes Teilstück ist dem Modell aus dem Training bekannt, obwohl das Kompositum selbst selten vorkommt.

Beispiel: In einem englisch trainierten Tokenizer bleibt "the" als ein Token erhalten. Das seltenere Wort "counterintuitive" wird in "counter", "int", "u", "itive" zerlegt. Die Häufigkeit im Trainingskorpus bestimmt, ob ein Wort ganz bleibt oder aufgeteilt wird.

Fachliche Einordnung: Die Subword-Tokenisierung stellt einen Kompromiss zwischen Vokabulargröße und Sequenzlänge dar. Ein typisches Vokabular umfasst 30.000 bis 100.000 Einträge. Kleinere Vokabulare erzeugen längere Sequenzen, größere erhöhen den Speicherbedarf der Embedding-Matrix proportional.

Verbreitete Algorithmen

Drei Verfahren dominieren die aktuelle Praxis:

Byte-Pair Encoding (BPE) startet mit einzelnen Bytes oder Zeichen als initiales Vokabular. In jedem Schritt wird das häufigste Zeichenpaar im Trainingskorpus zu einem neuen Token verschmolzen. Dieser Vorgang wiederholt sich, bis die gewünschte Vokabulargröße erreicht ist. GPT-Modelle und viele andere Systeme verwenden BPE.

Beispiel: Im Trainingskorpus kommt die Zeichenfolge "th" besonders häufig vor. BPE verschmilzt "t" und "h" zu einem neuen Token "th". Im nächsten Schritt wird "th" mit "e" zu "the" verschmolzen, weil auch dieses Paar häufig auftritt.

WordPiece verfolgt einen ähnlichen Ansatz, nutzt aber ein anderes Auswahlkriterium. Statt reiner Paarhäufigkeit maximiert WordPiece die Likelihood des Trainingskorpus. Dieses Verfahren kommt bei BERT zum Einsatz.

SentencePiece arbeitet direkt auf dem Rohtextstrom, ohne vorherige Worttrennung durch Leerzeichen. Das macht es geeignet für Sprachen wie Japanisch, Chinesisch oder Thai, in denen Wörter nicht durch Leerzeichen getrennt sind.

Beispiel: Der japanische Text "東京は日本の首都です" enthält keine Leerzeichen. Ein wortbasierter Tokenizer wüsste nicht, wo ein Wort endet und das nächste beginnt. SentencePiece behandelt den gesamten Text als Zeichenstrom und lernt die Segmentierung aus den Daten.

Auswirkungen auf verschiedene Sprachen

Ein Tokenizer wird auf einem bestimmten Trainingskorpus trainiert. Die Zusammensetzung dieses Korpus bestimmt, welche Sprachen effizient tokenisiert werden. Sprachen, die im Training unterrepräsentiert sind, erfordern mehr Tokens für denselben Inhalt.

Beispiel: Der englische Satz "The weather is nice today" ergibt bei GPT-4 fünf Tokens. Die deutsche Übersetzung "Das Wetter ist heute schön" ergibt sechs bis sieben Tokens. Die türkische Übersetzung "Hava bugün güzel" kann neun oder mehr Tokens erzeugen, weil Türkisch im Trainingskorpus seltener vertreten war.

Beispiel: Das deutsche Wort "Unabhängigkeitserklärung" wird von einem englisch trainierten Tokenizer in fünf bis acht Subword-Tokens zerlegt. Ein multilingual trainierter Tokenizer benötigt dafür oft nur zwei bis drei Tokens, weil deutsche Morpheme in seinem Vokabular enthalten sind.

Diese Unterschiede wirken sich direkt auf Kosten und Leistung aus. Mehr Tokens pro Text bedeuten höhere API-Kosten (die nach Token-Anzahl abgerechnet werden), längere Verarbeitungszeiten und schnellere Erschöpfung des Kontextfensters.

Tokenisierung in der Verarbeitungskette

RohtextZeichenkette
TokenizerText → Token-IDs
VokabularToken ↔ ID
Token-IDsNumerische Sequenz
EmbeddingID → Vektor

Die Tokenisierung steht am Anfang jeder Sprachverarbeitung. Erst werden Zeichen zu Tokens, dann Tokens zu IDs, dann IDs zu Embedding-Vektoren. Diese Vektoren durchlaufen anschließend die Schichten des Transformer-Modells. Am Ende wird die Ausgabe des Modells zurück in Tokens und dann in lesbaren Text dekodiert.

Beispiel: Ein Prompt mit 200 Wörtern ergibt je nach Sprache und Tokenizer zwischen 250 und 400 Tokens. Diese Tokens belegen Platz im Kontextfenster. Ein Modell mit einem Kontextfenster von 8.192 Tokens kann also etwa 20 bis 30 Seiten englischen Text auf einmal verarbeiten.

Praktische Auswirkungen

Die Tokenisierung bestimmt mehrere Eigenschaften, die in der Praxis relevant sind:

Kosten. API-Anbieter rechnen nach Token-Anzahl ab. Ein Text, der 1.000 Tokens erzeugt, kostet doppelt so viel wie einer mit 500 Tokens. Die Wahl der Sprache, die Komplexität des Textes und der verwendete Tokenizer beeinflussen die Kosten direkt.

Beispiel: Ein Unternehmen übersetzt seine englische Dokumentation ins Deutsche. Die deutsche Version erzeugt 30 Prozent mehr Tokens als das englische Original. Bei monatlich 100 Millionen verarbeiteten Tokens ergibt sich ein messbarer Kostenmehraufwand allein durch die Tokenisierung.

Kontextnutzung. Jedes Modell hat ein begrenztes Kontextfenster. Ineffiziente Tokenisierung verbraucht mehr Platz in diesem Fenster. Das begrenzt die Menge an Kontext, die dem Modell für eine Aufgabe zur Verfügung steht.

Genauigkeit bei Fachsprache. Fachbegriffe, Abkürzungen und Neologismen sind im Trainingskorpus des Tokenizers selten vertreten. Sie werden in viele kleine Tokens zerlegt, was die Repräsentationsqualität mindert.

Beispiel: Der medizinische Fachbegriff "Elektroenzephalographie" wird in sieben bis neun Subword-Tokens zerlegt. Das Modell sieht keine einzelne Einheit, sondern eine Kette von Fragmenten. Die semantische Zuordnung zum Konzept "EEG" muss das Modell aus dem Kontext ableiten.

Sonderzeichen, Code und strukturierte Formate

Tokenisierung betrifft nicht nur natürlichsprachlichen Text. Programmcode, mathematische Notation und strukturierte Formate wie JSON oder XML werden ebenfalls tokenisiert. Die Ergebnisse weichen dabei erheblich von natürlicher Sprache ab.

Beispiel: Die Python-Zeile for i in range(100): wird in etwa fünf bis acht Tokens zerlegt. Einrückungen (vier Leerzeichen oder ein Tab) erzeugen eigene Tokens. Ein stark verschachtelter Codeblock verbraucht allein durch Einrückungen viele Tokens, ohne inhaltliche Information zu tragen.

Beispiel: Ein JSON-Objekt mit zehn Schlüssel-Wert-Paaren erzeugt typischerweise 40 bis 60 Tokens. Die geschweiften Klammern, Doppelpunkte und Anführungszeichen sind jeweils eigene Tokens. Kompakte Formate wie CSV erzeugen für denselben Inhalt deutlich weniger Tokens.

Grenzen und offene Probleme

Die aktuelle Tokenisierung hat systematische Grenzen, die sich nicht allein durch größere Vokabulare lösen lassen.

Zeichenebene. Tokenizer arbeiten oberhalb der Zeichenebene. Aufgaben, die einzelne Buchstaben betreffen (etwa: "Wie viele Buchstaben hat das Wort 'Erdbeere'?"), sind für tokenbasierte Modelle schwierig, weil sie das Wort als ein oder zwei Tokens sehen und die einzelnen Buchstaben nicht zählen können.

Arithmetik. Zahlen werden tokenisiert wie Text. Die Zahl "12345" kann als ein Token, zwei Tokens ("123", "45") oder fünf einzelne Ziffern-Tokens dargestellt werden. Dieses inkonsistente Tokenisierungsverhalten erschwert arithmetische Berechnungen.

Beispiel: Die Frage "Was ergibt 1729 plus 3847?" wird so tokenisiert, dass die Zifferngruppen je nach Tokenizer unterschiedlich aufgeteilt werden. "1729" bleibt in manchen Tokenizern ein Token, in anderen wird es zu "17" und "29". Das Modell sieht unterschiedliche Eingaben für dieselbe Zahl.

Mehrsprachigkeit. Kein einzelner Tokenizer ist für alle Sprachen gleich effizient. Sprachen mit komplexer Morphologie (wie Finnisch oder Türkisch) oder nicht-lateinischen Schriftsystemen (wie Arabisch oder Koreanisch) werden systematisch ineffizienter tokenisiert. Das erhöht Kosten und verringert die nutzbare Kontextlänge.

Statisches Vokabular. Das Vokabular eines Tokenizers wird beim Training festgelegt und ändert sich danach nicht. Neue Begriffe, die nach dem Training entstehen (etwa Markennamen, wissenschaftliche Neologismen oder Slang), werden in suboptimale Subword-Zerlegungen gezwungen.

Fachliche Einordnung: Aktuelle Forschungsansätze arbeiten an dynamischer Tokenisierung und byte-level Modellen, die ohne festes Vokabular auskommen. Projekte wie MegaByte und ByT5 verarbeiten direkt Byte-Sequenzen. Die Ergebnisse sind vielversprechend, aber die Inferenzgeschwindigkeit liegt noch unter der von Subword-Systemen. Die Abloesung fester Vokabulare ist ein aktives Forschungsfeld.


Karl Kratz · 04.11.2025 (aktualisiert 03.04.2026)

Technologie Künstliche Intelligenz Sprachmodelle