Tokenization
Tokenisierung zerlegt Text, Bilder oder Audio in Tokens, die ein Modell auf Einbettungen abbildet. Behandelt werden BPE und andere Teilwortverfahren, Bildausschnitte und die Kosten von Tokens.
Tokenisierung ist der Schritt, bei dem eine rohe Eingabe in eine Folge von Tokens umgewandelt wird – die diskreten Einheiten, die ein Modell verarbeitet. Jedes Token erhält dabei eine ganzzahlige ID aus einem festgelegten Wortschatz. Ein Text-Tokenizer wandelt „The bus stopped.“ in vier IDs um. Das Modell sucht für jede ID einen Embedding-Vektor nach. Der Tokenizer bestimmt also, was ein großes Sprachmodell (LLM) als einzelne Einheit behandelt. Tokens sind außerdem die Einheiten des Kontextfensters eines Modells, der Inferenzlatenz bei der Textgenerierung und der API-Abrechnung. Dasselbe Prinzip gilt über Text hinaus: Ein Vision Transformer (ViT) zerlegt ein Bild in Patches, und Sprachmodelle teilen Audio in kurze Frames auf.
So funktioniert die Tokenisierung in Unterworteinheiten#
Frühe Verfahren der Verarbeitung natürlicher Sprache (NLP) teilten Text an Leerzeichen und Satzzeichen auf. Dadurch blieben seltene und neue Wörter außerhalb des Wortschatzes, während die Tokenisierung auf Zeichenebene sehr lange Sequenzen erzeugte. Moderne Transformer verwenden Tokenizer für Unterworteinheiten, die häufige Wörter vollständig beibehalten und seltene in wiederverwendbare Teile zerlegen. Byte-Pair-Encoding (BPE), das Sennrich et al. 2015 für die maschinelle Übersetzung anpassten, lernt den Wortschatz anhand eines Trainingskorpus: Es beginnt mit einzelnen Zeichen oder Bytes und führt wiederholt das häufigste benachbarte Paar zu einem neuen Token zusammen, bis der Wortschatz die vorgegebene Größe erreicht. Beim Codieren neuer Texte werden die erlernten Zusammenführungen der Reihe nach wiederholt.
Byte-basiertes BPE, das seit GPT-2 verwendet wird, beginnt mit den 256 möglichen Bytewerten. So lässt sich jede Zeichenfolge, jedes Emoji und jede Quelldatei ohne unbekanntes Token codieren. Andere Algorithmen wählen ihre Teile anders aus. WordPiece, das von BERT verwendet wird, führt das Paar zusammen, das die Wahrscheinlichkeit der Trainingsdaten am stärksten erhöht. Das Unigram-Verfahren in Googles SentencePiece-Bibliothek beginnt mit einem großen Kandidatenwortschatz und reduziert ihn. Dabei wird das Leerzeichen als gewöhnliches Symbol behandelt, sodass ein Tokenizer Sprachen ohne Leerzeichen verarbeiten kann. Die Wortschätze sind im Lauf der Zeit gewachsen: BERT verwendet 30.522 Tokens, GPT-2 und GPT-3 verwenden 50.257, Llama 3 verwendet 128.256 und OpenAIs o200k_base etwa 200.000. OpenAIs tiktoken-Bibliothek vergleicht den ältesten und den neuesten dieser Wortschätze:
import tiktoken
# Byte-level BPE vocabularies from GPT-2 (2019) and GPT-4o (2024)
for name in ["gpt2", "o200k_base"]:
encoding = tiktoken.get_encoding(name)
print(f"{name}: {encoding.n_vocab:,} tokens in the vocabulary")
for text in ["Ultralytics YOLO26 detects buses.", "バスが止まった。"]:
ids = encoding.encode(text)
# Decode each ID on its own to see where the tokenizer split the text
pieces = [encoding.decode([i]) for i in ids]
print(f" {len(ids)} tokens: {pieces}")Der Wortschatz von GPT-2 benötigt für den englischen Satz 11 Tokens. Dabei wird „Ultralytics“ in Ult, ral, y und tics zerlegt. o200k_base benötigt dagegen 9 Tokens. Für den japanischen Satz „the bus stopped“ benötigt GPT-2 9 Tokens und zerlegt das Zeichen 止 in zwei bytebasierte Tokens. Jedes wird für sich als Ersatzzeichen � decodiert; o200k_base benötigt dagegen 7 Tokens.
Tokenisierung im Vergleich zu verwandten Begriffen#
- Token: Die Einheit, die bei der Tokenisierung entsteht, etwa ein Wort, ein Unterwort, ein Byte, ein Bild-Patch oder ein Audio-Frame.
- Embeddings: Die erlernten Vektoren, die ein Modell für jede Token-ID nachschlägt. Sie werden gemeinsam mit dem restlichen Netzwerk anhand eines Wortschatzes trainiert, den der Tokenizer zuvor festgelegt hat.
- Wortsegmentierung in der klassischen NLP: Bibliotheken wie spaCy und NLTK zerlegen Text zum Parsen und Taggen in Wörter und Satzzeichen. Für die linguistische Analyse folgen darauf häufig Stemming oder Lemmatisierung.
- Tokenisierung bei der Datensicherheit: Im Zahlungsverkehr und beim Datenschutz ersetzt die Tokenisierung einen vertraulichen Wert, etwa eine Kartennummer, durch einen zufälligen Ersatzwert, der in einem geschützten Tresor gespeichert wird.
Warum die Anzahl der Tokens wichtig ist#
Bei englischen Texten entsprechen Tokens in den Tokenizern von OpenAI durchschnittlich etwa vier Zeichen, bei anderen Sprachen und bei Code können es jedoch deutlich mehr sein. Petrov et al. (2023) stellten fest, dass derselbe Text in verschiedenen Sprachen nach der Tokenisierung eine bis zu 15-mal unterschiedliche Länge haben kann. Das erhöht die API-Kosten und verkleinert den nutzbaren Kontext für diese Sprachen. Token-Grenzen beeinflussen auch, was ein Modell sehen kann. Wenn ein LLM „strawberry“ als wenige mehrbuchstabige Tokens liest, kann es die einzelnen Buchstaben nicht direkt sehen. o200k_base zerlegt „3.14159“ in 3, ., 141 und 59, was Rechenoperationen auf Ziffernebene erschwert. Tokenisierungsfreie Ansätze wie Metas Byte Latent Transformer vermeiden ein festes Vokabular, indem sie rohe Bytes zu Teilsequenzen gruppieren, deren Größe davon abhängt, wie gut sich das nächste Byte vorhersagen lässt.
Bilder, Audio und Video tokenisieren#
Ein ViT zerlegt ein Bild in Teilbereiche fester Größe. Bei 16×16 Pixel großen Teilbereichen wird ein Bild mit 224×224 Pixeln so zu 196 Teilbereichs-Tokens. Jeder Teilbereich wird abgeflacht und linear auf einen Einbettungsvektor projiziert, bevor Self-Attention angewendet wird. Vision-Language-Modelle (VLMs) übergeben einem LLM die Einbettungsvektoren der Teilbereiche zusammen mit Text-Tokens. Eine höhere Bildauflösung bedeutet daher mehr Tokens pro Anfrage. Bildgeneratoren verwenden häufig stattdessen diskrete visuelle Tokens: Ein Wörterbuch für Vektorquantisierung ersetzt jeden Teilbereich durch die ID des nächstgelegenen Codevektors. So können visuelle autoregressive Modelle Bilder Token für Token wie Text erzeugen. Token-Merging reduziert die Anzahl bei langen Bild- und Videosequenzen, indem es ähnliche Tokens zusammenführt.
Auch Vision-Modelle tokenisieren Text. Wenn YOLOE-26 Klassennamen über set_classes erhält, verarbeitet Ultralytics jeden Namen mit dem Byte-Level-BPE-Tokenizer von CLIP und füllt die Sequenz auf 77 Tokens auf oder kürzt sie auf 77 Tokens. Apples MobileCLIP2-Textencoder wandelt das Ergebnis in den Einbettungsvektor um, den der Erkennungskopf mit Bildbereichen abgleicht. Bei der Spracherkennung wandelt OpenAIs Whisper jedes 30-sekündige Audiofenster in Log-Mel-Spektrogrammframes um, die der Encoder als Sequenz aus 1.500 Positionen verarbeitet.










