Embedding-Tabelle

Jedes Wort, das ein Sprachmodell verarbeitet, wird zuerst in eine Liste von Zahlen übersetzt. Die Embedding-Tabelle ist das Nachschlagewerk, in dem für jedes bekannte Wortstück genau eine solche Zahlenliste hinterlegt ist.

In der maschinellen Sprachverarbeitung müssen Textbausteine in numerische Repräsentationen überführt werden, bevor ein Modell sie verarbeiten kann. Die Embedding-Tabelle übernimmt diese Aufgabe: Sie ordnet jeder Token-ID einen Vektor fester Länge zu. Diese Zuordnung geschieht als direkter Indexzugriff, vergleichbar mit dem Nachschlagen eines Eintrags in einer Datenbanktabelle.

Technisch ist die Embedding-Tabelle eine zweidimensionale Matrix mit V Zeilen und d Spalten, wobei V die Größe des Tokenizer-Vokabulars und d die Embedding-Dimension ist. Die Werte in dieser Matrix sind keine festen Konstanten. Sie werden während des Trainings durch Backpropagation angepasst und repräsentieren nach dem Training semantische und syntaktische Beziehungen zwischen Tokens.

Wie das Nachschlagen funktioniert

Der Vorgang lässt sich in drei Schritten beschreiben. Ein Eingabetext wird durch den Tokenizer in eine Folge von Token-IDs zerlegt. Für jede Token-ID liest das Modell die entsprechende Zeile aus der Embedding-Tabelle. Das Ergebnis ist eine Sequenz von Vektoren, die als Eingabe für die nachfolgenden Modellschichten dient.

Beispiel: Der Satz "Die Katze sitzt" wird in die Token-IDs [1204, 8837, 5921] zerlegt. Das Modell greift in die Embedding-Tabelle und liest Zeile 1204, Zeile 8837 und Zeile 5921. Jede Zeile liefert einen Vektor mit beispielsweise 768 Werten. Drei Token-IDs ergeben drei Vektoren.

Beispiel: In einem Modell mit einem Vokabular von 30.000 Einträgen und einer Embedding-Dimension von 512 hat die Tabelle die Form 30.000 × 512. Der Zugriff auf Zeile 17.842 liefert einen 512-dimensionalen Vektor, unabhängig davon, wie groß das Vokabular ist. Die Zugriffszeit bleibt konstant.

Eingabetext"Die Katze sitzt"
TokenizerText → Token-IDs
Token-IDs[1204, 8837, 5921]
Embedding-TabelleZeile pro Token-ID

Speicherbedarf und Dimensionierung

Die Größe der Embedding-Tabelle ergibt sich aus zwei Faktoren: der Vokabulargröße V und der Embedding-Dimension d. Die Gesamtzahl der Parameter beträgt V × d. Bei typischen Sprachmodellen bewegen sich diese Werte in Bereichen, die einen erheblichen Anteil der Gesamtparameterzahl ausmachen.

Beispiel: GPT-2 verwendet ein Vokabular von 50.257 Tokens und eine Embedding-Dimension von 768. Die Embedding-Tabelle enthält damit 50.257 × 768 = 38.597.376 Parameter. Bei einer Gesamtgröße von 117 Millionen Parametern (GPT-2 Small) entfallen rund 33 Prozent allein auf die Embedding-Tabelle.

Beispiel: Bei einem Modell mit 100.000 Tokens im Vokabular und einer Dimension von 4.096 umfasst die Embedding-Tabelle 409.600.000 Parameter. Bei 32-Bit-Gleitkommazahlen (4 Byte pro Wert) entspricht das einem Speicherbedarf von rund 1,6 Gigabyte allein für diese eine Komponente.

Die Wahl der Embedding-Dimension ist ein Kompromiss: Höhere Dimensionen erlauben feinere semantische Unterscheidungen, erhöhen aber den Speicherbedarf und die Rechenzeit in allen nachfolgenden Schichten.

Fachliche Einordnung: Der überproportionale Anteil der Embedding-Tabelle an der Gesamtparameterzahl ist ein bekanntes Skalierungsproblem. Ansätze wie Byte-Pair-Encoding (BPE) reduzieren die Vokabulargröße, und Techniken wie Weight Tying (gemeinsame Nutzung der Embedding-Tabelle in Ein- und Ausgabeschicht) halbieren den Speicherbedarf nahezu. Llama-Modelle beispielsweise verwenden dieses Verfahren.

Wie die Werte in die Tabelle gelangen

Zu Beginn des Trainings wird die Embedding-Tabelle mit kleinen Zufallswerten initialisiert. Die Vektoren enthalten zu diesem Zeitpunkt keine semantische Information. Während des Trainings passt der Optimierungsalgorithmus die Werte an, sodass Tokens mit ähnlicher Bedeutung oder ähnlichem Verwendungskontext ähnliche Vektoren erhalten.

