Embedding-Layer

Bevor ein Sprachmodell mit Wörtern rechnen kann, müssen diese Wörter in Zahlenreihen übersetzt werden. Der Embedding-Layer übernimmt genau diese Übersetzung: Er ordnet jedem Wort (genauer: jedem Token) eine Liste von Zahlen zu, die dessen Bedeutung in kompakter Form repräsentiert.

In einem neuronalen Netz ist der Embedding-Layer die erste trainierbare Schicht. Er nimmt die ganzzahligen Token-IDs entgegen, die ein Tokenizer aus dem Eingabetext erzeugt hat, und gibt für jede ID einen dichten Vektor fester Länge zurück. Dieser Vektor ist die interne Repräsentation des Tokens, mit der alle nachfolgenden Schichten arbeiten.

Wie aus einer Zahl ein Vektor wird

Der Embedding-Layer speichert eine große Tabelle, die sogenannte Embedding-Tabelle. Diese Tabelle hat so viele Zeilen, wie das Vokabular Tokens umfasst, und so viele Spalten, wie die gewählte Embedding-Dimension vorgibt. Wird ein Token mit der ID 4217 eingegeben, gibt der Layer die 4217. Zeile als Vektor zurück.

Beispiel: Ein Vokabular umfasst 50.000 Tokens. Die Embedding-Dimension beträgt 768. Die Embedding-Tabelle ist dann eine Matrix mit 50.000 Zeilen und 768 Spalten. Die Eingabe der Token-ID 312 liefert Zeile 312, also einen Vektor mit 768 Zahlenwerten.

Beispiel: Bei der Eingabe des Satzes "Die Katze sitzt" erzeugt der Tokenizer drei Token-IDs, etwa [1044, 7891, 3205]. Der Embedding-Layer gibt drei Vektoren zurück, einen pro Token. Diese drei Vektoren bilden zusammen die Eingabesequenz für die nächste Schicht.

Dieser Vorgang ist ein reiner Tabellenzugriff (Lookup) und erfordert keine Matrixmultiplikation. Das macht den Embedding-Layer rechnerisch sehr effizient, obwohl die Tabelle selbst Millionen von Parametern enthalten kann.

Fachliche Einordnung: Der Embedding-Layer implementiert formal eine Abbildung f: ℤ → ℝ^d, wobei d die Embedding-Dimension bezeichnet. In der Praxis wird diese Abbildung als Matrixmultiplikation mit einem One-Hot-Vektor realisiert, was äquivalent zum Zeilenindex-Lookup ist, aber die Gradientenberechnung während des Trainings ermöglicht.

Embedding-Dimension und ihre Auswirkung

Die Anzahl der Spalten in der Embedding-Tabelle heißt Embedding-Dimension. Sie ist ein Hyperparameter, der vor dem Training festgelegt wird und die Ausdruckskraft der Vektoren bestimmt.

Beispiel: Das Modell BERT-base verwendet eine Embedding-Dimension von 768. GPT-3 arbeitet mit 12.288 Dimensionen. Größere Dimensionen erlauben feinere Unterscheidungen zwischen Bedeutungen, erhöhen aber den Speicherbedarf und die Rechenzeit aller folgenden Schichten proportional.

Beispiel: In einem Vektor mit 768 Dimensionen können die Bedeutungsunterschiede zwischen "Bank" (Sitzgelegenheit) und "Bank" (Finanzinstitut) über verschiedene Dimensionskombinationen kodiert werden. Ein Vektor mit nur 32 Dimensionen hätte dafür zu wenig Kapazität.

Die Wahl der Dimension beeinflusst die gesamte Architektur: Alle Gewichtsmatrizen in den Folgeschichten müssen auf diese Breite abgestimmt sein. Eine nachträgliche Änderung erfordert ein vollständiges Neutraining.

Was der Embedding-Layer während des Trainings lernt

