Multi-Head
Multi-Head Attention verwendet mehrere parallele Attention-Berechnungen für verschiedene Repräsentationen.
Multi-Head Attention ist eine Erweiterung des grundlegenden Attention-Mechanismus, bei der mehrere Attention-Berechnungen parallel durchgeführt werden. Statt einer einzigen Attention-Operation werden die Eingabevektoren in mehrere sogenannte Heads aufgeteilt, die jeweils unabhängig voneinander arbeiten.
Der Grund für dieses Vorgehen liegt darin, dass unterschiedliche Arten von Beziehungen zwischen Tokens existieren. Ein einzelner Attention-Mechanismus müsste alle diese Beziehungen in einer einzigen Gewichtung abbilden. Multi-Head Attention erlaubt es dem Modell stattdessen, verschiedene Aspekte gleichzeitig zu erfassen: Ein Head kann sich auf syntaktische Zusammenhänge konzentrieren, ein anderer auf semantische Nähe, ein dritter auf Positionsbeziehungen.
Technisch wird bei Multi-Head Attention die Dimensionalität der Eingabevektoren auf die Anzahl der Heads aufgeteilt. Jeder Head operiert auf einem niedrigdimensionalen Teilraum, führt dort eine vollständige Query-Key-Value-Berechnung durch und erzeugt ein eigenes Ergebnis. Anschließend werden die Ausgaben aller Heads zusammengefügt und durch eine lineare Transformation in die ursprüngliche Dimensionalität zurückgeführt.
In der Praxis verwenden große Sprachmodelle typischerweise zwischen 32 und 128 Heads. Die Gesamtrechenleistung bleibt dabei vergleichbar mit einer einzigen Attention-Berechnung in voller Dimensionalität, da jeder Head nur einen Bruchteil der Dimensionen verarbeitet.