Zum Inhalt springen
Kurzer Hinweis: flozi00 TechHub ist ein Solo-Nebenprojekt neben einem Vollzeitjob — persönliche Lernnotizen, keine offiziellen Aussagen. Kritische Schritte selbst prüfen.

Attention visuell erklärt

Verfolge Queries, Keys, Values und Softmax durch ein kleines Attention-Beispiel – mit schrittweisen Diagrammen und verständlichen Erklärungen.

2 Min. Lesezeitflozi00
aibeginnervisual-learningattentiontransformerguide

Durch Attention kann die Darstellung eines Tokens Informationen von anderen Textpositionen aufnehmen. Denk an den Satz „Die Tasse fiel um, weil sie wackelig stand.“ Um „sie“ einzuordnen, braucht man Kontext. Attention mischt Kontext mithilfe von Zahlen; sie enthält keine von Hand geschriebene Regel zum Erkennen von Pronomen.1

Ein Token ist ein Eingabestück, das das Modell verarbeitet: etwa ein Wort oder ein Wortteil. Ein Vektor ist einfach eine Liste von Zahlen. Diese Lektion verfolgt einen Attention-Head, eine von mehreren parallelen Berechnungen innerhalb einer Transformer-Schicht.

Sehen · ausprobieren · verstehen

Attention: den passenden Kontext zusammenstellen

Verfolge, wie ein Token Informationen früherer Tokens vergleicht, gewichtet und kombiniert.

KI-gestützte Lernvisualisierung · vereinfachtes Rechenbeispiel

Schritt 1 / 5Q, K und V erzeugen

Ein Token wird durch eine Liste von Zahlen dargestellt: einen Vektor. Drei gelernte Umformungen erzeugen eine Query Q, einen Key K und einen Value V. Mit der Query sucht diese Position nach passenden Informationen.

Welches Token schaut auf den Kontext?

Wähle ein Token. Die Rechnung passt sich in jedem Schritt an.

Gewählte Query: “saß”Q = [1,5; 1]

Darstellung: X = [1; 1]

Q · wonach gesucht wird
[1,5; 1]
K · womit verglichen wird
[1; 1]
V · was kombiniert wird
[1; 2]
  1. 1 · DieSichtbarer Kontext
    Key K[1; 0]
    Value V[1; 0]
  2. 2 · KatzeSichtbarer Kontext
    Key K[0; 1]
    Value V[0; 2]
  3. 3 · saßDiese Position
    Key K[1; 1]
    Value V[1; 2]
  4. 4 · .Spätere Position · Maske ab Schritt 3
    Key K[0,5; -0,5]
    Value V[0,5; -1]

Die Mischung der Values erscheint in Schritt 5.

Lernbeispiel: erfundene Vektoren mit zwei Dimensionen. Wörter stehen hier für Tokens; echte Token-Grenzen können abweichen. Die Zahlen messen nicht die Bedeutung dieses Satzes. Die Anzeige ist gerundet; gerechnet wird mit voller Genauigkeit.

Formel und Beispielmatrizen anzeigen

softmax(QKᵀ / √dₖ + M) V

Q = XWQ, K = XWK, V = XWV. Hier gilt dₖ = 2. Die Maske M ist 0 für erlaubte und −∞ für zukünftige Positionen. Softmax läuft über die Keys für diese eine Query.

Diese festen Beispielmatrizen stehen für Parameter, die beim Training gelernt werden. In dieser Demo findet kein Training statt.

WQ[1; 0]
[0,5; 1]
WK[1; 0]
[0; 1]
WV[1; 0]
[0; 2]

Umfang: ein Kopf voller kausaler Self-Attention. Positionskodierung, weitere Köpfe, Ausgabeprojektion, Residual-Verbindungen, Normalisierung und Feed-Forward-Schichten sind ausgelassen.

Quelle: Attention Is All You Need, Abschnitt 3.2
Du bestimmst das Tempo. Pausiere jederzeit oder wähle einen Schritt aus.

Die gesamte Berechnung in einfachen Worten

  1. Drei Ansichten erzeugen. Gelernte Umformungen machen aus dem aktuellen Vektor jedes Tokens eine Query (Q), einen Key (K) und einen Value (V). Als Merkhilfe: Q beschreibt, wonach diese Position sucht; K, wozu eine andere Position passt; V, welche Information sie beitragen kann. Das sind Vergleiche für Zahlenvektoren.
  2. Q mit K vergleichen. Passende Einträge werden multipliziert und die Ergebnisse addiert. So entsteht ein Score. Ein Skalierungsfaktor berücksichtigt, wie viele Einträge Q und K haben.
  3. Nicht verfügbare Positionen ausblenden. Bei kausaler Self-Attention darf eine Position sich selbst und frühere Positionen verwenden. Spätere Positionen werden vor dem nächsten Schritt ausgeschlossen.
  4. Scores in Gewichte umwandeln. Softmax erzeugt nichtnegative Gewichte, deren Summe eins ergibt. Ein höherer Score bekommt einen größeren Anteil.
  5. V mischen. Jeder Value-Vektor wird mit seinem Gewicht multipliziert. Die Summe ergibt einen neuen Vektor mit der gewichteten Mischung.12

Lies das Diagramm aktiv

Verfolge eine Position durch den Ablauf. Frage beim Vergleich, welche Verbindungen erlaubt sind. Prüfe bei den Gewichten, ob sich die Anteile ungefähr zu 100 Prozent addieren; gerundete Anzeigen können leicht abweichen. Achte beim Mischen darauf, dass mehrere Positionen gleichzeitig beitragen können.

Ein separates kleines Beispiel: Zwei einzelne Values seien 2 und 10. Mit Gewichten von 75 und 25 Prozent ergibt sich 4: drei Viertel von 2 plus ein Viertel von 10. Die Lektion zeigt dieselbe Art von Mischung mit Zahlenlisten.

Was das Beispiel zeigt und was es auslässt

Vektoren und Scores sind Lehrbeispiele, keine Messungen an einem trainierten Modell. Die Verarbeitung der Positionen und der übrige Transformer sind vereinfacht. Der ursprüngliche Transformer kombiniert mehrere Heads und weitere Verarbeitungsschritte rund um Attention.1

Ein Attention-Gewicht ist nicht die Wahrscheinlichkeit des nächsten Wortes. Es bestimmt einen Beitrag zu einer Zwischendarstellung. Für die Vorhersage des nächsten Tokens braucht es den übrigen Modellablauf und eine separate Ausgabe über das Vokabular.1

Weiterlernen

Als Nächstes: Warum der KV-Cache Keys und Values behält. Den gesamten Modellablauf erklärt Wie LLMs wirklich funktionieren. Hier geht es zurück zum visuellen Lernpfad.

Quellen

Footnotes

  1. Vaswani et al., Attention Is All You Need, sections 3.2–3.4. ↩ ↩2 ↩3 ↩4

  2. PyTorch, Scaled dot-product attention: reference computation and masking. ↩