Beispiel: Nach dem Training eines Modells auf deutschsprachigen Texten liegen die Vektoren für "Montag", "Dienstag" und "Mittwoch" nahe beieinander im Vektorraum. Der Vektor für "Tischlampe" liegt dagegen weit entfernt. Diese räumliche Struktur entsteht nicht durch explizite Regeln, sondern als Nebenprodukt der Verlustminimierung.

Beispiel: In einem Transformer-Modell wird der Embedding-Vektor für ein Token durch alle Schichten hindurch propagiert. Der Gradient fließt von der Verlustfunktion zurück durch die Attention-Mechanismen bis zur Embedding-Tabelle. Der Eintrag für ein Token wird nur dann aktualisiert, wenn dieses Token in der aktuellen Trainingsinstanz vorkommt. Seltene Tokens erhalten dadurch weniger Gradient-Updates.

Abgrenzung zu One-Hot-Vektoren

Vor der Verbreitung von Embedding-Tabellen wurden Tokens häufig als One-Hot-Vektoren dargestellt: Ein Vektor mit der Länge des gesamten Vokabulars, bei dem genau eine Position den Wert 1 trägt und alle anderen 0. Dieses Verfahren hat zwei wesentliche Nachteile.

Erstens skaliert die Dimensionalität mit der Vokabulargröße. Bei einem Vokabular von 50.000 Tokens ist jeder One-Hot-Vektor 50.000 Werte lang. Zweitens sind alle One-Hot-Vektoren gleich weit voneinander entfernt. Der Vektor für "König" hat denselben Abstand zu "Monarchin" wie zu "Tischbein". Semantische Nähe ist in One-Hot-Vektoren nicht abbildbar.

Beispiel: Bei einem Vokabular von 50.000 Tokens benötigt eine One-Hot-Darstellung 50.000 Dimensionen pro Token. Eine Embedding-Tabelle mit Dimension 768 komprimiert diese Darstellung auf 768 Werte. Das entspricht einer Reduktion um den Faktor 65. Gleichzeitig kodieren die 768 Werte semantische Beziehungen, die in der One-Hot-Darstellung nicht existieren.

Mathematisch lässt sich der Embedding-Lookup als Multiplikation eines One-Hot-Vektors mit der Embedding-Matrix darstellen. Das Ergebnis ist identisch mit dem direkten Zeilenauslesen. Der direkte Indexzugriff ist rechnerisch effizienter, weil er die Multiplikation mit Nullen überspringt.

Statische und kontextuelle Embeddings

Die Embedding-Tabelle liefert für ein bestimmtes Token immer denselben Vektor, unabhängig vom umgebenden Text. Das Wort "Bank" erhält denselben Vektor, ob es im Kontext von Finanzen oder Möbeln steht. Diese statischen Vektoren bilden die Ausgangslage.

In Transformer-Architekturen verändern die nachfolgenden Schichten (Attention, Feed-Forward) diese Ausgangsvektoren schrittweise. Nach dem Durchlauf durch alle Schichten enthält der resultierende Vektor kontextuelle Information. Die Embedding-Tabelle liefert also den Rohstoff, den die Modellarchitektur anschließend kontextabhängig verfeinert.

Beispiel: Das Wort "Bank" hat in der Embedding-Tabelle genau einen Vektor. Steht es im Satz "Sie geht zur Bank, um Geld abzuheben", modifizieren die Transformer-Schichten diesen Vektor so, dass er Nähe zu Finanzbegriffen aufweist. Im Satz "Sie sitzt auf der Bank im Park" verschiebt sich der Vektor in Richtung Möbelkontext. Die Embedding-Tabelle selbst bleibt dabei unverändert.

Fachliche Einordnung: Die Unterscheidung zwischen statischen (tabellenbasierten) und kontextuellen (schichtbasierten) Embeddings ist zentral für das Verständnis moderner Sprachmodelle. Frühere Verfahren wie Word2Vec oder GloVe verwendeten ausschließlich statische Embeddings. Transformer-basierte Modelle nutzen die Tabelle als Startpunkt und erzeugen kontextuelle Repräsentationen erst in den tieferen Schichten.

Zusammenspiel mit Subword-Tokenizern

Moderne Sprachmodelle arbeiten nicht mit ganzen Wörtern, sondern mit Subword-Einheiten. Der Tokenizer zerlegt Wörter in häufige Bestandteile. Dadurch kann ein Vokabular von 30.000 bis 100.000 Einträgen eine praktisch unbegrenzte Menge von Wörtern abdecken. Die Embedding-Tabelle enthält einen Eintrag pro Subword-Einheit, nicht pro Wort.

