Die Transformer-Architektur ist ein Design für neuronale Netze, das auf Self-Attention aufbaut. Statt sich vor allem auf eine schrittweise Verarbeitung zu verlassen, kann jedes Token Informationen von anderen relevanten Tokens in der Sequenz sammeln.

Deshalb funktionieren Transformer so gut für Sprache und andere Sequenzaufgaben. Wenn ein Wort von einem anderen, weit entfernten Wort abhängt, gibt Attention dem Modell einen direkten Pfad zwischen ihnen.

Was die Transformer-Architektur bedeutet

Ein Transformer-Block macht mehr, als nur eine Formel anzuwenden, aber Self-Attention ist die zentrale Idee. Bei Self-Attention erzeugt jedes Token drei Vektoren:

  • eine Query, die darstellt, wonach dieses Token sucht
  • einen Key, der darstellt, was dieses Token zum Abgleichen anbietet
  • einen Value, also die Information, die weitergegeben werden kann

Wenn die Token-Repräsentationen in einer Matrix XX angeordnet sind, bildet ein Attention-Head typischerweise

Q=XWQ,K=XWK,V=XWVQ = XW_Q, \qquad K = XW_K, \qquad V = XW_V

wobei WQW_Q, WKW_K und WVW_V gelernte Matrizen sind.

Die Standardformel für skalierte Skalarprodukt-Attention ist

Attention(Q,K,V)=softmax ⁣(QKTdk)V\operatorname{Attention}(Q, K, V) = \operatorname{softmax}\!\left(\frac{QK^T}{\sqrt{d_k}}\right)V

Hier ist dkd_k die Dimension der Keys. Die Skalierung mit dk\sqrt{d_k} hilft dabei, dass die rohen Skalarprodukt-Werte nicht zu groß werden, wenn die Dimension wächst.

Die Softmax-Funktion wird zeilenweise angewendet. Jede Zeile beantwortet die Frage eines Tokens: „Wie viel Aufmerksamkeit sollte ich den anderen Tokens geben?“

Wie Self-Attention in einfacher Sprache funktioniert

Self-Attention wählt normalerweise nicht ein einziges Token aus und ignoriert den Rest. Stattdessen bildet sie einen gewichteten Mittelwert der Value-Vektoren.

Wenn die Query eines Tokens stark zum Key eines anderen Tokens passt, bekommt dieses Token ein höheres Gewicht. Ist die Übereinstimmung schwach, ist das Gewicht kleiner. Die Ausgabe für ein Token ist daher eine kontextabhängige Mischung von Informationen aus der Sequenz.

Das hilft bei Subjekt-Verb-Übereinstimmung, Pronomenbezügen und anderen Beziehungen über große Distanzen. Die Information muss nicht erst durch viele Zwischenschritte wandern, bevor sie verfügbar wird.

Durchgerechnetes Self-Attention-Beispiel

Nimm eine Query und zwei Kandidaten-Tokens in einem einzelnen Attention-Head. Damit die Rechnung einfach bleibt, verwende dk=1d_k = 1.

Angenommen, das aktuelle Token hat die Query

q=[2]q = [2]

und die beiden Kandidaten-Tokens haben

k1=[2],k2=[1]k_1 = [2], \qquad k_2 = [1]

mit den Values

v1=[10],v2=[4].v_1 = [10], \qquad v_2 = [4].

Die rohen Attention-Werte sind die Skalarprodukte:

qk1T=4,qk2T=2.qk_1^T = 4, \qquad qk_2^T = 2.

Da dk=1d_k = 1 ist, ist der Skalierungsfaktor 1=1\sqrt{1} = 1, also bleiben die skalierten Werte 44 und 22.

Wende nun Softmax auf diese beiden Werte an:

α1=e4e4+e20.881,α2=e2e4+e20.119.\alpha_1 = \frac{e^4}{e^4 + e^2} \approx 0.881, \qquad \alpha_2 = \frac{e^2}{e^4 + e^2} \approx 0.119.

Die Attention-Ausgabe ist die gewichtete Kombination

α1v1+α2v2=0.881(10)+0.119(4)9.29.\alpha_1 v_1 + \alpha_2 v_2 = 0.881(10) + 0.119(4) \approx 9.29.

Die zentrale Idee ist einfach: Die Ausgabe liegt näher an v1v_1, weil die Query stärker zu k1k_1 gepasst hat als zu k2k_2.

Das ist das Grundmuster in einem viel größeren Modell. Echte Transformer machen das in höheren Dimensionen und für viele Tokens gleichzeitig, aber die Rechenidee ist dieselbe.

