Mehrkopf-Aufmerksamkeit ist eine Kernkomponente der Transformer-Architektur im Deep Learning. Sie erweitert den grundlegenden Aufmerksamkeitsmechanismus, indem sie mehrere Aufmerksamkeitsoperationen parallel berechnet, jeweils mit eigenen gelernten Projektionen von Abfragen, Schlüsseln und Werten. Dies ermöglicht dem Modell, verschiedene Arten von Beziehungen und Mustern innerhalb der Eingabesequenz zu erfassen, wie syntaktische Abhängigkeiten, Koreferenz oder Positionshinweise, über mehrere Repräsentationsunterräume hinweg. Die Ausgaben dieser parallelen Aufmerksamkeitsköpfe werden dann konkateniert und linear projiziert, um das endgültige Ergebnis zu erzeugen, wodurch das Modell gemeinsam Informationen aus verschiedenen Repräsentationsunterräumen an verschiedenen Positionen berücksichtigen kann.
Das Konzept wurde 2017 in dem Papier „Attention Is All You Need" von Forschern bei Google eingeführt, darunter Jakob Uszkoreit, Lukasz Kaiser und Niki Parmar. Das Papier schlug den Transformer vor, der vollständig auf Aufmerksamkeitsmechanismen basiert und auf Rekurrenz und Faltungen verzichtet, was zu erheblichen Verbesserungen bei Trainingsgeschwindigkeit und Leistung bei Sequenz-zu-Sequenz-Aufgaben führte. Mehrkopf-Aufmerksamkeit ist seitdem zu einem grundlegenden Element von Large Language Models wie GPT, BERT und T5 geworden und wird häufig in der Verarbeitung natürlicher Sprache, im Computer Vision und in der Spracherkennung eingesetzt.
Mechanismus
Im Aufmerksamkeitsmechanismus wird jedes Eingabetoken als Vektor dargestellt, oft als Token-Embedding bezeichnet. Für eine Sequenz von Token berechnet das Modell drei Matrizen: Abfragen (Q), Schlüssel (K) und Werte (V). Der Aufmerksamkeitswert zwischen einer Abfrage und einem Schlüssel wird typischerweise als Skalarprodukt berechnet, skaliert mit der Quadratwurzel der Schlüsseldimension. Diese Werte werden mithilfe einer Softmax-Funktion normalisiert, um Aufmerksamkeitsgewichte zu erzeugen, die dann verwendet werden, um eine gewichtete Summe der Werte zu berechnen.
Mehrkopf-Aufmerksamkeit führt diesen Prozess mehrfach parallel aus, jeweils mit unterschiedlichen gelernten linearen Projektionen der ursprünglichen Abfragen, Schlüssel und Werte. Beispielsweise berechnet das Modell mit 8 Köpfen 8 separate Aufmerksamkeitsausgaben, die jeweils verschiedene Aspekte der Sequenz fokussieren. Die Ausgaben werden konkateniert und durch eine finale lineare Schicht geleitet. Dieses Design ermöglicht es dem Modell, Informationen aus verschiedenen Repräsentationsunterräumen zu berücksichtigen, was besonders nützlich ist, um vielfältige sprachliche Muster zu erfassen.
Im Gegensatz zu „harten" Gewichten, die während des Trainings festgelegt werden, sind Aufmerksamkeitsgewichte „weich" und werden während des Vorwärtsdurchlaufs berechnet, was bedeutet, dass sie sich mit jeder Eingabe ändern. Dies ermöglicht es dem Modell, dynamisch relevante Teile der Eingabe zu fokussieren, wie das Ausrichtungsbeispiel in der maschinellen Übersetzung zeigt: Beim Übersetzen von „I love you" ins Französische weist das Modell hohe Aufmerksamkeitsgewichte „I" zu, wenn es „je" erzeugt, „you", wenn es „t'" erzeugt, und „love", wenn es „aime" erzeugt.
Geschichte
Der Aufmerksamkeitsmechanismus wurde entwickelt, um Schwächen von Rekurrenten neuronalen Netzen (RNNs) zu beheben, die dazu neigen, Informationen am Ende eines Satzes zu bevorzugen und die Bedeutung früherer Wörter abzuschwächen. Frühe Aufmerksamkeitsmechanismen, wie Bahdanau-artige additive Aufmerksamkeit (2014) und Luong-artige multiplikative Aufmerksamkeit (2015), wurden auf Encoder-Decoder-RNN-Architekturen für maschinelle Übersetzung aufgesetzt. Diese ermöglichten es dem Decoder, direkt auf alle versteckten Zustände des Encoders zuzugreifen, anstatt sich nur auf den letzten versteckten Zustand zu verlassen.
Der große Durchbruch kam mit Selbstaufmerksamkeit, bei der jedes Element der Eingabesequenz auf alle anderen achtet, wodurch das Modell globale Abhängigkeiten erfassen kann. Diese Idee war zentral für den Transformer, der Rekurrenz vollständig durch Aufmerksamkeitsmechanismen ersetzte. Die parallelisierbare Architektur des Transformers ermöglichte erhebliche Beschleunigungen beim Training, was zu seiner Übernahme in Modellen wie BERT, T5 und generativen vortrainierten Transformatoren (GPT) führte.
Varianten
Es wurden mehrere Varianten der Aufmerksamkeit entwickelt, viele implementieren weiche Gewichte. Dazu gehören:
- Fast Weight Programmers (1992): Ein „langsames" neuronales Netz gibt die „schnellen" Gewichte eines anderen neuronalen Netzes durch äußere Produkte aus. Dies wurde später als „linearisierte Selbstaufmerksamkeit" bezeichnet.
- Bahdanau-artige Aufmerksamkeit (additive Aufmerksamkeit): Verwendet ein Feed-Forward-Netz, um Ausrichtungswerte zu berechnen.
- Luong-artige Aufmerksamkeit (multiplikative Aufmerksamkeit): Verwendet Skalarprodukte zwischen Decoder- und Encoder-Zuständen.
- Positionale Aufmerksamkeit und faktorisierte positionale Aufmerksamkeit: Integrieren Positionsinformationen in die Aufmerksamkeitsberechnungen.
- Räumliche und kanalbezogene Aufmerksamkeit für faltende neuronale Netze: Operieren auf räumlichen Dimensionen oder Merkmalskanälen.
Diese Varianten kombinieren Encoder-seitige Eingaben neu, um Effekte auf jedes Zieloutput zu verteilen, oft unter Verwendung einer Korrelationsmatrix aus Skalarprodukten zur Neugewichtung der Koeffizienten.
Optimierungen
Die Größe der Aufmerksamkeitsmatrix ist proportional zum Quadrat der Anzahl der Eingabetokens, was bei langen Sequenzen speicherintensiv sein kann. Flash Attention ist eine Implementierung, die den Speicherbedarf reduziert und die Effizienz erhöht, ohne die Genauigkeit zu beeinträchtigen. Sie partitioniert die Aufmerksamkeitsberechnung in kleinere Blöcke, die in den schnelleren On-Chip-Speicher der GPU passen, wodurch die Notwendigkeit verringert wird, große Zwischenmatrizen zu speichern.
FlexAttention, entwickelt von Meta, ist ein Aufmerksamkeitskernel, der es Benutzern ermöglicht, Aufmerksamkeitswerte vor dem Softmax zu modifizieren und dynamisch den optimalen Aufmerksamkeitsalgorithmus auszuwählen, was Flexibilität für benutzerdefinierte Aufmerksamkeitsmuster bietet.
Anwendungen
Aufmerksamkeit wird häufig in der Verarbeitung natürlicher Sprache, im Computer Vision und in der Spracherkennung eingesetzt. In der NLP verbessert sie das Kontextverständnis bei Aufgaben wie Fragebeantwortung und Zusammenfassung. Im Bereich Vision hilft visuelle Aufmerksamkeit Modellen, relevante Bildregionen zu fokussieren, was Objekterkennung und Bildbeschriftung verbessert.
Im Computer Vision wenden Vision Transformer (ViT) Mehrkopf-Aufmerksamkeit auf Bildausschnitte an. Aufmerksamkeitskarten, die Aufmerksamkeitswerte als Heatmaps visualisieren, sind zu einem routinemäßigen Weg geworden, den Entscheidungsprozess von ViT-Modellen zu untersuchen. Tiefere Schichten zeigen tendenziell semantisch bedeutungsvollere Visualisierungen. Attention Rollout ist ein rekursiver Algorithmus, der Aufmerksamkeitswerte über alle Schichten kombiniert, indem das Skalarprodukt aufeinanderfolgender Aufmerksamkeitskarten berechnet wird.
Da Vision Transformer typischerweise selbstüberwacht trainiert werden, sind Aufmerksamkeitskarten im Allgemeinen nicht klassensensitiv. Wenn ein Klassifikationskopf angehängt wird, kombinieren klassendiskriminative Aufmerksamkeitskarten (CDAM) Aufmerksamkeitskarten und Gradienten in Bezug auf das Klassentoken, um klassenspezifische Erklärungen zu liefern.
Auswirkungen
Mehrkopf-Aufmerksamkeit war maßgeblich am Aufstieg von Generativer KI und Large Language Models beteiligt. Sie ermöglicht es Modellen, lange Sequenzen effizient zu verarbeiten und komplexe Abhängigkeiten zu erfassen, was sie zu einem Schlüsselelement in Systemen macht, die von Organisationen wie OpenAI, Anthropic und Google DeepMind entwickelt wurden. Die Architektur hat auch das Hardware-Design beeinflusst, wobei Unternehmen wie Nvidia und Cerebras Chips für aufmerksamkeitsbasierte Berechnungen optimieren.
Die Forschung zur Verbesserung der Effizienz und Interpretierbarkeit von Aufmerksamkeit wird fortgesetzt. Techniken wie sparse Attention, lineare Aufmerksamkeit und kernelbasierte Methoden zielen darauf ab, die quadratische Komplexität der Aufmerksamkeit zu reduzieren, während Interpretierbarkeitswerkzeuge helfen zu verstehen, was Modelle lernen. Mehrkopf-Aufmerksamkeit bleibt ein lebendiges Forschungsgebiet im maschinellen Lernen und in der künstlichen Intelligenz.