Beispiel: Das Wort "Unfallversicherungsgesetz" wird vom Tokenizer in Teile wie ["Un", "fall", "versicherungs", "gesetz"] zerlegt. Jedes Teilwort hat eine eigene Token-ID und damit einen eigenen Eintrag in der Embedding-Tabelle. Die Embedding-Tabelle muss dieses Wort nicht als Ganzes kennen, weil es aus bekannten Bestandteilen zusammengesetzt wird.

Die Vokabulargröße des Tokenizers bestimmt direkt die Zeilenanzahl der Embedding-Tabelle. Ein kleineres Vokabular führt zu einer kleineren Tabelle, erfordert aber mehr Tokens pro Eingabetext (weil Wörter stärker aufgesplittet werden). Ein größeres Vokabular reduziert die Tokenzahl, vergrößert aber die Tabelle. Diese Abwägung beeinflusst Speicherbedarf, Trainingszeit und Kontextfensterlänge.

Weight Tying und Parametereffizienz

Viele Sprachmodelle verwenden die Embedding-Tabelle nicht nur am Eingang, sondern auch am Ausgang. In der Ausgabeschicht muss das Modell für jedes Token im Vokabular eine Wahrscheinlichkeit berechnen. Dafür benötigt es eine weitere Matrix mit derselben Dimensionierung wie die Embedding-Tabelle. Weight Tying bezeichnet das Verfahren, beide Matrizen identisch zu halten: Die Eingangs-Embedding-Tabelle und die Ausgangs-Projektionsmatrix teilen sich dieselben Werte.

Beispiel: Ohne Weight Tying enthält ein Modell mit 50.000 Tokens und Dimension 768 zwei Matrizen mit jeweils 38,4 Millionen Parametern (zusammen 76,8 Millionen). Mit Weight Tying existiert nur eine Matrix mit 38,4 Millionen Parametern. Der Speicherbedarf halbiert sich, und die geteilten Gradienten können die Lernqualität verbessern, weil semantische Information aus der Ausgabeschicht direkt in die Eingabe-Embeddings fließt.

Nicht alle Modelle nutzen Weight Tying. Bei sehr großen Modellen mit unterschiedlichen Anforderungen an Ein- und Ausgabe kann die Trennung der Matrizen vorteilhaft sein. Die Entscheidung hängt von der Modellarchitektur, der Vokabulargröße und dem verfügbaren Speicher ab.

Grenzen und offene Fragen

Die Embedding-Tabelle hat strukturelle Limitationen, die sich aus ihrem Aufbau ergeben.

Seltene Tokens erhalten während des Trainings weniger Gradient-Updates als häufige Tokens. Ihre Vektoren sind nach dem Training weniger aussagekräftig. Bei sehr seltenen Fachbegriffen oder Eigennamen kann die Qualität der Vektoren deutlich geringer sein als bei alltagssprachlichen Wörtern.

Beispiel: Ein Modell, das auf englischsprachigen Texten trainiert wurde, kennt das deutsche Wort "Gesamtkunstwerk" möglicherweise nur durch wenige hundert Vorkommen in den Trainingsdaten. Der Embedding-Vektor für dieses Token ist entsprechend unpräzise. Ein häufiges Wort wie "the" wurde dagegen milliardenfach gesehen, und sein Vektor ist hochgradig optimiert.

Die feste Vokabulargröße bedeutet, dass ein Modell nach dem Training keine neuen Tokens aufnehmen kann, ohne die Embedding-Tabelle zu erweitern und die neuen Einträge zu trainieren. Dieses Problem betrifft insbesondere den Einsatz von Modellen in spezialisierten Domänen mit eigenem Fachvokabular. Fine-Tuning kann bestehende Vektoren anpassen, aber keine neuen Zeilen in die Tabelle einfügen, ohne die Architektur zu verändern.

Subword-Tokenizer mildern das Problem unbekannter Wörter, lösen es aber nicht vollständig. Stark fachsprachliche oder neuartige Begriffe werden in viele kleine Einheiten zerlegt, deren Einzelvektoren die Bedeutung des Gesamtbegriffs nur ungenügend abbilden.

Fachliche Einordnung: Aktuelle Forschung untersucht dynamische Vokabular-Erweiterung, bei der neue Tokens nach dem Training durch Interpolation bestehender Vektoren initialisiert werden. Auch Verfahren wie Byte-Level-Tokenisierung (z. B. in ByT5) umgehen die feste Embedding-Tabelle, indem sie direkt auf Byte-Ebene arbeiten. Beide Ansätze sind aktive Forschungsgebiete ohne etablierten Standard.


Karl Kratz · 25.05.2025 (aktualisiert 03.04.2026)

Technologie Künstliche Intelligenz Embeddings