Was ein Token ist
Ein Sprachmodell sieht niemals Buchstaben oder Wörter. Bevor ein Text das Modell erreicht, zerlegt ein Tokenizer den Text in Bestandteile aus einem festen Vokabular und ersetzt jeden Bestandteil durch seine Nummer in diesem Vokabular. Das Modell liest eine Sequenz dieser Nummern und gibt auch seine Antwort in Form von Nummern aus, die der Tokenizer wieder in Text umwandelt.
How2437␣do466␣I314␣reset13259␣my616␣password9206?30Heutige Vokabulare umfassen Zehntausende bis einige Hunderttausend Einträge. Häufige Wörter erhalten einen eigenen Eintrag, meist zusammen mit dem vorangehenden Leerzeichen. Weniger häufige Wörter werden aus kleineren Bestandteilen zusammengesetzt: Ein ungewöhnlicher Produktname kann aus vier oder fünf Token bestehen.
Wie Tokenizer aufgebaut sind: Byte-Pair Encoding
Die meisten aktuellen Tokenizer verwenden eine Form des Byte-Pair Encoding (BPE), das von Sennrich, Haddow und Birch für Sprachmodelle adaptiert wurde. Das Vokabular wird anhand einer großen Textstichprobe erlernt, bevor das eigentliche Modell trainiert wird:
- Mit den kleinsten Einheiten beginnen: einzelnen Zeichen oder den 256 möglichen Bytes.
- Jedes Paar benachbarter Einheiten in der Stichprobe zählen und das häufigste Paar finden.
- Dieses Paar zu einer neuen Einheit zusammenführen und dem Vokabular hinzufügen.
- Wiederholen, bis das Vokabular seine Zielgröße erreicht hat.
Das Vokabular verwendet seine Einträge letztlich für das, was in dieser Stichprobe häufig vorkam. Versionen auf Byte-Ebene gehen von Bytes statt von Zeichen aus, sodass jede Eingabe — jede Sprache, jedes Emoji oder jedes vereinzelte Symbol — weiterhin kodiert werden kann, nur eben weniger effizient, wenn sie ungewöhnlich ist.
- Die Stichprobe enthält oft „walking“, „talking“ und „making“. Zunächst wird jedes Wort in Zeichen aufgeteilt:
w a l k i n g. igefolgt vonnist das häufigste Paar, daher wird es zu einer Einheit:w a l k in g.- Nun ist
ingefolgt vongdas häufigste Paar:w a l k ing. - Nach Zehntausenden von Zusammenführungen ist ein häufiges Wort wie „walking“ wahrscheinlich ein einzelnes Token, während ein seltenes Wort wie „unwalkable“ weiterhin aus mehreren Teilen besteht.
Warum derselbe Text unterschiedliche Zählungen ergibt
| Art des Textes | Typisches Verhalten |
|---|---|
| Alltägliches Englisch | Etwa 4 Zeichen oder ¾ eines Wortes pro Token |
| Zahlen, IDs und Daten | Aufgeteilt in kurze Abschnitte: 2024-03-17 kann fünf oder mehr Token beanspruchen |
| Code und JSON | Klammern, Anführungszeichen und Einrückungen kosten alle Token |
| Andere Sprachen | Oft mehr Token für dieselbe Bedeutung; eine Studie aus dem Jahr 2023 maß Unterschiede von bis zum 15-Fachen für denselben übersetzten Text |
| Seltene Namen und Fachjargon | Aufgeteilt in mehrere Teilwort-Bestandteile |
Jede Modellfamilie trainiert ihren eigenen Tokenizer. Ein Dokument, das für ein Modell 1.000 Token umfasst, kann für ein anderes 1.150 Token lang sein. Jede Zählung, die mit einem anderen Tokenizer durchgeführt oder anhand der Zeichenanzahl geschätzt wird, ist ein Näherungswert.
Warum dies für das Training wichtig ist
- Kosten. Das Training wird pro verarbeitetem Token abgerechnet, die Nutzung pro Eingabe- und Ausgabe-Token.
- Limits. Das Kontextfenster und das Trainingslimit pro Beispiel werden in Token gezählt, nicht in Nachrichten oder Wörtern.
- Eigentümliche Schwächen. Ein Modell sieht „strawberry“ als einige wenige Token, nicht als zehn Buchstaben. Deshalb ist das Zählen von Buchstaben oder das Umkehren eines Wortes für das Modell überraschend schwierig.
Häufige Fehler
- Ein Token bei der Schätzung von Kosten oder Limits mit einem Wort gleichzusetzen.
- Davon auszugehen, dass eine für ein Modell erstellte Zählung auch für ein anderes gilt.
- Budgets für nicht-englische Daten auf Basis englischer Zeichen-pro-Token-Verhältnisse zu planen.
- Zu vergessen, dass Formatierungen — JSON, Markup, lange IDs — ebenfalls Token verbrauchen.
Quellen und weiterführende Literatur
Externe Quellen werden in einem neuen Tab geöffnet.
- 01Neural Machine Translation of Rare Words with Subword UnitsSennrich, Haddow & Birch, 2016 · arXiv · arxiv.orgDas Paper, das die BPE-Tokenisierung im NLP einführte.
- 02Byte-Pair Encoding tokenizationHugging Face LLM Course · huggingface.coBPE-Training Schritt für Schritt durchgearbeitet, mit Code.
- 03Language Model Tokenizers Introduce Unfairness Between LanguagesPetrov et al., 2023 · arXiv · arxiv.orgWie viel mehr derselbe Inhalt in einigen Sprachen kostet.
- 04openai/tiktokenOpenAI · GitHub · github.comEin weit verbreiteter BPE-Tokenizer, den Sie ausführen können, um Token selbst zu zählen.
- 05Understand and count tokensGemini API docs · ai.google.devDie Erklärung eines anderen Anbieters zu Token und wie man sie zählt.