KI-Begriffe

Aufmerksamkeit

Wie jedes Wortstück in einem Sprachmodell auf die anderen schaut – und so herausfindet, was es im Zusammenhang bedeutet.

Lesestand

Aufmerksamkeit (englisch attention) ist der Kernmechanismus heutiger Sprachmodelle. Jedes Token fragt: Welche der Tokens vor mir sind gerade wichtig für mich? Es gewichtet sie und mischt deren Informationen in sich hinein.

Technisch passiert das mit drei Vektoren pro Token: Query (was suche ich?), Key (was biete ich an?) und Value (was gebe ich weiter?). Man kann es sich als unscharfe Map vorstellen, die nicht einen Treffer liefert, sondern eine gewichtete Mischung aller Einträge.

Das Problem: Wörter brauchen Kontext

Am Anfang bekommt jedes Token einen festen Zahlenvektor aus einer Tabelle, sein Embedding. „Bank“ hat dort immer denselben Vektor – egal ob Geldinstitut oder Parkbank. Damit das Modell den Unterschied erkennt, muss „Bank“ auf seine Nachbarn schauen. Genau das leistet Aufmerksamkeit.

Welche „Bank“ ist gemeint?

Links: wie stark „Bank“ auf die anderen Wörter achtet (ausgedachte Werte). Rechts: ein stark vereinfachter Bedeutungsraum. Grau ist der Ausgangsvektor aus der Tabelle; der farbige Pfeil zeigt, wohin er nach der Aufmerksamkeit verschoben wird.

Query, Key, Value

Wie entscheidet ein Token, worauf es achtet? Jedes Token erzeugt aus seinem Vektor drei neue, jeweils mit einer eigenen gelernten Matrix:

Query„Was suche ich?“

„Bank“ sucht etwa nach Hinweisen auf Geld oder Natur.

Key„Wofür bin ich ein Treffer?“

„Geld“ signalisiert etwa: Ich bin ein Finanz-Hinweis.

Value„Was gebe ich weiter, wenn man mich auswählt?“

Der Inhalt, der tatsächlich übernommen wird.

Dann läuft für jedes Token dasselbe Verfahren:

  1. Seine Query wird mit dem Key jedes anderen Tokens verglichen – per Skalarprodukt: Je ähnlicher die Richtung, desto höher die Punktzahl.
  2. Die Punktzahlen werden mit Softmax in Gewichte umgewandelt, die zusammen 100 % ergeben.
  3. Die Values aller Tokens werden mit diesen Gewichten gemischt. Das Ergebnis ist der neue, kontextbewusste Vektor.
Wie eine Suchmaschine: Die Query ist deine Suchanfrage, die Keys sind die Schlagworte der Dokumente, die Values deren Inhalt. Nur bekommst du nicht das beste Dokument zurück, sondern eine Mischung aller – je passender, desto größer der Anteil.

Selbst rechnen

Hier mit zweidimensionalen Vektoren, damit man es zeichnen kann. Drei Tokens haben je einen Key (orange). Dreh die Query (blau) und sieh, wie sich Punktzahlen und Gewichte verändern:

Query trifft Keys
TokenQ·KGewicht

Echte Modelle machen genau das – nur mit Vektoren aus 64 bis 128 Zahlen pro Kopf, für jedes Token gleichzeitig, als eine einzige Matrixmultiplikation. Die Punktzahl wird dabei noch durch die Wurzel der Vektorlänge geteilt, damit die Softmax nicht zu spitz wird.

In einer Formel zusammengefasst – das ist die berühmteste Zeile der modernen KI:

Attention(Q, K, V) = softmax( Q · Kᵀ / √d ) · V

Q, K und V sind hier Matrizen mit einer Zeile pro Token. Die Matrizen, mit denen sie erzeugt werden, sind Parameter – im Training gelernt. Niemand legt fest, dass „Bank“ nach „Geld“ suchen soll; das ergibt sich.

Viele Köpfe, viele Schichten

