6 A B C D E F G H I K L M N O P Q R S T U V W Z

Attention Masking

Einfach erklärt

Attention Masking bestimmt, welche Teile eines Textes ein Modell sehen darf und welche ausgeblendet werden. So vermeidet man, dass das Modell auf unsichtbare oder zukünftige Wörter schaut oder auf Füllzeichen (Padding) achtet.

Kurz: Erlaubte Tokens sichtbar machen → verbotene Tokens ausblenden → saubere, sinnvolle Aufmerksamkeit.

Ganz einfache Beispiele

• Prüfung mit Sichtschutz: Bei einer Klassenarbeit darfst du nicht bei den Nachbarn abschauen. Die Maske ist der Sichtschutz, der verhindert, dass du Antworten siehst, die du noch nicht wissen darfst.

• Theaterbühne mit Spotlicht: Nur der erlaubte Teil der Bühne wird angestrahlt. Alles andere bleibt dunkel. So konzentriert sich der Blick auf das, was gerade relevant ist.

• Einkaufsliste ohne Lücken: Auf deiner Liste stehen echte Produkte und Platzhalter für leere Zeilen. Die Maske sagt dem Blick: Ignoriere die Platzhalter, beachte nur die echten Einträge.

Professionelle Definition

Attention Masking ist ein Binär‑ oder Bias‑Maskierungsmechanismus in der Scaled Dot‑Product Attention von Transformern. Während der Berechnung von (\text{softmax}(QK^T/\sqrt{d_k})) werden unerlaubte Schlüsselpositionen per Additionsmaske (sehr große negative Werte, z. B. (-\infty)) oder per boolescher Maske ausgeschlossen, sodass deren Softmax‑Gewichte effektiv zu null werden.

Zentrale Maskentypen:

  1. Padding‑Maske (Key Padding Mask): Blendet Auffüll‑Tokens aus, damit sie keinen Einfluss auf die Aufmerksamkeit haben.
  2. Kausale Maske (Future Mask/Look‑Ahead): Erzwingt, dass Position (t) nur auf 0..t schaut (strikte Dreiecksmatrix). Notwendig für autoregressive Generierung.
  3. Block‑/Segment‑Masken: Beschränken Aufmerksamkeit innerhalb von Segmenten (z. B. gepackte Sequenzen, Dokument‑Abschnitte, Sprecherwechsel).
  4. Benutzerdefinierte Bias‑Masken: Fügen Positions‑ oder Struktur‑Bias hinzu (z. B. relative Positionen, ALiBi), ohne harte Nullung.

Formate und Implementierungshinweise:

  • Übliche Maskenformen: [B, 1, 1, K], [B, H, Q, K] oder [Q, K]; sie werden broadcasted auf die Attention‑Scores.
  • In vielen Frameworks ist die Maske 1/True = sichtbar und 0/False = maskiert – in anderen genau umgekehrt. Konsistenz prüfen.
  • In FP16/BF16 werden statt (-\infty) oft große negative Konstanten (z. B. −1e4) genutzt, um NaNs zu vermeiden.

Warum wichtig:

  • Verhindert Label‑Leakage bei Sprachgenerierung.
  • Stabilisiert Training, indem Padding keinen Rausch‑Einfluss hat.
  • Erlaubt architekturelle Einschränkungen (lokale, segmentierte, spärliche Aufmerksamkeit) für Effizienz.

Praxis‑Tipps

  • Für Generierung immer eine kausale Maske verwenden; sonst „schaut“ das Modell in die Zukunft.
  • Bei gemischten Längen Padding konsequent maskieren; sonst verschlechtern sich Loss und Metriken.
  • Maskenrichtung prüfen (True=keep oder True=mask). Ein schneller Test ist ein Einzelsatz mit Padding.
  • In FP16/BF16 sichere negativen Bias nutzen (z. B. −1e4) statt (-\infty), um numerische Instabilität zu vermeiden.
  • Form/Shape validieren: Soll meist [batch, heads, query_len, key_len] nach Broadcast ergeben.
  • Bei Hugging Face sicherstellen, dass attention_mask 1 für echte Tokens und 0 für Padding ist; für Kausalität ggf. zusätzlich causal_mask oder is_causal=True nutzen.

Quellen

  1. Vaswani, A. et al. (2017) – Attention Is All You Need
    https://arxiv.org/abs/1706.03762
  2. PyTorch Docs – Scaled Dot‑Product Attention & MultiheadAttention
    https://pytorch.org/docs/stable/generated/torch.nn.functional.scaled_dot_product_attention.html
    https://pytorch.org/docs/stable/generated/torch.nn.MultiheadAttention.html
  3. TensorFlow/Keras – Masking & Attention
    https://keras.io/api/layers/attention_layers/
  4. Hugging Face – Attention Masks & Generation
    https://huggingface.co/docs/transformers/main/en/pad_truncation#attention-mask
    https://huggingface.co/docs/transformers/main/en/generation_strategies
  5. Press, O. et al. (2022) – ALiBi: Train Short, Test Long
    https://arxiv.org/abs/2108.12409

Mehr zum Thema KI Grundlagen