Zum Hauptinhalt springen
Sprachmodelle verstehen: Von Transformer zu GPT und Claude
#LLM #Sprachmodell #Transformer #GPT #Claude

Sprachmodelle verstehen: Von Transformer zu GPT und Claude


Tokenisierung, Embedding und Attention-Mechanismus erklärt

5 Minuten Lesezeit

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:

  1. Query wird mit allen Keys multipliziert → Ähnlichkeitsscores
  2. Scores werden durch √d geteilt (Stabilisierung)
  3. Softmax macht daraus Wahrscheinlichkeiten
  4. Wahrscheinlichkeiten gewichten die Values
  5. 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

ParameterFP32FP16INT8
7B28 GB14 GB7 GB
70B280 GB140 GB70 GB
175B700 GB350 GB175 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.

Quellen