Attention-Mechanismus
Kernkomponente der Transformer-Architektur, die jedem Token erlaubt, gewichtet auf alle anderen Tokens einer Sequenz zu attendieren und so kontextuelle Beziehungen zu erfassen.
Definition
Der Attention-Mechanismus ist eine differenzierbare Operation, die gewichtete Beziehungen zwischen Elementen einer Sequenz lernt. Ursprünglich 2014 von Bahdanau et al. für die neuronale maschinelle Übersetzung eingeführt, wurde Attention durch die Transformer-Publikation 2017 zum zentralen Baustein moderner KI-Architekturen.
Die Kernidee: Jedes Element einer Sequenz erzeugt drei Vektoren (Query, Key, Value). Die Attention berechnet, wie stark ein Query auf jeden Key passt, und gewichtet entsprechend die Values. Der gewichtete Mittelwert ist die kontext-abhängige Repräsentation des aktuellen Tokens.
Mechanismus
Die Standard-Operation heisst Scaled Dot-Product Attention. Sie berechnet sich als softmax((Q mal K-transponiert) geteilt durch Wurzel aus d_k) mal V. Der Skalierungsfaktor d_k (Dimension der Key-Vektoren) stabilisiert die Gradienten bei hohen Embedding-Dimensionen, weil Dot-Produkte mit der Dimension wachsen und die Softmax sonst sättigen würde.
Im Detail:
- Query: Was suche ich? Erzeugt aus der aktuellen Token-Repräsentation.
- Key: Wonach kann ich gefunden werden? Wird mit jeder Query verglichen.
- Value: Was liefere ich, wenn ich ausgewählt werde? Wird gewichtet zurückgegeben.
Bei kausalen LLMs (GPT, Claude, Llama) wird zusätzlich eine Dreiecks-Maske angewendet, die Tokens am Blick in die Zukunft hindert. Diese Causal Mask macht autoregressive Generierung möglich.
Multi-Head Attention
Statt einer einzigen grossen Attention-Operation werden mehrere kleine parallel ausgeführt, typisch 8, 12, 32 oder 96 Köpfe. Jeder Kopf hat eigene Q-, K- und V-Projektionen und kann unterschiedliche linguistische Muster lernen. Empirisch zeigen Analysen, dass einige Köpfe syntaktische Beziehungen erfassen (Subjekt-Verb-Übereinstimmung), andere semantische (Koreferenz) und wieder andere Positions-Information.
Die Outputs aller Köpfe werden konkateniert und durch eine lineare Schicht projiziert.
Effizienzvarianten
Die quadratische Komplexität von Attention in der Sequenzlänge ist die zentrale Engineering-Herausforderung. Mehrere Varianten adressieren dies:
- Flash Attention: IO-bewusste Implementierung, lineare Speicherkomplexität, de-facto-Standard seit 2022.
- Sliding Window Attention: Lokale Attention plus wenige globale Tokens, in Mistral und Longformer verbreitet.
- Multi-Query Attention (MQA): Alle Query-Köpfe teilen einen Key- und Value-Kopf. Reduziert KV-Cache massiv.
- Grouped-Query Attention (GQA): Kompromiss zwischen MQA und voller Multi-Head Attention. Standard in Llama 3, bei Llama 2 nur im 70B-Modell.
- Linear Attention: Approximation, die quadratische Komplexität auf linear reduziert. Tradeoff bei Qualität.
- Sparse Attention: Nur Untermenge der Attention-Matrix berechnen, etwa lokale plus zufällige Verbindungen.
Praxis und Anwendung
Attention dominiert weit über Sprachmodelle hinaus:
- Vision (ViT): Bildpatches als Tokens, Self-Attention statt CNN.
- Audio (Whisper): Spektrogramm-Patches mit Cross-Attention.
- Multi-Modal (Flamingo, LLaVA-artige VLMs): Cross-Attention bzw. projizierte Bild-Tokens verbinden Bild und Text. CLIP dagegen nutzt zwei getrennte Encoder, die nur über einen kontrastiven Loss auf gepoolten Embeddings verbunden sind, ohne Cross-Attention.
- Code-Modelle: Long-Context-Attention für ganze Repositories.
- Wissenschaft (AlphaFold): Attention zwischen Aminosäure-Positionen.
In allen diesen Fällen wird der gleiche Grundmechanismus genutzt, nur mit unterschiedlichen Input-Modalitäten.
Häufige Fehler
- Kausale Maske vergessen: Beim Custom-Training entstehen massive Datenlecks, wenn das Modell in die Zukunft blickt.
- Skalierungsfaktor weglassen: Ohne Wurzel aus d_k sättigen Softmax und das Training divergiert.
- KV-Cache nicht nutzen: Bei Inferenz werden Keys und Values pro Generierungsschritt unnötig neu berechnet, wenn der Cache nicht implementiert ist.
- Quadratische Komplexität ignorieren: lange Kontexte ohne Flash Attention führen zu Out-of-Memory-Fehlern.
- Head-Anzahl willkürlich wählen: Anzahl Köpfe und Dimension pro Kopf müssen koordiniert sein, Standard ist d_model geteilt durch n_heads gleich d_head.
Abgrenzung
- RNN-Gates: LSTM und GRU nutzen ebenfalls Gating-Mechanismen, aber sequenziell statt parallel. Attention ist überlegen für lange Sequenzen.
- Convolutional Layers: lokale, translationsinvariante Operationen. Attention ist globaler und permutations-sensibel.
- State-Space-Modelle (Mamba): lineare Alternative zu Attention. Konkurrent für sehr lange Kontexte, qualitativ noch nicht überlegen.
- Mixture-of-Experts (MoE): orthogonal zu Attention, erweitert den Feed-Forward-Teil des Transformers.
Weiter im KI-Lexikon
← Zurück zum LexikonHäufige Fragen
Was ist der Attention-Mechanismus?+
Der Attention-Mechanismus erlaubt einem neuronalen Netzwerk, gewichtete Beziehungen zwischen Elementen einer Sequenz zu lernen. Jedes Token erzeugt drei Vektoren: Query, Key und Value. Die Attention berechnet, wie stark ein Query auf jeden Key passt, und gewichtet die Values entsprechend. So entsteht ein kontext-abhängiger Output für jedes Token.
Was ist Self-Attention?+
Self-Attention bezeichnet den Fall, in dem Query, Key und Value aus derselben Sequenz stammen. Jedes Token einer Eingabe attendiert auf alle anderen Tokens derselben Eingabe, was kontextuelle Repräsentationen ermöglicht. Self-Attention ist der zentrale Baustein der Transformer-Architektur.
Was ist Cross-Attention?+
Bei Cross-Attention kommt Query aus einer Sequenz, Key und Value aus einer anderen. Dies wird in Encoder-Decoder-Architekturen verwendet, etwa bei Übersetzung, wo der Decoder auf den Encoder-Output attendiert. Cross-Attention überbrückt also zwei Sequenzen.
Wie wird Attention berechnet?+
Die Standardformel ist Scaled Dot-Product Attention: softmax((Q mal K-transponiert) geteilt durch Wurzel aus d_k) mal V. Der Skalierungsfaktor d_k stabilisiert die Gradienten bei hohen Dimensionen. Bei kausalen LLMs wird zusätzlich eine Maske angewendet, die Tokens am Blick in die Zukunft hindert.
Was ist Flash Attention?+
Flash Attention ist eine IO-bewusste Implementierung der Attention, die 2022 von Tri Dao veröffentlicht wurde. Sie reduziert den Speicherbedarf von quadratisch auf linear in der Sequenzlänge, indem sie Tile-by-Tile rechnet und Zwischenresultate nicht materialisiert. Flash Attention 2 und 3 haben diese Technik weiter optimiert und sind heute Industriestandard.
Warum ist Attention quadratisch?+
Die Attention-Matrix hat Form N mal N, wobei N die Sequenzlänge ist. Bei 1M Tokens entstünden Matrizen mit 10 hoch 12 Einträgen, was Speicherbedarf und Rechenzeit explodieren lässt. Flash Attention löst das Speicherproblem, sub-quadratische Varianten (Linear Attention, Mamba) versuchen auch die Rechenkomplexität zu senken.
Was sind Attention Heads?+
Statt einer einzigen grossen Attention-Operation werden mehrere kleine parallel ausgeführt, typisch 8 bis 96. Jeder Kopf hat eigene Query-, Key- und Value-Projektionen und kann unterschiedliche Muster lernen, etwa syntaktische versus semantische Beziehungen. Die Outputs werden konkateniert und linear projiziert.
Was ist Grouped-Query Attention?+
Grouped-Query Attention (GQA) ist eine Effizienzvariante, die mehrere Query-Köpfe denselben Key- und Value-Kopf teilen lässt. Dies reduziert den KV-Cache während der Inferenz drastisch, ohne die Qualität signifikant zu beeinträchtigen. Llama 3, Mistral und Mixtral nutzen GQA als Standard; bei Llama 2 nur das 70B-Modell, die 7B- und 13B-Varianten verwenden Multi-Head Attention.
Verwandte Begriffe
Quellen
- Vaswani et al. (2017) Attention Is All You Need
- Bahdanau et al. (2014) Neural Machine Translation by Jointly Learning to Align and Translate
- Dao et al. (2022) FlashAttention
Wikidata: Q103701642 · Zuletzt geprüft: 2026-07-02