Architektur und interne Modellbausteine
Multi-Query Attention
Heißt auch MQA.
Mehrere Query-Köpfe teilen gemeinsame Key- und Value-Köpfe.
Multi-Query Attention, kurz MQA, ist eine Attention-Variante, bei der mehrere Query-Köpfe ein gemeinsames Paar von Key- und Value-Köpfen nutzen. (Shazeer) Das verringert insbesondere die Datenmenge, die bei schrittweiser Textgenerierung für gespeicherte Keys und Values bereitgestellt werden muss. (Shazeer)
So kannst du dir das vorstellen
Stell dir mehrere Arbeitsplätze vor, die unterschiedliche Fragen zu denselben Unterlagen bearbeiten. Statt an jedem Platz eine eigene aufbereitete Ablage vorzuhalten, greifen alle auf eine gemeinsam vorbereitete Ablage zu.
Die Fragen können weiterhin verschieden sein. Geteilt wird die Grundlage für den Abgleich und für die entnommenen Informationen. Die Analogie soll die gemeinsame Datenhaltung erklären; sie bedeutet nicht, dass im Modell mehrere Mitarbeitende oder voneinander unabhängige Assistenten tätig wären.
Warum die gemeinsame Ablage hilft
Bei autoregressiver Generierung wird die Ausgabe Token für Token fortgesetzt; bereits berechnete Keys und Values früherer Positionen können dabei zwischengespeichert und wiederverwendet werden. (Shazeer) Dieses Zwischenspeichern vermeidet wiederholte Berechnungen, verursacht aber Speicherzugriffe auf die bisherigen Darstellungen. (Shazeer)
MQA reduziert diese Daten, indem es nicht für jeden Query-Kopf getrennte Keys und Values vorhält. (Shazeer) Die Architektur verändert somit den Attention-Zwischenspeicher, nicht pauschal sämtliche Modellgewichte oder den Inhalt deines Prompts.
Ein Effizienz-Kompromiss
Die stärkere gemeinsame Nutzung kann die Modellqualität beeinträchtigen; genau dieser mögliche Kompromiss motiviert unter anderem Grouped-Query Attention als Zwischenlösung. (Ainslie et al.) Eine kleinere Cache-Struktur ist deshalb kein allgemeiner Beweis für ein besseres Modell.
Vergleiche für deinen Anwendungsfall sowohl Ausgaben als auch Laufzeiten unter passenden Betriebsbedingungen. Achte dabei darauf, dass „Multi-Query“ keine Stapelverarbeitung mehrerer Nutzerfragen bezeichnet: Gemeint sind die mehreren internen Query-Köpfe der Attention-Berechnung. (Shazeer)
Verwandte Begriffe
Zur Abgrenzung eignen sich Multi-Head Attention, Grouped-Query Attention, KV Cache, Attention Head und Autoregressives Modell.