Ein Token muss auf vieles gleichzeitig achten: Wer ist das Subjekt? Worauf bezieht sich „es“? Welches Wort stand direkt davor? Deshalb gibt es nicht eine Aufmerksamkeit, sondern viele parallel, sogenannte Köpfe (heads) – typisch sind Dutzende pro Schicht. Jeder hat eigene Q-, K- und V-Matrizen und lernt, auf etwas anderes zu achten.

Drei Köpfe schauen vom selben Wort „er“ aus auf den Satz – mit ausgedachten, aber typischen Mustern. Forscher haben solche spezialisierten Köpfe in echten Modellen tatsächlich gefunden; viele andere sind schwerer zu deuten.

Und das Ganze wiederholt sich in jeder Schicht – große Modelle haben Dutzende davon hintereinander. Frühe Schichten erfassen eher Grammatik und Wortnachbarschaft, spätere eher Bedeutung und Zusammenhänge über weite Strecken. Am Ende trägt jedes Token Informationen aus dem gesamten Text vor ihm.

Nur nach hinten schauen

In Sprachmodellen, die Text erzeugen, darf jedes Token nur auf sich selbst und auf frühere Tokens achten, nie auf spätere – die gibt es beim Schreiben ja noch nicht. Das nennt man kausale Maske.

Die Aufmerksamkeits-Matrix

Zeile: Token, das schaut. Spalte: Token, auf das geschaut wird. Je dunkler, desto mehr Aufmerksamkeit (ausgedachte Werte, jede Zeile ergibt 100 %). Rechts oben bleibt alles leer – das ist die Maske. Weil jedes Token mit jedem früheren verglichen wird, wächst der Aufwand quadratisch mit der Textlänge (siehe Kontextfenster).

Für Entwickler übersetzt

BegriffEntspricht ungefähr
Aufmerksamkeiteine unscharfe Map.get(): Statt eines exakten Treffers kommt eine gewichtete Mischung aller Werte
Queryder Suchschlüssel
Keydie Schlüssel der Einträge – verglichen wird per Ähnlichkeit, nicht per equals()
Valuedie Werte der Einträge
Kopfeine von vielen solchen Maps parallel, jede mit eigener Vorstellung von „ähnlich“
Kausale Maskedie Map enthält nur Einträge mit kleinerem oder gleichem Index
// Aufmerksamkeit für EIN Token, als unscharfe Map
float[] attention(float[] query, float[][] keys, float[][] values) {
    int n = keys.length;
    double[] w = new double[n];
    for (int i = 0; i < n; i++)
        w[i] = dot(query, keys[i]) / Math.sqrt(query.length);   // wie gut passt Eintrag i?
    softmaxInPlace(w);                                            // → Gewichte, Summe = 1

    float[] out = new float[values[0].length];
    for (int i = 0; i < n; i++)
        for (int j = 0; j < out.length; j++)
            out[j] += w[i] * values[i][j];                        // gewichtete Mischung
    return out;
}
// keys/values enthalten nur Tokens 0..aktuell → kausale Maske

Häufige Irrtümer

„Das ist Aufmerksamkeit wie beim Menschen.“ – Der Name ist eine Metapher. Technisch ist es gewichtetes Mischen von Vektoren; mit bewusstem Hinschauen hat es wenig zu tun.
„An den Gewichten sieht man, warum das Modell etwas sagt.“ – Nur teilweise. Es gibt viele Köpfe in vielen Schichten, die zusammenwirken. Ein einzelnes Gewichtsmuster ist ein Hinweis, keine Erklärung.
„Jeder Kopf hat eine klare Aufgabe.“ – Manche schon, etwa „schau aufs vorige Wort“. Viele aber erledigen Mischungen von Aufgaben, die sich nicht sauber benennen lassen.
„Aufmerksamkeit ist das ganze Modell.“ – Sie ist ein Baustein. Zwischen den Aufmerksamkeits-Schritten liegen Feedforward-Netze, in denen ein Großteil der Parameter und vermutlich viel gespeichertes Wissen steckt (siehe Transformer).

Verwandte Begriffe