Der Transformer-Block im Detail
Kurz: Ein Transformer besteht aus vielen gleichen Blöcken. Jeder Block hat zwei Teile: Attention (Informationen zwischen Tokens austauschen) und ein MLP (jedes Token einzeln „nachdenken“ lassen), jeweils mit Normalisierung und Skip-Verbindung.
Genauer: Ein Sprachmodell stapelt zum Beispiel 32 bis über 100 solcher Blöcke. Das Wissen steckt vor allem in den Gewichten der MLP-Teile.
Im Detail
Ablauf in einem modernen Block (Pre-Norm):
x → RMSNorm → Attention → + x(Residual)x → RMSNorm → MLP → + x(Residual)
- MLP (Feed-Forward): Zwei große Matrizen mit Aktivierung dazwischen (SwiGLU). Hidden-Größe meist ≈ 2,7- bis 4-mal die Modellbreite. Macht etwa zwei Drittel der Parameter aus.
- Attention: Mischt Information zwischen Positionen, siehe Self-Attention im Detail.
- Modellbreite (d_model): Zum Beispiel 4096 bei einem 7-Milliarden-Modell mit 32 Blöcken.
- Eingang und Ausgang: Am Anfang ein Embedding (Token → Vektor), am Ende eine Matrix, die auf Logits für das Vokabular abbildet.
- Mixture of Experts: Statt eines MLP viele Experten, nur wenige pro Token aktiv, siehe mixture-of-experts-(moe).
- Parameter zählen: Ungefähr 12·Schichten·d² für dichte Modelle.
Siehe auch: transformer-architektur, Skip-Verbindungen und Residual-Netze