23 Architektur von Transformers und ihre Funktionsweise

23.1 Einführung

Transformer-Modelle sind eine bahnbrechende Architektur für maschinelles Lernen, die 2017 mit dem Paper „Attention is All You Need“ von Vaswani et al. eingeführt wurde. Sie haben klassische rekurrente Netzwerke (RNNs, LSTMs) weitgehend ersetzt und sind heute der Standard für natürliche Sprachverarbeitung (NLP), Computer Vision und viele andere KI-Anwendungen.

Das zentrale Element eines Transformers ist der Self-Attention-Mechanismus, der es ermöglicht, weit entfernte Abhängigkeiten in Sequenzen effizient zu modellieren.


23.2 Gesamtarchitektur eines Transformers

Ein Transformer besteht aus zwei Hauptkomponenten:

  1. Encoder (für die Verarbeitung der Eingabe)
  2. Decoder (für die Generierung der Ausgabe)

23.2.1 Überblick über den Aufbau

📌 Ein Transformer-Netzwerk besteht aus mehreren Schichten von Encodern und Decodern, wobei jede dieser Schichten dieselbe Struktur hat:

🔹 Encoder (mehrere Schichten) - Eingabe wird durch Self-Attention verarbeitet. - Fully Connected Feedforward-Netzwerke verarbeiten die extrahierten Merkmale. - Residual-Verbindungen und Layer-Normalisierung stabilisieren das Training.

🔹 Decoder (mehrere Schichten) - Enthält zusätzlich eine Masked Self-Attention-Schicht, die verhindert, dass zukünftige Tokens während der Vorhersage „gesehen“ werden. - Verwendet Encoder-Decoder-Attention, um die Eingabeinformationen zu berücksichtigen.


23.3 Detaillierte Architektur

23.3.1 Eingabeverarbeitung

Bevor die Sequenz in den Transformer eingegeben wird, erfolgt eine Vektorisierung:

  1. Tokenisierung: Der Text wird in einzelne Token umgewandelt (Wörter oder Subwörter).
  2. Einbettung (Embedding Layer): Jedes Token wird in einen d-dimensionalen Vektor umgewandelt.
  3. Positionscodierung (Positional Encoding): Da der Transformer keine Sequenzreihenfolge speichert (anders als RNNs), wird die Positionsinformation addiert:

PE(pos, 2i) = sin(pos / 10000^(2i/d))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d))

📌 Ergebnis: Die Eingabesequenz enthält nicht nur inhaltliche, sondern auch positionsbezogene Informationen.


23.3.2 Encoder-Schicht

Jeder Encoder-Block besteht aus zwei Kernkomponenten:

🔹 Multi-Head Self-Attention
🔹 Feedforward-Netzwerk (FFN)

(1) Multi-Head Self-Attention

Attention(Q, K, V) = softmax((QKᵀ) / √dₖ) ⋅ V

📌 Ergebnis: Jeder Token kennt seinen Kontext innerhalb der gesamten Eingabe.

(2) Feedforward-Netzwerk (FFN)

Nach der Self-Attention erfolgt eine nichtlineare Transformation mit einer ReLU-Aktivierungsfunktion:

FFN(x) = max(0, xW₁ + b₁)W₂ + b₂

📌 Ergebnis: Tiefere Abstraktion der Features.

Jeder Encoder-Block enthält zudem: - Layer Normalization → Stabilisierte Gradienten. - Residual Connections → Verhindern den Verlust von Informationen durch tiefere Schichten.


23.3.3 Decoder-Schicht

Zusätzlich zu den beiden Komponenten des Encoders enthält der Decoder drei Kernelemente:

  1. Masked Self-Attention
  2. Encoder-Decoder-Attention
  3. Feedforward-Netzwerk

📌 Ergebnis: Der Decoder generiert Wort für Wort eine Ausgabe, indem er das bereits generierte Token berücksichtigt.


23.4 Warum ist der Transformer so leistungsfähig?

Parallele Verarbeitung: Kein schrittweises Abarbeiten von Sequenzen wie bei RNNs oder LSTMs.
Langfristige Abhängigkeitsmodellierung: Self-Attention ermöglicht das Erfassen weit entfernter Beziehungen.
Skalierbarkeit: Ermöglicht riesige Modelle wie GPT-4 oder BERT.
Erhöhte Interpretierbarkeit: Attention Scores zeigen, welche Token für die Entscheidung wichtig sind.


23.5 Anwendungen von Transformer-Modellen

📌 Maschinelle Übersetzung (NLP) → Google Translate, DeepL
📌 Textgenerierung → ChatGPT, GPT-4, BERT
📌 Bilderkennung → Vision Transformer (ViT)
📌 Proteinfaltung → AlphaFold von DeepMind