Transformer¶
Der Transformer ist eine Architektur für neuronale Netze, die Vaswani et al. 2017 im Aufsatz Attention Is All You Need vorgestellt haben. Er wurde für maschinelle Übersetzung entwickelt, ist seither aber die Grundlage praktisch aller großen Sprachmodelle und wird vielfach für Bilder, Audio und andere Datenarten eingesetzt.
Warum keine Rekurrenz?¶
Rekurrente Netze lesen eine Sequenz Element für Element. Das verursacht zwei Probleme:
- Eingeschränkte Parallelisierung: Schritt \(t\) kann erst nach Schritt \(t-1\) berechnet werden, was das Training auf moderner paralleler Hardware verlangsamt.
- Weitreichende Abhängigkeiten: Informationen vom Anfang einer Sequenz müssen durch viele Zwischenschritte getragen werden und gehen dabei leicht verloren.
Der Transformer verzichtet vollständig auf Rekurrenz. Jede Position einer Sequenz kann direkt auf jede andere Position zugreifen, und alle Positionen werden parallel verarbeitet.
Attention¶
Die zentrale Operation ist die Self-Attention. Jedes Token (ein Wort oder Wortteil) wird durch einen Vektor dargestellt. Drei gelernte lineare Projektionen machen aus jedem dieser Vektoren eine Query (wonach diese Position sucht), einen Key (was sie anderen anbietet) und einen Value (die Information, die sie weitergibt). Stapelt man diese Vektoren für alle Positionen, erhält man die Matrizen \(Q\), \(K\) und \(V\). Die Scaled Dot-Product Attention lautet dann
Die Skalarprodukte in \(QK^\top\) messen, wie gut jede Query zu jedem Key passt. Die zeilenweise angewandte Softmax macht aus diesen Scores Gewichte, die sich zu eins summieren, und jede Ausgabe ist der entsprechend gewichtete Mittelwert der Values. Die Division durch \(\sqrt{d_k}\), wobei \(d_k\) die Dimension der Keys ist, verhindert, dass die Scores mit der Dimension wachsen, was die Softmax sonst in Bereiche mit sehr kleinen Gradienten drängen würde.
Intuition
Im Satz „Die Katze saß auf der Matte, weil sie müde war“ erlaubt Self-Attention der Repräsentation von „sie“, stark auf die Repräsentation von „Katze“ zurückzugreifen und so den Bezug aufzulösen.
Multi-Head Attention¶
Statt einer einzigen Attention-Funktion berechnet der Transformer mehrere parallel, jede mit eigenen Projektionen. Jeder dieser Heads kann sich auf eine andere Art von Beziehung spezialisieren, etwa syntaktische oder semantische. Ihre Ausgaben werden aneinandergehängt und zurück auf die Modelldimension projiziert.
Die Architektur¶
Jede Transformer-Schicht besteht aus zwei Teilschichten:
- Multi-Head Self-Attention und
- einem positionsweisen Feedforward-Netz, einem kleinen MLP, das auf jede Position einzeln angewandt wird.
Jede Teilschicht ist von einer Residualverbindung und einer Layer Normalization umgeben. Viele solcher Schichten werden gestapelt; das Basismodell im Originalaufsatz verwendete je sechs Schichten im Encoder und im Decoder.
Attention allein ignoriert die Reihenfolge der Tokens, daher muss Positionsinformation hinzugefügt werden. Der Originalaufsatz addierte feste sinusförmige Positionskodierungen zu den Eingabe-Embeddings; spätere Modelle verwenden oft gelernte oder relative Positionsverfahren, etwa Rotary Position Embeddings (RoPE).
Der ursprüngliche Transformer hat zwei Teile:
| Teil | Aufgabe | Bekannte Nachfolger |
|---|---|---|
| Encoder | liest die gesamte Eingabe und erzeugt eine kontextabhängige Repräsentation jedes Tokens | BERT |
| Decoder | erzeugt die Ausgabe Token für Token; kausale Maskierung verhindert, dass eine Position auf spätere Positionen zugreift | die GPT-Familie |
Bei der Übersetzung greift der Decoder zusätzlich über Cross-Attention auf die Ausgabe des Encoders zu. Die meisten modernen generativen Sprachmodelle bestehen nur aus einem Decoder.
Tokens und Embeddings¶
Bevor Text in das Modell gelangt, zerlegt ihn ein Tokenizer in Tokens, meist in Wortteile, die von Algorithmen wie Byte-Pair Encoding erzeugt werden. Jedes Token wird auf einen gelernten Vektor abgebildet, sein Embedding. Am Ausgang liefert eine lineare Schicht mit anschließender Softmax über das Vokabular eine Wahrscheinlichkeitsverteilung für das nächste Token. Dieser letzte Schritt ist eine multinomiale logistische Regression, die Erweiterung der logistischen Regression auf viele Klassen.
Quadratischer Aufwand
Self-Attention vergleicht jedes Token mit jedem anderen, daher wachsen Rechenaufwand und Speicherbedarf quadratisch mit der Sequenzlänge. Lange Kontexte effizient zu verarbeiten, ist ein aktives Forschungsgebiet.
Warum Transformer erfolgreich waren
Transformer lassen sich auf GPUs gut parallelisieren und skalieren gleichmäßig: Mit mehr Daten, Parametern und Rechenleistung verbessert sich ihre Leistung über viele Aufgaben hinweg vorhersagbar. Diese Skalierbarkeit ist ein Hauptgrund für den Aufstieg großer Sprachmodelle.