Was sonst noch in einem Transformer-Block steckt

Ein Transformer ist mehr als eine einzige Attention-Formel. Ein Standardblock enthält normalerweise:

  • Multi-Head-Attention, damit das Modell mehrere Arten von Beziehungen gleichzeitig lernen kann
  • ein positionsweises Feedforward-Netzwerk, das jede Token-Repräsentation nach der Attention transformiert
  • Residualverbindungen, die helfen, Informationen über Schichten hinweg zu erhalten und zu verfeinern
  • Layer-Normalisierung, die das Training stabilisiert

In der ursprünglichen Transformer-Architektur für Sequence-to-Sequence-Aufgaben hatte das Modell einen Encoder-Stapel und einen Decoder-Stapel.

  • Der Encoder verwendet Self-Attention über die Eingabesequenz.
  • Der Decoder verwendet maskierte Self-Attention, sodass eine Position nicht auf zukünftige Ausgabe-Tokens vorausblicken kann.
  • Der Decoder kann auch Cross-Attention verwenden, bei der die Queries aus dem Decoder kommen und Keys und Values aus der Encoder-Ausgabe stammen.

Viele moderne Sprachmodelle verwenden nur die Decoder-Seite. Die grundlegende Attention-Idee ist immer noch da, aber die gesamte Architektur ist auf die Vorhersage des nächsten Tokens spezialisiert.

Warum Transformer Positionsinformationen brauchen

Attention allein ist bezüglich der Eingabe-Tokens permutationsäquivariant. Einfach gesagt: Wenn du nur Attention auf dieselbe Menge von Token-Vektoren anwendest, ohne Positionen hinzuzufügen, weiß das Modell nicht von sich aus, welches Token zuerst kam.

Deshalb fügen Transformer Positionsinformationen hinzu, zum Beispiel gelernte Positions-Embeddings oder Positionskodierungen. Ohne dieses zusätzliche Signal wären ordnungssensitive Aufgaben wie Sprache viel schwerer korrekt zu modellieren.

Häufige Fehler zur Transformer-Architektur

Zu denken, Attention sei der ganze Transformer

Sie ist die zentrale Idee, aber die Architektur hängt auch von Feedforward-Schichten, Residualpfaden, Normalisierung und Positionsinformationen ab.

Self-Attention und Cross-Attention zu verwechseln

Bei Self-Attention stammen QQ, KK und VV aus derselben Sequenz. Bei Cross-Attention kommen sie nicht alle aus derselben Quelle.

Die Rolle der Maskierung zu vergessen

Decoder-only-Sprachmodelle brauchen beim Training und bei der Inferenz kausale Maskierung, damit ein Token nicht auf zukünftige Tokens achten kann.

Attention-Gewichte als vollständige Erklärung zu behandeln

Attention-Gewichte können informativ sein, aber sie sind kein vollständiger Beweis für das Schlussfolgern des Modells. Das endgültige Verhalten hängt auch von Value-Vektoren, späteren Schichten und nichtlinearen Transformationen ab.

Wann Transformer-Modelle verwendet werden

Transformer werden häufig für Sprachmodellierung, Übersetzung, Zusammenfassung, Codegenerierung, Sprache und viele Aufgaben im Bereich Computer Vision verwendet. Sie funktionieren besonders gut, wenn Beziehungen innerhalb einer Sequenz oder Menge wichtiger sind als rein lokale Muster.

Sie sind nicht in jeder Situation magisch. Bei sehr kleinen Datensätzen, strengen Echtzeitvorgaben oder Problemen, bei denen lokale induktive Struktur am wichtigsten ist, kann eine andere Architektur trotzdem besser passen.

Probiere eine ähnliche Aufgabe

Nimm eine Drei-Wort-Phrase und konzentriere dich auf ein Wort. Entscheide, welche der anderen Wörter ein hohes Attention-Gewicht bekommen sollten und warum, und skizziere dann ein kleines Query-Key-Value-Beispiel, das zu dieser Intuition passt.

Wenn du noch einen Schritt weitergehen willst, berechne eine kleine Attention-Ausgabe von Hand. Das ist meist der schnellste Weg von „Ich kenne die Formel“ zu „Ich verstehe, was die Architektur macht“.

Brauchst du Hilfe bei einer Aufgabe?

Lade deine Frage hoch und erhalte in Sekunden eine verifizierte Schritt-für-Schritt-Lösung.

GPAI Solver öffnen →