Multi-Head-Attention und Varianten
Kurz: Statt einer Attention gibt es mehrere „Köpfe“, die parallel auf verschiedene Zusammenhänge achten (Grammatik, Bezüge, Nähe). Ihre Ergebnisse werden zusammengesetzt.
Genauer: Der Vektor wird in Teile geteilt, jeder Kopf hat eigene Q-, K-, V-Gewichte und lernt eine andere Art von Beziehung.
Im Detail
- Multi-Head (MHA): Zum Beispiel 32 Köpfe, jeder mit 128 Dimensionen. Ausgaben werden aneinandergehängt und linear gemischt.
- Was Köpfe lernen: Manche verfolgen das vorige Token, manche Klammern, manche Namen oder Wiederholungen („Induktionsköpfe“ kopieren Muster).
- Multi-Query (MQA): Alle Köpfe teilen dieselben K und V. Spart viel KV-Cache-Speicher.
- Grouped-Query (GQA): Kompromiss: Gruppen von Köpfen teilen K/V. Standard in vielen Modellen (Llama, Mistral).
- MLA (Multi-head Latent Attention): Komprimiert K/V in einen kleinen latenten Vektor (DeepSeek).
- Wichtigkeit: Der kv-cache wächst mit Anzahl der K/V-Köpfe, GQA/MQA/MLA senken ihn stark.
- Sliding-Window und spärliche Attention: Jedes Token sieht nur ein Fenster oder ausgewählte Positionen, spart Rechenzeit bei langen Texten.
Siehe auch: Self-Attention im Detail, kv-cache