Zu Beginn des Trainings werden die Werte in der Embedding-Tabelle zufällig initialisiert. Jeder Vektor ist dann eine bedeutungslose Zahlenreihe. Während des Trainings passt der Optimierungsalgorithmus (üblicherweise eine Variante des Gradientenabstiegs) diese Werte Schritt für Schritt an, gemeinsam mit allen anderen Modellparametern.

Beispiel: Vor dem Training liegen die Vektoren für "Hund" und "Katze" an zufälligen Positionen im Vektorraum. Nach dem Training auf großen Textmengen rücken sie näher zusammen, weil beide in ähnlichen sprachlichen Kontexten vorkommen. Der Vektor für "Taschenrechner" bleibt hingegen weit entfernt.

Beispiel: Durch Backpropagation fließt der Fehler der Vorhersage zurück bis in den Embedding-Layer. Wenn das Modell "Paris ist die Hauptstadt von ___" falsch vorhersagt, werden die Vektoren für "Paris", "Hauptstadt" und "Frankreich" so korrigiert, dass sie zueinander besser passen.

Das Ergebnis des Trainings sind Vektoren, in denen semantische Beziehungen als geometrische Beziehungen kodiert sind. Synonyme liegen nahe beieinander, Antonyme stehen weiter auseinander, und Analogien bilden sich als Richtungen im Raum ab.

Einbettung in die Gesamtarchitektur

Der Embedding-Layer ist die Eingabeschicht. In einem Transformer-Modell folgen nach dem Embedding-Layer typischerweise Positionskodierungen und anschließend die gestapelten Attention-Blöcke.

Token-IDs[1044, 7891, 3205]
Embedding-LayerLookup in Tabelle
PositionskodierungPosition im Satz addieren
Attention-BlöckeKontextverarbeitung
AusgabeKontextualisierte Vektoren

Beispiel: In BERT addiert das Modell zum Token-Embedding zusätzlich ein Segment-Embedding (das angibt, zu welchem Satzteil das Token gehört) und ein Positions-Embedding. Alle drei Vektoren werden elementweise summiert, bevor sie in den ersten Attention-Block eingehen.

In manchen Architekturen teilt sich der Embedding-Layer seine Gewichtsmatrix mit der letzten Schicht des Modells (dem sogenannten Output-Layer). Dieses Verfahren heißt Weight Tying. Es reduziert die Parameteranzahl erheblich und erzwingt, dass Eingabe- und Ausgaberepräsentationen im selben Vektorraum liegen.

Beispiel: Ein Modell mit einem Vokabular von 50.000 Tokens und einer Embedding-Dimension von 1024 benötigt für die Embedding-Tabelle 50.000 × 1024 = 51.200.000 Parameter. Ohne Weight Tying bräuchte der Output-Layer dieselbe Menge nochmals. Weight Tying spart hier also rund 51 Millionen Parameter.

Unterschied zu statischen Worteinbettungen

Vor der Transformer-Ära wurden Embeddings in separaten Verfahren vortrainiert und dann unverändert in Modelle eingesetzt. Bekannte Verfahren sind Word2Vec, GloVe und FastText. Dabei erhält jedes Wort genau einen festen Vektor, unabhängig vom Kontext.

Beispiel: In Word2Vec hat das Wort "Bank" immer denselben Vektor, egal ob es in "Ich sitze auf der Bank" oder "Ich gehe zur Bank" vorkommt. Der Embedding-Layer eines Transformer-Modells liefert zwar ebenfalls zunächst denselben Vektor. Die nachfolgenden Attention-Schichten passen diesen Vektor aber kontextabhängig an.

In modernen Sprachmodellen wird der Embedding-Layer gemeinsam mit dem restlichen Modell trainiert. Er ist nicht vortrainiert und nicht fixiert. Dadurch passt sich die Vektordarstellung an die spezifische Aufgabe und Architektur an.

