Die Tokenisierung ist ein zentraler Schritt, um menschliche Sprache in mathematisch verwertbare Daten für neuronale Netzwerke umzuwandeln. Sie zerlegt Texte in Tokens, vergibt IDs und ermöglicht so die weitere Verarbeitung durch Sprachmodelle wie ChatGPT. Verschiedene Algorithmen und Vokabulare beeinflussen, wie effizient und flexibel Sprache digital repräsentiert wird.
Tokenisierung von Text ist ein grundlegender Schritt, durch den ein neuronales Netzwerk menschliche Sprache in Zahlen umwandelt. Während ein Mensch einen Satz als zusammenhängende Bedeutungseinheit wahrnimmt, benötigt ein Modell eine mathematisch verwertbare Form. Genau das leistet die Tokenisierung - sie ist einer der allerersten Verarbeitungsschritte bei jeder Eingabe in ein Sprachmodell.
Tokenisierung bedeutet, einen Text in Einheiten zu zerlegen, die ein Modell verarbeiten kann. Diese Tokens können ganze Wörter, Wortteile, einzelne Zeichen, Zahlen oder Satzzeichen sein.
So nimmt ein Mensch beispielsweise das Wort "Tokenisierung" als Ganzes wahr. Ein Tokenizer könnte es jedoch als ein Token behandeln oder weiter aufteilen. Das gilt ebenso für Eigennamen, Fachbegriffe, seltene Wörter oder Fremdsprachen.
Der Grund ist einfach: Ein neuronales Netzwerk kann mit Buchstaben oder Wörtern keine mathematischen Operationen ausführen - der Prozessor arbeitet mit Zahlen. Tokenisierung ist daher die Brücke zwischen menschlicher Sprache und mathematischen Modellen.
Wichtig: Tokenisierung ist kein simples Trennen nach Leerzeichen. Beispiel:
Das neuronale Netzwerk versteht Text.
Eine naive Trennung ergäbe drei Wörter, doch ein echter Tokenizer könnte mehr Einheiten finden: Wortteile, Satzzeichen oder Zeichenketten. Das Ergebnis hängt vom Algorithmus und vom verwendeten Vokabular ab.
Token sind also nicht immer gleichbedeutend mit Wörtern. Kurze, häufige Wörter können einem Token entsprechen, lange oder seltene jedoch mehrere Tokens benötigen. Auch Satzzeichen oder Ziffernfolgen können eigene Tokens sein. Daher kann die gleiche Wortanzahl in zwei Sätzen zu einer unterschiedlichen Tokenanzahl führen - und auch zwischen Sprachen variiert die Tokenanzahl für den gleichen Inhalt.
Mehr dazu, was Tokens sind und wie sie in Sprachmodellen wie ChatGPT verwendet werden, finden Sie im Beitrag Tokens in neuronalen Netzwerken: Bedeutung, Token-Limit und Funktionsweise bei ChatGPT.
Der Tokenizer erhält den Ausgangstext und zerlegt ihn in eine Abfolge von Einheiten aus seinem Vokabular. Die Token-Grenzen müssen dabei nicht mit Wortgrenzen übereinstimmen - mal ist ein Token ein ganzes Wort, mal ein Teil davon oder ein einzelnes Zeichen.
Nehmen wir die einfache Phrase:
Das neuronale Netzwerk analysiert Text.
Für einen Menschen sind das drei Wörter und ein Punkt. Der Tokenizer könnte jedoch beispielsweise wie folgt aufteilen:
[Das] [ neuronale] [ Netzwerk] [ analysiert] [ Text] [.]
Dies ist nur ein Beispiel - die tatsächliche Aufteilung hängt vom verwendeten Tokenizer ab. In manchen Systemen kann ein Token auch ein Leerzeichen vor dem Wort enthalten, was dazu führt, dass die gleiche Buchstabenfolge am Satzanfang und nach einem anderen Wort als unterschiedliche Tokens behandelt wird.
Diese Methode macht es möglich, seltene oder komplexe Wörter aus kleineren, universellen Fragmenten zusammenzusetzen, statt jede mögliche Wortform einzeln vorzuhalten.
Je häufiger eine Zeichenfolge in den Trainingsdaten vorkam, desto wahrscheinlicher wird sie als eigener Token im Vokabular geführt. Häufige Wörter und Endungen werden oft kompakt codiert, seltene Begriffe hingegen zerlegt.
Ein seltenes langes Wort wie "Mikroarchitektur" könnte so in die Tokens [Mikro][architekt][ur] zerlegt werden - oder sogar noch feiner, falls die Fragmente nicht im Vokabular sind.
Diese Unterschiede sind auch sprachabhängig: Ein Tokenizer, dessen Vokabular auf englische Sequenzen optimiert ist, kann englischen Text oft kompakter abbilden als russischen oder japanischen. Auch Zahlenfolgen, Emojis, Codes oder ungewöhnliche Zeichenkombinationen können zu einer hohen Tokenanzahl führen.
Der Tokenizer ist der Algorithmus samt Datenbasis, der bestimmt, wie Text in Tokens zerlegt wird. Ein Kernbestandteil ist das Vokabular - eine Liste aller zulässigen Tokens samt eindeutiger ID.
Die Zahlen dienen nur als Beispiel. Die Vokabulare und IDs unterscheiden sich je nach Modell.
Wenn ein Benutzer eine Anfrage schickt, sucht der Tokenizer die passenden Vokabular-Elemente und bildet daraus eine Folge. Ist ein ganzes Wort nicht im Vokabular, werden kleinere Bestandteile verwendet. So lässt sich nahezu jeder Text mit einem begrenzten Set an Tokens darstellen.
Die Größe und Struktur des Vokabulars beeinflussen, wie kompakt ein Text codiert wird, wie verschiedene Sprachen verarbeitet werden und wie viele Tokens für seltene Wörter benötigt werden. Tokenisierung ist daher ein zentrales architektonisches Element jeder Sprachmodell-Entwicklung.
Ein beliebter Ansatz zur Tokenisierung ist Byte Pair Encoding (BPE). Ursprünglich als Kompressionsmethode entwickelt, wird BPE heute häufig für Sprachmodelle verwendet.
Die Idee: Häufig vorkommende Sequenzen werden zu größeren Einheiten zusammengefasst. So können verbreitete Wörter oder Wortteile als eigene Tokens gespeichert werden, während seltene Begriffe aus mehreren Tokens zusammengesetzt werden.
Wenn ein Vokabular nur ganze Wörter enthielte, wäre es riesig - gerade im Deutschen mit seinen vielen Flexionen und zusammengesetzten Wörtern. Neue Begriffe oder Namen würden ständig hinzukommen.
BPE schafft einen Kompromiss: Nicht alle Wörter werden einzeln gespeichert, aber auch keine reine Sequenz von Einzelbuchstaben. Beispiel:
Der Algorithmus sucht die häufigsten benachbarten Zeichenpaare und fasst sie schrittweise zusammen: n + e → ne, ne + u → neu, usw. So entstehen größere Bausteine wie "neuro", die in vielen Wörtern wiederkehren.
Dadurch werden häufige Konstruktionen kompakt codiert, während seltene Begriffe in bekannte Fragmente zerlegt werden. So ist das Modell nicht auf einen festen Wortbestand beschränkt.
BPE ist aber kein Standard, und verschiedene Modelle nutzen eigene Varianten oder ganz andere Tokenisierungsverfahren. Vokabulargröße, Ausgangseinheiten und die Behandlung von Leerzeichen oder Sonderzeichen können unterschiedlich geregelt sein, weshalb die gleiche Phrase in zwei Modellen unterschiedlich viele Tokens ergeben kann.
Das Ziel bleibt aber gleich: Das nahezu unendliche Spektrum menschlicher Sprache mit einer endlichen Menge von Elementen abzubilden. Sind die Tokens bestimmt, erhält jeder Token eine ID und wird zur weiteren Verarbeitung an das neuronale Netzwerk übergeben.
Nach der Tokenisierung erhält das Modell eine Folge von Tokens - doch diese allein sind für das neuronale Netzwerk noch nicht verwertbar. Jeder Token wird daher mit einer eindeutigen ID versehen.
Im Vokabular hat jeder Token eine eindeutige Ganzzahl zugeordnet. Die Phrase:
neuronales Netzwerk versteht Text
wird so beispielsweise in:
[neuro][Netzwerk][ versteht][ Text] → [3817, 9421, 15603, 4812]
umgewandelt. Die Zahlen sind beispielhaft; reale IDs sind modellabhängig. Die ID ist nichts anderes als die Nummer eines Tokens in einer großen Tabelle.
Die ID selbst transportiert keine Bedeutung. Wenn "Katze" die Nummer 500 und "Hund" 9000 hat, sagt das nichts über deren Verhältnis aus. Die Nummern dienen nur der Identifikation - wie Zeilennummern in einer Datenbank.
Vor der Hauptverarbeitung wird daher jede ID in eine andere Darstellung überführt - einen sogenannten Vektor oder Embedding.
Für jeden Token speichert das Modell eine Zahlenreihe mit vielen Komponenten. Statt einer ID wie 3817 erhält das neuronale Netzwerk etwa:
[0.12, -0.47, 0.83, 0.05, ...]
In modernen Sprachmodellen bestehen diese Vektoren oft aus hunderten oder tausenden Zahlen. Diese Verteilung ist entscheidend: Während des Trainings werden die Vektoren so angepasst, dass sie Beziehungen zwischen Tokens widerspiegeln. Tokens im ähnlichen Kontext bekommen ähnliche Vektoren.
Keine einzelne Zahl steht dabei für ein bestimmtes Konzept wie "Tier" oder "Emotion" - der Sinn ergibt sich erst im Zusammenspiel aller Werte und im Gesamtkontext.
Dazu kommt die Positionsinformation, damit das Modell versteht, an welcher Stelle ein Token steht - denn die Wortreihenfolge kann entscheidend für die Bedeutung sein.
Der gesamte Ablauf sieht vereinfacht so aus:
Text → Tokenisierung → Tokens → IDs → Vektoren → neuronales Netzwerk
Beispiel: Ein Nutzer gibt einen Satz ein. Der Tokenizer zerlegt ihn und ersetzt jedes Fragment durch eine Zahl. Aus diesen Zahlen erzeugt das Modell Vektoren und analysiert die Beziehungen und Kontexte zwischen den Tokens - hier wird Sprache endgültig zu mathematischen Daten.
Die Tokenisierung bestimmt nicht den Sinn eines Textes, aber sie beeinflusst, wie der Text im Modell ankommt. Je kompakter eine Phrase in bekannte Tokens zerlegt wird, desto effizienter ist die Darstellung und desto besser kann das Modell Zusammenhänge erfassen.
Für den Menschen sind "Katze", "Kätzchen" und "Kater" klar verwandt, doch der Tokenizer könnte sie ganz unterschiedlich aufteilen - mal als ein Token, mal als mehrere. Erst das neuronale Netzwerk erkennt nach der Umwandlung in Vektoren die tatsächlichen Beziehungen im Kontext.
Gerade bei seltenen Begriffen wird der Unterschied deutlich: Ein häufiges Wort wird meist durch ein großes Token repräsentiert, ein seltener Fachbegriff hingegen in viele Einzelteile zerlegt. Auch Benutzernamen, Webadressen, Seriennummern oder Quellcodes können zu langen Token-Folgen werden, obwohl sie für den Menschen kurz erscheinen.
Die Sprache spielt ebenfalls eine Rolle: Ist das Vokabular auf englische Wörter optimiert, werden englische Texte oft kompakter abgebildet als russische oder deutsche. Das ist gerade bei langen Dokumenten relevant, denn das sogenannte Kontextfenster des Modells misst die Länge in Tokens - nicht in Seiten, Zeichen oder Wörtern.
Dennoch bedeutet die Tokenisierung nicht, dass jedes Token eine Bedeutungseinheit ist. Die eigentliche Interpretation geschieht erst nach der mathematischen Umwandlung, wenn das neuronale Netzwerk die Tokenfolgen und ihre Beziehungen analysiert. So könnte das Wort "Schlüssel" je nach Kontext Werkzeug, Quell, Entschlüsselungsverfahren oder Zugangscode meinen - der Tokenizer wandelt nur um, die Bedeutung ermittelt das Modell selbst.
Tokenisierung von Text ist der erste Schritt, der Sprache für neuronale Netzwerke zugänglich macht. Der Text wird in Tokens zerlegt, jeder Token erhält eine ID und wird dann in ein Vektorformat überführt, das im Modell weiterverarbeitet wird.
Ein Token muss kein ganzes Wort sein - es kann auch ein Teil davon, ein Symbol oder ein Satzzeichen sein. Die Anzahl der Tokens hängt von Textlänge, Sprache, Wortwahl und dem verwendeten Tokenizer ab.
Algorithmen wie Byte Pair Encoding bieten einen Mittelweg zwischen riesigen Wortvokabularen und ineffizienter Zeichenzerlegung. Häufige Sequenzen werden als große Tokens gespeichert, seltene Begriffe aus kleineren Fragmenten zusammengesetzt.
Der Weg des Texts im Sprachmodell lässt sich so zusammenfassen:
menschlicher Text → Tokenizer → Tokens → IDs → Vektoren → neuronales Netzwerk
Das Verständnis dieses Prozesses erklärt, warum ChatGPT und ähnliche Modelle den Kontext in Tokens messen, warum gleich lange Texte unterschiedlich viel Kontext belegen und wie aus einem einfachen Satz eine Zahlenfolge für mathematische Berechnungen wird.