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 angeordnet sind, bildet ein Attention-Head typischerweise
wobei , und gelernte Matrizen sind.
Die Standardformel für skalierte Skalarprodukt-Attention ist
Hier ist die Dimension der Keys. Die Skalierung mit 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 .
Angenommen, das aktuelle Token hat die Query
und die beiden Kandidaten-Tokens haben
mit den Values
Die rohen Attention-Werte sind die Skalarprodukte:
Da ist, ist der Skalierungsfaktor , also bleiben die skalierten Werte und .
Wende nun Softmax auf diese beiden Werte an:
Die Attention-Ausgabe ist die gewichtete Kombination
Die zentrale Idee ist einfach: Die Ausgabe liegt näher an , weil die Query stärker zu gepasst hat als zu .
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 , und 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 →