Zum Inhalt

Transformer

Der Transformer ist die Architektur hinter modernen LLMs wie GPT, Claude, Llama und Gemini. Er wurde 2017 von Google in dem Paper "Attention Is All You Need" vorgestellt und hat die KI revolutioniert.


Die Kernidee

Vor Transformern dominierten RNNs (Recurrent Neural Networks). Diese verarbeiten Text Wort für Wort – sequentiell. Das ist langsam und macht es schwer, Zusammenhänge über lange Distanzen zu lernen.

Transformer lösen das durch parallele Verarbeitung und den Attention-Mechanismus: Jedes Wort kann direkt auf jedes andere Wort "schauen", unabhängig von der Entfernung.

graph LR
    subgraph "RNN (alt)"
        A1[Wort 1] --> A2[Wort 2] --> A3[Wort 3] --> A4[Wort 4]
    end

    subgraph "Transformer (neu)"
        B1[Wort 1] <--> B2[Wort 2]
        B1 <--> B3[Wort 3]
        B1 <--> B4[Wort 4]
        B2 <--> B3
        B2 <--> B4
        B3 <--> B4
    end

Architektur-Überblick

Ein Transformer besteht aus gestapelten Encoder- und/oder Decoder-Blöcken:

Modelltyp Architektur Beispiele
Encoder-only Nur Encoder BERT, RoBERTa
Decoder-only Nur Decoder GPT, Llama, Claude
Encoder-Decoder Beide T5, BART

Moderne LLMs sind fast alle Decoder-only – sie generieren Text Token für Token.


Der Decoder-Block

Jeder Decoder-Block enthält:

graph TB
    Input[Input Embeddings] --> Norm1[Layer Norm]
    Norm1 --> Attn[Masked Self-Attention]
    Attn --> Add1[+ Residual]
    Add1 --> Norm2[Layer Norm]
    Norm2 --> FFN[Feed-Forward Network]
    FFN --> Add2[+ Residual]
    Add2 --> Output[Output]

    Input --> Add1
    Add1 --> Add2

1. Self-Attention

Der Kern des Transformers. Hier entscheidet das Modell, welche anderen Tokens für das aktuelle Token relevant sind. Details: → Attention

2. Feed-Forward Network (FFN)

Ein einfaches neuronales Netz mit zwei Schichten:

\[ \text{FFN}(x) = \text{GELU}(xW_1 + b_1)W_2 + b_2 \]

Das FFN verarbeitet jede Position unabhängig und speichert "Wissen" in seinen Gewichten.

3. Layer Normalization

Stabilisiert das Training, indem Aktivierungen normalisiert werden:

\[ \text{LayerNorm}(x) = \frac{x - \mu}{\sigma} \cdot \gamma + \beta \]

4. Residual Connections

Die "+" Verbindungen. Sie erlauben Gradienten, direkt durch das Netzwerk zu fließen, was tiefe Netzwerke erst trainierbar macht.


Positionsinformation

Da Transformer alle Tokens parallel verarbeiten, wissen sie zunächst nicht, welches Token wo steht. Positional Encodings lösen das:

Sinusoidale Encodings (Original):

[ PE_{(pos, 2i)} = \sin(pos / 10000^{2i/d}) ] [ PE_{(pos, 2i+1)} = \cos(pos / 10000^{2i/d}) ]

RoPE (Rotary Position Embedding): Moderner Standard in Llama, Mistral etc. Kodiert Position als Rotation im Embedding-Raum.


Skalierung

Transformers skalieren gut – mehr Parameter und Daten = bessere Performance. Das ist die Grundlage der "Scaling Laws":

Modell Parameter Decoder-Blöcke Attention Heads
GPT-2 Small 124M 12 12
GPT-3 175B 96 96
Llama 3 70B 70B 80 64

Warum so viele Parameter?

Die meisten Parameter stecken im FFN (~⅔) und in den Embedding-Tabellen. Die Attention selbst ist relativ "günstig".


Inference-Ablauf

Schritt für Schritt, wie ein Transformer Text generiert:

  1. Tokenisierung: Text → Token-IDs
  2. Embedding: Token-IDs → Vektoren
  3. Positional Encoding: Position hinzufügen
  4. N × Decoder-Block: Attention + FFN
  5. Output-Projektion: Vektor → Vokabular-Wahrscheinlichkeiten
  6. Sampling: Nächstes Token wählen (Temperature, Top-K, Top-P)
  7. Wiederholen ab Schritt 1 mit neuem Token
# Vereinfacht
for _ in range(max_tokens):
    logits = model(tokens)           # Forward pass
    next_token = sample(logits[-1])  # Letztes Token samplen
    tokens.append(next_token)
    if next_token == eos_token:
        break

Der KV-Cache

Bei der Inferenz muss Attention für alle vorherigen Tokens berechnet werden. Der KV-Cache speichert die Key- und Value-Vektoren, sodass sie nicht neu berechnet werden müssen.

→ Siehe KV-Cache für Details


Varianten & Verbesserungen

Technik Beschreibung
Multi-Query Attention Keys/Values werden zwischen Heads geteilt → weniger VRAM
Grouped-Query Attention Kompromiss zwischen MHA und MQA
Flash Attention Memory-effiziente Attention-Implementierung
Mixture of Experts Nur Teil der Parameter wird pro Token aktiviert

Siehe auch

  • Attention – Der Kern des Transformers
  • Embedding – Wie Text zu Vektoren wird
  • Tokenisierung – Text in Tokens zerlegen
  • LLM – Large Language Models auf Transformer-Basis