Transformer-Architektur und Attention-Mechanismus: Technische Analyse
Die von Google im Jahr 2017 in der Arbeit "Attention Is All You Need" vorgestellte Transformer-Architektur bildet das Rückgrat der modernen künstlichen Intelligenz. Alle großen Sprachmodelle wie GPT, Claude und Gemini basieren auf dieser Architektur.
Vor den Transformern: Einschränkungen von RNN und LSTM
Vor der Transformer-Ära stützten sich NLP-Aufgaben auf Recurrent Neural Networks (RNN) und Long Short-Term Memory (LSTM) Netzwerke:
Probleme von RNN/LSTM:
- Erfordernis sequentieller Verarbeitung → Parallelisierung ist unmöglich.
- Gradienten-Verschwinden/-Explodieren bei langen Sequenzen.
- Schwierigkeiten beim Erlernen langfristiger Abhängigkeiten.
- Sehr lange Trainingszeiten.
Self-Attention-Mechanismus
Self-Attention ist ein Mechanismus, der die Beziehung zwischen jedem Element einer Sequenz und allen anderen Elementen berechnet.
Mathematische Formulierung
Attention(Q, K, V) = softmax(QK^T / √d_k) × V
Parameter:
- Q (Query): Der abfragende Vektor.
- K (Key): Der Schlüsselvektor, der abgeglichen wird.
- V (Value): Der eigentliche Informationsvektor.
- d_k: Die Dimension des Key-Vektors.
Schrittweise Berechnung
- Projektion: Input → Q-, K-, V-Matrizen
1Q = X × W_Q 2K = X × W_K 3V = X × W_V
- Attention Scores: Dot-Produkt von Q und K
scores = Q × K^T
- Skalierung: Division durch √d_k für Stabilität des Gradienten
scaled_scores = scores / √d_k
- Softmax: Umwandlung in eine Wahrscheinlichkeitsverteilung
attention_weights = softmax(scaled_scores)
- Gewichtete Summe: Multiplikation mit V
output = attention_weights × V
Multi-Head Attention
Anstelle eines einzelnen Attention-Kopfes werden mehrere parallele Attention-Köpfe verwendet:
1MultiHead(Q, K, V) = Concat(head_1, ..., head_h) × W_O 2 3where head_i = Attention(QW_Q^i, KW_K^i, VW_V^i)
Vorteile von Multi-Head Attention
- Lernen in verschiedenen Darstellungssubräumen.
- Erfassen unterschiedlicher Arten kontextueller Beziehungen.
- Reichhaltigere Merkmalsextraktion.
Typische Konfigurationen:
- GPT-3: 96 Attention-Heads, d_model = 12288.
- GPT-4: Geschätzt 120+ Heads.
Positional Encoding
Da Transformer Daten parallel verarbeiten, wird Positionsinformation hinzugefügt, um den sequentiellen Kontext zu erhalten:
Sinusoidales Positional Encoding
PE(pos, 2i) = sin(pos / 10000^(2i/d_model)) PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))
Rotary Positional Embedding (RoPE)
Eine fortschrittlichere Methode, die in modernen Modellen verwendet wird:
f(x, pos) = x × e^(i × pos × θ)
Vorteile von RoPE:
- Kodiert relative Positionsinformationen auf natürliche Weise.
- Bessere Extrapolationsfähigkeit für längere Sequenzen.
- Verwendet in GPT-NeoX, LLaMA und Mistral-Modellen.
Feed-Forward Network
Ein MLP-Layer, der auf jede Attention-Schicht folgt:
FFN(x) = GELU(xW_1 + b_1)W_2 + b_2
Typische Dimensionen:
- d_model = 4096.
- d_ff = 4 × d_model = 16384.
Aktivierungsfunktionen
- ReLU: Klassisch und einfach.
- GELU: Bevorzugt in GPT-Modellen.
- SwiGLU: Verwendet in LLaMA- und PaLM-Modellen.
Layer Normalization
Kritisch für Trainingsstabilität:
Pre-LN vs Post-LN
Post-LN (Original):
x = x + Attention(LayerNorm(x))
Pre-LN (Modern):
x = LayerNorm(x + Attention(x))
Pre-LN bietet stabileres Training und ist heute Industriestandard.
Encoder- vs Decoder-Architekturen
Encoder-Only (BERT-Stil)
- Bidirektionale Attention.
- Verwendet für Klassifikation, NER und semantische Ähnlichkeit.
- Masked Language Modeling.
Decoder-Only (GPT-Stil)
- Kausale/autoregessive Attention.
- Verwendet für Textgenerierung und Chat.
- Vorhersage des nächsten Tokens.
Encoder-Decoder (T5, BART)
- Sequence-to-Sequence Aufgaben.
- Übersetzung und Zusammenfassung.
Causal Masking
Maskierung zukünftiger Tokens in Decoder-Modellen:
mask = triu(ones(seq_len, seq_len), diagonal=1) masked_scores = scores + mask × (-inf)
Dies stellt sicher, dass das Modell während der Generierung nur vorherige Tokens betrachtet.
KV-Cache-Optimierung
Um redundante Berechnungen während der Inferenz zu vermeiden:
1Step 1: Calculate K_1, V_1 → save to cache 2Step 2: Calculate K_2, V_2 → K = [K_1, K_2], V = [V_1, V__2] 3Step n: Calculate only for the new token, retrieve old values from cache
Speichereinsparungen: O(n²) → O(n) für Verarbeitungsschritte.
Flash Attention
Eine speichereffiziente Attention-Implementierung:
Probleme der Standard-Attention:
- O(n²) Speicherverbrauch.
- HBM-Engpass (High Bandwidth Memory).
Flash-Attention-Lösung:
- Tiling: Aufteilung der Attention in Blöcke.
- Online Softmax: Inkrementelle Berechnung.
- I/O-aware: Optimierung der GPU-Speicherhierarchie.
Ergebnis: 2–4x schneller, 5–20% weniger Speicherverbrauch.
Sparse-Attention-Varianten
Reduzierung der Attention-Komplexität für lange Kontexte:
Lokale Attention
Fokus nur auf nahegelegene Tokens.
Dilatierte Attention
Anwendung von Attention in bestimmten Intervallen.
Longformer-Muster
Kombination aus lokaler und globaler Attention.
Moderne Transformer-Varianten
| Model | Feature | Context Length |
|---|---|---|
| GPT-4 | MoE, langer Kontext | 128K |
| Claude 3 | Constitutional AI | 200K |
| Gemini 1.5 | Sparse MoE | 1M |
| Mistral | Gleitendes Fenster | 32K |
Fazit
Die Transformer-Architektur ist der grundlegende Baustein moderner KI. Ihr Self-Attention-Mechanismus, die Fähigkeit zur parallelen Verarbeitung und die Kapazität, langfristige Abhängigkeiten zu lernen, haben diese Architektur revolutionär gemacht.
Bei Veni AI nutzen wir Transformer-basierte Modelle effektiv in unseren Unternehmenslösungen. Kontaktieren Sie uns für technische Beratung.
