Im ersten Teil dieser Serie haben wir die Grundlagen neuronaler Netze kennengelernt. Jetzt tauchen wir tiefer ein: Wie funktionieren die Sprachmodelle, die hinter ChatGPT, Claude und Gemini stecken? Was macht sie so leistungsfähig – und so ressourcenhungrig?
Von Text zu Zahlen: Tokenisierung
Computer verstehen keine Wörter, nur Zahlen. Der erste Schritt jedes Sprachmodells ist die Tokenisierung: Text wird in kleine Einheiten zerlegt.
Warum nicht einfach Buchstaben?
Buchstaben-basierte Modelle wären ineffizient. Das Wort “Entwicklung” hat 11 Buchstaben – 11 Verarbeitungsschritte. Mit Tokens geht es schneller.
Subword-Tokenisierung
Moderne Modelle nutzen Byte Pair Encoding (BPE) oder ähnliche Verfahren:
- Häufige Wörter werden zu einem Token: “the” →
[the] - Seltene Wörter werden zerlegt: “Tokenisierung” →
[Token][isierung] - Unbekannte Wörter funktionieren trotzdem: “Blitzdings” →
[Blitz][dings]
GPT-4 verwendet etwa 100.000 verschiedene Tokens. Ein durchschnittliches englisches Wort entspricht etwa 1,3 Tokens, deutsche Wörter eher 1,5-2 Tokens.
Die Konsequenz für Hardware
Ein Text mit 4.000 Wörtern wird zu etwa 5.000-8.000 Tokens. Jeder Token muss durch das gesamte Modell verarbeitet werden – das erklärt, warum lange Texte so viel Rechenleistung brauchen.
Embeddings: Bedeutung als Vektor
Nach der Tokenisierung wird jeder Token in einen Embedding-Vektor umgewandelt – eine Liste von Zahlen, die die Bedeutung repräsentiert.
Wie funktionieren Embeddings?
Jeder Token erhält einen Vektor mit typischerweise 4.096 bis 12.288 Dimensionen. Diese Vektoren werden beim Training so angepasst, dass:
- Ähnliche Wörter ähnliche Vektoren haben
- Beziehungen sich in Vektoroperationen widerspiegeln
Das klassische Beispiel:
König - Mann + Frau ≈ Königin
Die Vektoren für “König” minus “Mann” plus “Frau” ergeben einen Vektor nahe “Königin”.
Positional Encoding
Transformer verarbeiten alle Tokens parallel – sie wissen nicht automatisch, welches Wort zuerst kam. Positional Encoding fügt Positionsinformationen hinzu:
Token-Embedding + Positions-Embedding = Finales Embedding
Moderne Modelle nutzen oft Rotary Position Embedding (RoPE), das relative Positionen besser erfasst und längere Kontexte ermöglicht.
Der Transformer-Block
Das Herzstück jedes modernen Sprachmodells ist der Transformer-Block. GPT-4 hat etwa 120 davon hintereinander geschaltet.
Self-Attention: Das Geheimnis der Transformer
Self-Attention beantwortet die Frage: “Welche anderen Wörter sind für dieses Wort relevant?”
Für jeden Token werden drei Vektoren berechnet:
- Query (Q): “Was suche ich?”
- Key (K): “Was biete ich an?”
- Value (V): “Welche Information trage ich?”
Die Attention-Berechnung:
Attention(Q, K, V) = softmax(Q × K^T / √d) × V
Schritt für Schritt:
- Query wird mit allen Keys multipliziert → Ähnlichkeitsscores
- Scores werden durch √d geteilt (Stabilisierung)
- Softmax macht daraus Wahrscheinlichkeiten
- Wahrscheinlichkeiten gewichten die Values
- Gewichtete Values werden summiert → Ausgabe
Multi-Head Attention
Ein einzelner Attention-Mechanismus erfasst nur eine Art von Beziehung. Multi-Head Attention führt die Berechnung parallel mit verschiedenen gelernten Projektionen durch:
- GPT-3: 96 Attention-Heads
- GPT-4: vermutlich 120+ Heads
Jeder Head lernt andere Beziehungen: grammatikalische Struktur, semantische Ähnlichkeit, Korerefenz, etc.
Feed-Forward Network
Nach der Attention kommt ein einfaches Feed-Forward-Netz:
FFN(x) = GELU(x × W1 + b1) × W2 + b2
Diese Schicht speichert das “Wissen” des Modells – die Gewichtsmatrizen W1 und W2 enthalten die während des Trainings gelernten Fakten und Muster.
Layer Normalization und Residual Connections
Zwei Techniken stabilisieren das Training:
- Residual Connections: Die Eingabe wird zur Ausgabe addiert (x + Attention(x))
- Layer Normalization: Normalisiert die Werte zwischen den Schichten
Ohne diese würden tiefe Netze nicht trainierbar sein.
Die Kosten der Attention
Der Attention-Mechanismus ist mächtig, aber teuer. Die Komplexität skaliert quadratisch mit der Sequenzlänge.
Rechenaufwand
Für eine Sequenz mit n Tokens:
- Q × K^T: n × n Multiplikationen
- Softmax: n × n Operationen
- Attention × V: n × n Multiplikationen
Bei 4.096 Tokens: 16,7 Millionen Operationen – pro Head, pro Layer.
Speicherbedarf
Die Attention-Matrix (n × n) muss im Speicher gehalten werden:
- 4.096 Tokens × 4.096 Tokens × 4 Bytes = 67 MB
- Bei 96 Heads und 120 Layern: mehrere Terabyte
Deshalb haben Modelle Kontextlimits: 4K, 8K, 32K, 128K Tokens – je mehr, desto teurer.
Optimierungen
Verschiedene Techniken reduzieren den Aufwand:
Flash Attention: Berechnet Attention blockweise, spart Speichertransfers Grouped Query Attention: Mehrere Query-Heads teilen sich Key/Value Sliding Window Attention: Begrenzt Attention auf lokale Fenster
Training vs. Inferenz
Die Hardware-Anforderungen unterscheiden sich fundamental.
Training
Beim Training wird das Modell auf riesigen Textmengen optimiert:
- Forward Pass: Text durch das Modell
- Loss-Berechnung: Vorhersage vs. tatsächliches nächstes Token
- Backward Pass: Gradienten berechnen
- Update: Gewichte anpassen
Das erfordert:
- Alle Gewichte im Speicher
- Alle Aktivierungen für Backpropagation
- Optimierer-States (Adam braucht 2× Speicher der Gewichte)
GPT-3-Training: ~1.000 GPUs für mehrere Monate, geschätzte Kosten 4-12 Millionen Dollar.
Inferenz
Bei der Inferenz wird das trainierte Modell genutzt:
- Nur Forward Pass
- Keine Gradienten nötig
- Aber: KV-Cache für bereits verarbeitete Tokens
Der KV-Cache speichert Key- und Value-Vektoren, damit sie nicht neu berechnet werden müssen. Bei langen Kontexten kann dieser Cache größer werden als das Modell selbst.
Modellgrößen und ihre Bedeutung
Was bedeuten “7B”, “70B”, “175B” Parameter?
Parameter = Gewichte
Ein 7-Milliarden-Parameter-Modell hat 7 Milliarden Gewichtswerte:
- Embedding-Matrix: Vokabular × Embedding-Dimension
- Attention-Gewichte: 4 × (d × d) pro Layer
- FFN-Gewichte: 2 × (d × 4d) pro Layer
- Layer Norm, Biases, etc.
Speicherbedarf
| Parameter | FP32 | FP16 | INT8 |
|---|---|---|---|
| 7B | 28 GB | 14 GB | 7 GB |
| 70B | 280 GB | 140 GB | 70 GB |
| 175B | 700 GB | 350 GB | 175 GB |
Eine einzelne GPU hat 24-80 GB Speicher. Große Modelle brauchen mehrere GPUs oder spezialisierte Hardware.
Skalierungsgesetze
OpenAI und andere haben empirisch festgestellt:
Performance ∝ (Parameter)^0.076 × (Daten)^0.095 × (Compute)^0.050
Vereinfacht: 10× mehr Parameter verbessern die Leistung um ~50%. Aber der Rechenaufwand steigt linear mit den Parametern, quadratisch mit der Sequenzlänge.
Warum spezialisierte Hardware?
Sprachmodelle stellen extreme Anforderungen:
Matrix-Multiplikationen: 99% der Rechenzeit Speicherbandbreite: Gewichte müssen ständig geladen werden Parallelität: Tausende unabhängige Operationen Große Speicher: Hunderte GB für Gewichte und Cache
Normale CPUs erfüllen keine dieser Anforderungen gut. GPUs sind besser, aber nicht optimal. Spezialisierte Hardware wie TPUs, Groq LPUs oder NVIDIAs Hopper-GPUs sind für genau diese Workloads optimiert.
In den nächsten Teilen dieser Serie schauen wir uns an, wie TPUs, Apple Silicon und NVIDIA-GPUs diese Anforderungen auf Hardware-Ebene umsetzen.