Feed-Forward-Netzwerk
In jedem Verarbeitungsschritt eines Sprachmodells gibt es eine Stelle, an der jedes Wort für sich allein durch ein kleines Netzwerk geschickt wird. Dieses Netzwerk verändert die interne Darstellung des Wortes, ohne Informationen von Nachbarwörtern einzubeziehen. In der Fachsprache heißt diese Komponente Feed-Forward-Netzwerk (FFN).
Das Feed-Forward-Netzwerk ist neben der Attention-Schicht die zweite tragende Komponente in jedem Transformer-Block. Während Attention den Austausch zwischen Tokens regelt, arbeitet das FFN positionsweise: Es verarbeitet jedes Token unabhängig von allen anderen. Diese klare Trennung zwischen kontextueller Verknüpfung und lokaler Transformation ist ein Designprinzip, das den Transformer seit seiner Einführung 2017 prägt.
Aufbau: Zwei Matrixmultiplikationen mit Aktivierung
Ein Feed-Forward-Netzwerk im Transformer besteht aus zwei linearen Schichten und einer nichtlinearen Aktivierungsfunktion dazwischen. Die erste Schicht projiziert den Eingabevektor in einen höherdimensionalen Raum. Die Aktivierungsfunktion führt Nichtlinearität ein. Die zweite Schicht projiziert zurück in die ursprüngliche Dimension.
Formal: FFN(x) = W₂ · σ(W₁ · x + b₁) + b₂, wobei W₁ und W₂ Gewichtsmatrizen sind, b₁ und b₂ Bias-Vektoren, und σ die Aktivierungsfunktion.
Beispiel: Ein Transformer mit Modelldimension d=768 (wie BERT-base) hat ein FFN mit innerer Dimension 3072. Die erste Matrix W₁ hat die Form 768×3072, die zweite Matrix W₂ die Form 3072×768. Jede Token-Repräsentation durchläuft diese beiden Multiplikationen einzeln.
Beispiel: Bei GPT-3 mit d=12.288 ist die innere Dimension 49.152. Die Gewichtsmatrizen des FFN enthalten damit über 1,2 Milliarden Parameter pro Block. Bei 96 Blöcken ergibt das rund 115 Milliarden FFN-Parameter, also etwa zwei Drittel aller Parameter des Modells.
Die Rolle der Dimensionserweiterung
Die innere Dimension des FFN ist in der Regel viermal größer als die Modelldimension. Dieser Faktor ist keine Naturkonstante, sondern eine empirisch bewährte Wahl aus dem ursprünglichen Transformer-Paper (Vaswani et al., 2017). Die Expansion erlaubt dem Netzwerk, die Eingabe in einem höherdimensionalen Raum zu analysieren und komplexere Muster zu erkennen, bevor die Kompression zurück auf die Modelldimension die relevanten Merkmale verdichtet.
Beispiel: Stell Dir ein Fließband vor, auf dem Pakete einzeln durch eine Sortierstation laufen. Die Station öffnet jedes Paket, breitet den Inhalt auf einem breiten Tisch aus (Expansion), prüft und ordnet die Teile (Aktivierung), packt alles in ein neues, gleich großes Paket (Kompression). Die breitere Arbeitsfläche erlaubt eine gründlichere Analyse.
Beispiel: In der Praxis experimentieren einige Architekturen mit anderen Faktoren. Manche verwenden den Faktor 8/3 (etwa 2,67) in Kombination mit Gated-Varianten, um bei ähnlicher Rechenleistung mehr Kapazität zu erreichen. Die Wahl des Faktors beeinflusst direkt, wie viele Parameter das Modell hat und wie viel Speicher es benötigt.
Aktivierungsfunktionen: Von ReLU zu gated Varianten
Die Aktivierungsfunktion zwischen den beiden linearen Schichten entscheidet, welche Informationen durchgelassen und welche unterdrückt werden. Ohne sie wäre das FFN eine einzelne lineare Transformation, die keine komplexen Muster erkennen könnte.
Im ursprünglichen Transformer kam ReLU zum Einsatz: max(0, x). Jeder negative Wert wird auf null gesetzt, positive Werte bleiben unverändert. ReLU ist recheneffizient, hat aber ein Problem: Neuronen, deren Eingabe dauerhaft negativ ist, lernen nicht mehr weiter (Dead-Neuron-Problem).
GELU (Gaussian Error Linear Unit) löst dieses Problem teilweise, indem sie kleine negative Werte nicht abrupt auf null setzt, sondern sanft übergeht. BERT verwendet GELU als Standard-Aktivierung.
Gated-Varianten wie SwiGLU gehen einen Schritt weiter. Sie teilen die innere Repräsentation in zwei Pfade: Einer bestimmt den Inhalt, der andere steuert, wie viel davon durchgelassen wird. Das erfordert eine dritte Gewichtsmatrix, verbessert aber die Modellqualität messbar. LLaMA, PaLM und viele aktuelle Modelle verwenden SwiGLU oder verwandte Gating-Mechanismen.
Beispiel: Bei ReLU wird der Wert -0,3 zu 0. Bei GELU wird er zu etwa -0,01. Bei SwiGLU kann der Wert je nach Gate-Signal zwischen vollständiger Unterdrückung und leichter Dämpfung variieren. Der Unterschied zeigt sich besonders bei seltenen Wörtern, deren Repräsentationen häufig im negativen Bereich liegen.
Das FFN als Wissensspeicher
Eine der bedeutendsten Erkenntnisse der Transformer-Forschung ist, dass FFN-Schichten als assoziative Wissensspeicher fungieren. Geva et al. (2021) zeigten, dass einzelne Neuronen in den FFN-Schichten auf spezifische semantische Konzepte reagieren: Ein Neuron feuert bei Ländernamen, ein anderes bei Datumsangaben, ein drittes bei medizinischen Begriffen.
Die Gewichtsmatrix W₁ fungiert dabei als Schlüssel: Sie prüft, ob die aktuelle Token-Repräsentation zu einem gelernten Muster passt. W₂ fungiert als Wert: Sie bestimmt, welche Information in die Token-Repräsentation geschrieben wird. Dieses Key-Value-Muster ähnelt der Attention, arbeitet aber mit festem, gelerntem Wissen statt mit kontextabhängiger Verknüpfung.
Beispiel: Wenn das Token "Paris" verarbeitet wird, aktiviert W₁ Neuronen, die auf Hauptstädte spezialisiert sind. W₂ schreibt dann Informationen wie "ist Hauptstadt von Frankreich" in die Repräsentation. Diese Information steht dem Modell in späteren Schichten zur Verfügung, ohne dass sie explizit im Kontext erwähnt wurde.
Beispiel: Meng et al. (2022) demonstrierten, dass sich Faktenwissen gezielt ändern lässt, indem man einzelne Zeilen in den FFN-Gewichtsmatrizen editiert. Die Technik (ROME, Rank-One Model Editing) konnte zum Beispiel das gespeicherte Wissen "Eiffelturm steht in Paris" zu "Eiffelturm steht in London" ändern, ohne andere Fakten zu beeinflussen. Das belegt, dass Faktenwissen tatsächlich lokalisiert in FFN-Schichten gespeichert ist.
Fachliche Einordnung: Die Interpretation der FFN-Schichten als Wissensspeicher ist durch mehrere unabhängige Studien gestützt (Geva et al. 2021, Dai et al. 2022, Meng et al. 2022). Es handelt sich um eine vereinfachende Perspektive: In der Praxis sind Wissensrepräsentationen über mehrere Schichten und Komponenten verteilt. Die Lokalisierung einzelner Fakten in einzelnen Neuronen gelingt nicht immer zuverlässig, und die Methode skaliert bei komplexen Zusammenhängen schlechter.Warum jedes Token einzeln verarbeitet wird
Das FFN hat keinen Zugriff auf Nachbar-Tokens. Es sieht ausschließlich den Vektor, den die Attention-Schicht für eine bestimmte Position berechnet hat. Diese Einschränkung ist beabsichtigt: Die Attention-Schicht hat bereits kontextuelle Information in den Vektor integriert. Das FFN arbeitet auf dieser angereicherten Repräsentation.
Die positionsweise Verarbeitung hat einen praktischen Vorteil: Sie ist parallelisierbar. Alle Tokens eines Batches können gleichzeitig durch das FFN geschickt werden, weil zwischen ihnen keine Abhängigkeiten bestehen. Auf moderner GPU-Hardware lässt sich das als eine einzige große Matrixmultiplikation realisieren.
Beispiel: Bei einem Eingabetext mit 2048 Tokens verarbeitet die Attention-Schicht alle 2048 Positionen im Zusammenhang (O(n²) Komplexität). Das FFN verarbeitet anschließend jeden der 2048 Vektoren einzeln (O(n) Komplexität). Trotzdem verbraucht das FFN häufig mehr Rechenzeit, weil seine Matrizen deutlich größer sind als die Attention-Matrizen.
Residualverbindung und Regularisierung
Die Ausgabe des FFN wird nicht direkt an die nächste Schicht weitergegeben. Stattdessen wird sie zur Eingabe addiert (Residualverbindung) und anschließend normalisiert. Dieser Aufbau folgt dem Schema: output = LayerNorm(x + FFN(x)).
Die Residualverbindung löst ein konkretes Problem: In tiefen Netzwerken kann das Gradientensignal beim Training über viele Schichten hinweg so stark abschwächen, dass die unteren Schichten kaum noch lernen. Die Addition der ursprünglichen Eingabe ermöglicht dem Gradienten einen direkten Pfad durch das Netzwerk.
Zusätzlich wird Dropout auf die Ausgabe des FFN angewendet. Beim Training wird ein zufälliger Anteil der Neuronen (typisch 10%) auf null gesetzt, um Überanpassung zu reduzieren.
Beispiel: Ohne Residualverbindung müsste der Gradient bei BERT-base durch 12 Attention-Schichten und 12 FFN-Schichten fließen, also 24 nichtlineare Transformationen. Mit Residualverbindung existiert ein Kurzschluss-Pfad, der maximal eine Addition pro Schicht enthält. Das stabilisiert das Training erheblich.
Mixture of Experts: Bedingte Aktivierung von FFN-Teilnetzwerken
In Standard-Transformern durchläuft jedes Token dasselbe FFN. In Mixture-of-Experts-Architekturen (MoE) wird das FFN durch mehrere parallele FFN-Blöcke (Experten) ersetzt. Ein Routing-Netzwerk entscheidet für jedes Token, welche Experten aktiviert werden. Typischerweise werden nur zwei von mehreren Dutzend Experten pro Token ausgewählt.
Dieses Design entkoppelt die Gesamtgröße des Modells von den Rechenkosten pro Token. Ein MoE-Modell mit 8 Experten pro Schicht hat achtmal so viele FFN-Parameter wie ein dichtes Modell, benötigt aber pro Token nur den Rechenaufwand von zwei Experten.
Beispiel: Mixtral 8x7B hat insgesamt rund 47 Milliarden Parameter, aktiviert aber pro Token nur etwa 13 Milliarden. Die Inferenzgeschwindigkeit ist dadurch vergleichbar mit einem dichten 13B-Modell, während die Modellqualität näher an einem 70B-Modell liegt.
Beispiel: Das Routing-Problem ist nicht trivial. Wenn alle Tokens zu denselben Experten geroutet werden, bleiben andere Experten ungenutzt (Load-Imbalance). Shazeer et al. (2017) führten deshalb einen Hilfsverlust ein, der das Routing gleichmäßig über alle Experten verteilt. Moderne Systeme wie Switch Transformer vereinfachen das Routing auf einen einzelnen Experten pro Token.
Grenzen und offene Fragen
Die größte Einschränkung des FFN ist sein statischer Charakter. Die Gewichte werden beim Training festgelegt und verändern sich bei der Inferenz nicht. Neues Wissen, das nach dem Training entsteht, ist im FFN nicht repräsentiert. Retrieval-augmentierte Systeme umgehen dieses Problem, indem sie externes Wissen über den Kontext einspeisen, statt es in den FFN-Gewichten zu speichern.
Die positionsweise Verarbeitung begrenzt die Ausdrucksstärke des FFN: Komplexe Transformationen, die den Vergleich zwischen mehreren Positionen erfordern, können nur indirekt über die vorherige Attention-Schicht realisiert werden. Diese Abhängigkeit von der Attention-Schicht bedeutet, dass die Qualität der FFN-Verarbeitung direkt davon abhängt, wie gut die Attention den Kontext in den Token-Vektor integriert hat.
Beispiel: Wenn ein Sprachmodell nach dem Präsidenten eines Landes gefragt wird, das erst nach dem Training einen neuen Präsidenten bekommen hat, liefert das FFN die veraltete Antwort. Das ist kein Fehler im Sinne eines Bugs. Es ist eine strukturelle Eigenschaft: Das FFN speichert einen Snapshot des Wissens zum Zeitpunkt des Trainings.
Ein weiteres offenes Forschungsgebiet ist die optimale Größe der inneren Dimension. Der Faktor 4 aus dem ursprünglichen Paper ist weit verbreitet, aber nicht zwingend optimal. Neuere Arbeiten (z.B. Scaling Laws von Hoffmann et al., 2022) deuten darauf hin, dass die optimale FFN-Dimension vom Verhältnis zwischen Trainingsbudget und Modellgröße abhängt.
Fachliche Einordnung: Die Forschung zur Interpretierbarkeit von FFN-Schichten ist ein aktives Feld. Methoden wie Probing, Causal Tracing und Activation Patching liefern zunehmend detaillierte Einblicke, wie einzelne Schichten und Neuronen zum Modellverhalten beitragen. Die Ergebnisse sind jedoch modellspezifisch und lassen sich nicht ohne weiteres auf andere Architekturen übertragen. Die Frage, ob FFN-Schichten tatsächlich als diskrete Wissensdatenbanken funktionieren oder ob diese Metapher die verteilte Natur neuronaler Repräsentationen zu stark vereinfacht, ist Gegenstand laufender Diskussionen.