Begriff
Attention Mechanism
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Stell dir vor, du liest einen langen Text, um eine Frage zu beantworten. Du liest nicht jedes Wort mit gleicher Intensität. Du scannst ("attendest") zu den wichtigen Schlüsselwörtern. Der Attention Mechanism bringt Computern genau das bei. Statt einen ganzen Satz in einen einzigen fixen Vektor zu pressen (Bottleneck), erlaubt Attention dem Modell, dynamisch auf relevante Teile des Inputs zu schauen. Bei der Übersetzung von "I love you" schaut das Modell beim Wort "love" auf "amo" (Spanisch). Die Formel ist berühmt: Query, Key, Value. Wie eine Datenbank-Suche, aber "weich" (differentiable).
Merksatz: Ein Verfahren in neuronalen Netzen, das es dem Modell ermöglicht, die Relevanz verschiedener Eingabeteile dynamisch zu gewichten ("Fokus"), was besonders bei der Verarbeitung langer Sequenzen entscheidend ist.
In Vision Transformers (ViT).
Attention funktioniert nicht nur für Text.
Das Bild wird in Patches (16x16 Pixel) zerlegt.
Das Modell lernt: "Wenn ich den Hundekopf sehe, muss ich auch auf den Schwanz achten."
In Code (PyTorch): torch.nn.MultiheadAttention.
1. Scaled Dot-Product Attention
Die Kern-Formel: $\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$
- Vergleiche Query $Q$ mit allen Keys $K$ (Skalarprodukt = Ähnlichkeit).
- Skaliere durch $\sqrt{d_k}$ (für numerische Stabilität).
- Softmax macht daraus Wahrscheinlichkeiten (Summe = 1).
- Gewichte die Values $V$ mit diesen Wahrscheinlichkeiten.
2. Multi-Head Attention
Man macht das nicht einmal, sondern 8-mal oder 16-mal parallel ("Heads"). Ein Head kümmert sich um Grammatik. Ein Head um Synonyme. Ein Head um Pronomen-Referenzen. Das gibt dem Modell "mehrere Blickwinkel".
1. FlashAttention (Hardware Aware Attention)
Der Killer des normalen Scaled Dot-Product ist die Speicher-Bandbreite. Der Zwischenschritt $S = QK^T$ generiert eine gigantische $N \times N$ Matrix, die vom schnellen SRAM in den langsamen VRAM (High Bandwidth Memory) der GPU kopiert werden muss, nur um direkt wieder für den $V$-Multiplikationsschritt eingeladen zu werden. FlashAttention (Dao et al., 2022) löste dieses Bottleneck: Man teilt die Matrizen in Blöcke ("Tiling") und erzwingt, dass die gesamte Softmax- und Attention-Berechnung sofort im winzigen SRAM des GPU-Chips passiert, ohne je Zwischenzustände auf dem großen, langsamen Speicher abzulegen. Dies ermöglichte die Skalierung auf riesige Context Windows von über 128k Token.
2. Causality & Masked Attention
Im Training generiert man alle Token parallel (was enorm effizient ist). Aber beim Textschreiben ("I love __") darf das Modell nicht in die Zukunft gucken (es darf das Wort nach "love", das der Mensch schrieb, nicht beim Vorhersagen von "love" verwenden). Die Lösung ist eine Causal Mask. Man legt eine dreieckige Matrix aus Minus-Unendlich $(-\infty)$ über die obere Hälfte der $QK^T$-Matrix. Vor dem Softmax wird so die Aufmerksamkeit auf alle zukünftigen Token zunichte gemacht (der Exponent von $-\infty$ wird $0$). Das Modell lernt streng autoregressiv.
3. Cross-Attention
While "Self-Attention" Query, Key und Value aus demselben Input nimmt, mischt Cross-Attention Inputs dezentral. Architektonisch zu finden im Decoderteil des ursprünglichen Transformer-Modells (z.B. bei T5). Hier stammen $Q$ aus dem aktuellen Textfluss des Decoders (was er gerade übersetzt), aber die Listen $K$ und $V$ kommen komplett vom Output des Encoders (dem zu übersetzenden Orginaltext). Der Decoder "attendiert" beim Schreiben so immer wieder auf den Originalsatz zurück, um grammatikalische Abhängigkeiten zu binden.
Quick-Check
Q, K, V?
Analogie "Bibliothek": Query = Was du suchst ("Buch über AI"). Key = Titel auf dem Buchrücken. Value = Inhalt des Buches.Global vs Local?
Transformer nutzen Global Attention (alle Wörter). Ältere Modelle nutzten Local Attention (nur Nachbarn).Kosten?
Quadratisch zu Seq-Länge ($N^2$). Verdoppelter Text = Vierfacher Rechenaufwand. Deshalb ist "Long Context" (100k Token) so ein heißes Forschungsthema (FlashAttention).