Fachliche Einordnung: Die kontextunabhängigen Embeddings aus Word2Vec (Mikolov et al., 2013) und GloVe (Pennington et al., 2014) sind Type-Embeddings. Jeder Typ (Wortform) hat genau eine Repräsentation. Der Embedding-Layer in Transformer-Modellen erzeugt ebenfalls Type-Embeddings, aber die nachfolgenden Schichten verwandeln sie in Token-Embeddings, die kontextabhängig sind. Diese Unterscheidung zwischen Type- und Token-Embedding ist zentral für das Verständnis moderner NLP-Architekturen.

Praktische Aspekte und Speicherbedarf

Der Embedding-Layer zählt zu den speicherintensivsten Komponenten eines Sprachmodells. Bei großen Vokabularen kann er einen signifikanten Anteil der Gesamtparameter ausmachen.

Beispiel: GPT-2 verwendet ein Vokabular von 50.257 Tokens und eine Embedding-Dimension von 768. Die Embedding-Tabelle umfasst damit rund 38,6 Millionen Parameter. Bei 32-Bit-Gleitkommazahlen belegt sie etwa 147 MB Speicher.

Beispiel: Beim Fine-Tuning eines vortrainierten Modells auf einer spezifischen Domäne (etwa medizinische Texte) werden die Embedding-Vektoren für domänenspezifische Fachbegriffe stärker angepasst als allgemeinsprachliche Vektoren. Das Modell spezialisiert seine Repräsentationen dort, wo die neue Domäne von den Trainingsdaten abweicht.

Die Initialisierung der Embedding-Tabelle folgt üblicherweise einer Normalverteilung mit kleiner Standardabweichung (z.B. 0,02). Diese Wahl verhindert, dass die Gradienten in frühen Trainingsschritten zu groß oder zu klein sind.

Grenzen und offene Fragen

Der Embedding-Layer hat strukturelle Einschränkungen, die sich direkt auf die Fähigkeiten des Gesamtmodells auswirken.

Erstens ist die Vokabulargröße ein Kompromiss: Ein größeres Vokabular verringert die Anzahl der Subwort-Zerlegungen pro Eingabe, erhöht aber die Parameterzahl des Embedding-Layers. Ein kleineres Vokabular spart Parameter, erzwingt aber längere Tokensequenzen für denselben Text.

Beispiel: Das Wort "Bundesverfassungsgericht" wird in einem kleinen Vokabular möglicherweise in fünf oder mehr Subtokens zerlegt. Jedes Subtoken erhält einen eigenen Vektor. Die Attention-Schichten müssen dann rekonstruieren, dass diese Teile zusammengehören. Ein größeres Vokabular könnte das Wort als ein oder zwei Tokens darstellen.

Zweitens kann der Embedding-Layer nur Tokens repräsentieren, die im Vokabular enthalten sind. Völlig neue Wörter (etwa Neologismen oder Tippfehler) werden auf Subwort-Ebene zerlegt, was nicht immer zu sinnvollen Repräsentationen führt.

Drittens liefert der Embedding-Layer kontextfreie Vektoren. Die Kontextualisierung findet erst in den Folgeschichten statt. Die Qualität der finalen Repräsentationen hängt damit vom Zusammenspiel aller Schichten ab, nicht allein vom Embedding-Layer.

Fachliche Einordnung: Aktuelle Forschung untersucht Alternativen zum klassischen Embedding-Layer. Ansätze wie ByT5 (Xue et al., 2022) arbeiten direkt auf Byte-Ebene und verzichten auf ein explizites Vokabular. Andere Verfahren verwenden lernbare Hash-Funktionen, um den Speicherbedarf der Embedding-Tabelle zu reduzieren. Ob diese Alternativen den klassischen Lookup-basierten Embedding-Layer langfristig ablösen, ist Gegenstand aktueller Forschung.


Karl Kratz · 17.03.2025 (aktualisiert 15.03.2026)

Technologie Künstliche Intelligenz Embeddings