Kapitel 05 · Architektur · 14 min
Der vollständige Transformer
Die Teile zusammensetzen: Multi-Head-Attention, Feed-Forward, Normalisierung, Residualverbindungen.
Das alles dafür
Wir haben jetzt alle Puzzleteile:
- Der Text wird zu Tokens (Kapitel 02).
- Die Tokens werden zu Vektoren in einem Bedeutungsraum (Kapitel 03).
- Die Attention lässt jeden Vektor die anderen betrachten und sich neu konfigurieren (Kapitel 04).
Es bleibt zu wissen, wie man diese Teile zu einem vollständigen Modell zusammensetzt. Die Antwort, elegant minimalistisch: Man stapelt sie.
Der Grundbaustein
Ein moderner Transformer ist derselbe kleine Block, N-mal wiederholt. Dieser Block enthält zwei Untermodule:
- Eine Multi-Head Attention-Schicht, die es den Tokens ermöglicht, miteinander zu kommunizieren.
- Ein Feed-Forward Network (FFN) — zwei lineare Transformationen, getrennt durch eine Nichtlinearität — das jeden Token unabhängig transformiert.
Um diese beiden Untermodule herum zwei feste Strukturen:
- LayerNorm vor jedem Untermodul: normalisiert die Vektoren, um das Lernen zu stabilisieren.
- Residualverbindungen um jedes Untermodul: Die Ausgabe des Blocks ist die Eingabe plus die Transformation, niemals die Transformation allein.
Fahre unten über die sechs Etagen des Schemas, in der Reihenfolge, in der ein Token sie durchläuft. Stell dir bei jeder Etage nur eine Frage: Lässt dieses Untermodul die Tokens miteinander reden, oder arbeitet es an jedem für sich?
Bewege den Mauszeiger über einen Subblock, um seine Rolle zu sehen: Attention verteilt Information zwischen Tokens, das Feed-Forward verwandelt sie lokal, Normalisierung und Residuals stabilisieren das Ganze. 32- oder 96-mal gestapelt ergibt das ein GPT-4 oder ein Claude.
Die Antwort: Nur eine einzige dieser sechs Etagen lässt Information zwischen den Tokens fließen — die Multi-Head Attention. Alles andere arbeitet Position für Position, isoliert. Diese Arbeitsteilung solltest du für den Rest des Kapitels im Kopf behalten: Attention mischt, das Feed-Forward transformiert, Normalisierung und Residualverbindungen stabilisieren. Und mehr ist da nicht — dieser eine Block, 12-mal wiederholt, ergibt ein GPT-2 small, 96-mal wiederholt ein GPT-3.
Warum die Residualverbindungen alles ändern
Das ist wahrscheinlich der wichtigste architektonische Trick des Jahrzehnts. Ohne Residualverbindung bedeutet das Stapeln von 96 aufeinanderfolgenden Blöcken, ein Signal durch 96 kaskadierte Transformationen zu schicken. Der Gradient (das Lernsignal) verdünnt sich bei jedem Durchgang. Nach ein paar Schichten bleibt nichts mehr zu lernen.
Mit einer Residualverbindung lernt der Block eine Modifikation statt einer vollständigen Transformation: Ausgabe = Eingabe + f(Eingabe). Das ursprüngliche Signal läuft immer unversehrt durch das gesamte Netzwerk, und jeder Block bereichert es ein wenig.
Ohne Residualen kann ein tiefer Transformer nicht trainiert werden. Mit ihnen kann er 100+ Schichten stapeln ohne zu straucheln.
Das FFN, die vergessene Hälfte
Über Attention wird viel gesprochen. Weniger über das FFN, das jedoch doppelt so viele Parameter enthält.
In jeder Schicht, nach der Attention, durchläuft jeder Token ein MLP:
FFN(x) = Linear_2(GELU(Linear_1(x)))
Linear_1 projiziert den Vektor in eine Zwischendimension, die 4× breiter ist (typischerweise 4 × 768 = 3072 für GPT-2 small). Linear_2 bringt ihn zurück auf die ursprüngliche Dimension. Diese Expansion-dann-Kontraktion ist der Ort, wo das Modell den Großteil seines Faktenwissens speichert — Eigennamen, gelernte Assoziationen, wiederkehrende Muster.
Diese Schreibweise ist die von GPT-2. Neuere Modelle ersetzen GELU durch SwiGLU, das drei Matrizen statt zwei verwendet und eine Expansion näher an 8/3× ansetzt, um auf dieselbe Parameterzahl zu kommen. Am Prinzip ändert das nichts: erst aufweiten, dann wieder zusammenziehen.
Wenn man von „70 Milliarden Parametern" in einem Modell spricht, lebt die überwiegende Mehrheit in den FFNs.
Position und Kausalität
Zwei Details, die wir noch nicht erwähnt haben:
Positionskodierung. Attention ist permutationsinvariant: Wenn du die Tokens eines Satzes mischst, liefert Attention dasselbe Ergebnis (nur gemischt). Das ist nicht was wir wollen. Damit ein LLM weiß, dass „Die Katze frisst den Fisch" sich von „Der Fisch frisst die Katze" unterscheidet, wird Positionsinformation in jeden Embedding-Vektor injiziert (Positional Encoding, RoPE, ALiBi…). Heute ist RoPE (Rotary Position Embedding) die Konvention.
Kausale Maske. Wie in Kapitel 4 gesehen, kann in einem Generierungsmodell jeder Token nur seine Vorgänger betrachten. Die kausale Maske wird auf die Attention-Matrix angewendet: Zukünftige Positionen werden vor dem Softmax auf −∞ gesetzt. Das zwingt das Modell zu vorhersagen, nicht zu kopieren.
Wie viele Blöcke?
Das Skelett ist von GPT-2 bis heute dasselbe geblieben: identische Blöcke, gestapelt, Residualverbindungen, eine Normalisierung vor jedem Untermodul. Was sich am stärksten ändert, ist die Größenordnung:
| Modell | Blöcke | Dimension | Heads | Parameter |
|---|---|---|---|---|
| GPT-2 small | 12 | 768 | 12 | 117M |
| GPT-2 XL | 48 | 1600 | 25 | 1,5B |
| GPT-3 | 96 | 12288 | 96 | 175B |
| Llama 3 70B | 80 | 8192 | 64 | 70B |
Mehr Blöcke = mehr kompositionelles Denken möglich (jede Schicht kann auf den Abstraktionen der vorherigen aufbauen). Mehr Dimensionen = mehr Kapazität pro Token. Mehr Heads = mehr simultane „Fragen".
Vorsicht trotzdem mit der Formel „es ist dieselbe Architektur": Für den Gesamtplan stimmt sie, im Detail der Einzelteile nicht. Zwischen 2019 und heute wurde so ziemlich jede Komponente durch eine effizientere Version ersetzt: RoPE statt gelernter Positionen, RMSNorm statt LayerNorm, SwiGLU statt GELU, GQA statt klassischem Multi-Head — ganz zu schweigen von den Mixture-of-Experts-Varianten weiter unten. Gleicher Plan, andere Teile.
Die Ausgabe: vom Vektor zur Verteilung
An diesem Punkt liefert uns der letzte Block für jede Position einen Vektor mit einigen tausend Dimensionen. Wie kommen wir daraus zurück zu einer Verteilung über das Vokabular?
Ein einziger Schritt. Man multipliziert diesen Vektor mit einer Matrix W_out mit den Dimensionen (d_model × |vocab|) und wendet anschließend einen Softmax an. Das Ergebnis: für jede Position eine Wahrscheinlichkeit über alle Tokens des Vokabulars — etwa 50.000 bei GPT-2, 128.000 bei Llama 3, 200.000 bei GPT-4o. Das ist die Ausgabe eines LLM — eine Verteilung.
Elegantes Detail: In vielen kleinen Modellen (GPT-2, Gemma…) teilt sich W_out die Gewichte mit der Eingabe-Embedding-Matrix (weight tying). Dieselbe Transformation, die Token 5234 auf einen Vektor abbildet, bildet umgekehrt einen Vektor auf die Wahrscheinlichkeit von Token 5234 ab. Spart Parameter und generalisiert besser. Große Modelle (GPT-3, Llama 70B, Mistral…) trennen die beiden Matrizen dagegen: In dieser Größenordnung fallen die zusätzlichen Parameter kaum ins Gewicht, und zwei freie Matrizen funktionieren besser als eine einzige, doppelt belastete.
Mixture of Experts: nicht alle Parameter feuern
Eine architektonische Variante ist in den jüngsten Modellen dominant geworden: Mixture of Experts (MoE). Mixtral, DeepSeek, Qwen und Llama 4 nutzen sie — das ist gesichert, ihre Architekturen sind veröffentlicht. Bei geschlossenen Modellen (GPT-4, Gemini) gibt es nur Leaks und Schätzungen: wahrscheinlich, aber nie offiziell bestätigt. Diese Nuance lohnt sich jedes Mal, wenn man eine Zahl über ein proprietäres Modell liest.
Die Idee: Statt eines einzigen FFN pro Block setzt man mehrere parallel ein (typischerweise 8 bis 128 Experten). Bei jedem Token wählt ein kleines Routing-Netzwerk (Router) zwei oder vier aus — die für diesen Token relevantesten. Nur diese Experten feuern.
Folge: Ein Modell kann 400 Milliarden „Gesamt"-Parameter haben, aber pro Token nur 50 Milliarden aktivieren. Kapazität eines großen Modells, Rechenkosten eines kleinen. Das ist es, was Mixtral 8×7B (47 Milliarden Parameter) bei der Inferenz mit deutlich größeren dichten Modellen konkurrenzfähig macht.
Der Kompromiss: Der VRAM muss alle Experten aufnehmen können (sonst muss man swappen), und das Routing fügt eine Schicht von Trainingsinstabilität hinzu. Es ist ein noch sehr aktives Forschungsgebiet.
Das Wunder der Einfachheit
Das gesamte Gebäude beruht auf einem einzigen Muster, wiederholt, normalisiert, zu sich selbst addiert. Keine spezifischen Strukturen für Grammatik. Keine getrennten Module für Semantik. Keine kodierten linguistischen Regeln.
Ein Transformer weiß nichts über Sprache. Er kann nur Vektoren mischen, indem er schaut, wer wem ähnelt.
Die gesamte Komplexität entsteht aus dem Training — das ist das Thema des nächsten Kapitels.
Aktualisiert am