
Grouped-Query Attention
Grouped-Query Attention ist ein Sparverfahren im Inneren moderner Sprachmodelle: Mehrere Suchanfragen teilen sich denselben Zwischenspeicher, statt jede einen eigenen zu bekommen. Das senkt den Speicherbedarf beim Antworten deutlich, ohne die Qualität merklich zu verschlechtern.
Große Sprachmodelle wie ChatGPT erzeugen Text Wort für Wort. Bei jedem neuen Wort schauen sie zurück auf alles, was vorher schon dasteht. Damit sie das nicht ständig neu ausrechnen müssen, legen sie für jedes bisherige Wort Notizen in einen Zwischenspeicher. Dieser Speicher wächst mit jedem Wort und ist bei langen Texten der größte Kostenfaktor. Grouped-Query Attention ist ein Bauprinzip, das diesen Speicher schrumpft: Mehrere parallele Suchvorgänge im Modell greifen auf denselben Notizsatz zu, statt jeder auf einen eigenen. Fast alle aktuellen Modelle sind heute so gebaut.
Warum der Zwischenspeicher zum Nadelöhr wurde
Ein Sprachmodell arbeitet intern nicht mit einem einzigen Blick zurück, sondern mit vielen gleichzeitig. Diese parallelen Blicke heißen Köpfe, englisch heads. Ein großes Modell hat pro Schicht oft 32 oder 64 davon, und Schichten gibt es dutzendweise. Wenn jeder Kopf für jedes bisherige Wort eigene Notizen ablegt, entsteht sehr schnell sehr viel Datenmenge.
Konkret: Bei einem Modell mit 70 Milliarden Parametern und einem Text von 100.000 Wörtern kann dieser Zwischenspeicher zweistellige Gigabyte-Beträge erreichen. Das ist mehr, als eine einzelne Grafikkarte für das Modell selbst übrig hat. Und weil der Speicher pro Nutzer separat entsteht, verhundertfacht sich das Problem bei hundert gleichzeitigen Anfragen.
Der Engpass ist dabei nicht die Rechenleistung, sondern das Hin- und Herschaufeln der Daten zwischen Speicher und Rechenwerk. Grouped-Query Attention greift genau hier an. Weniger Notizen bedeuten weniger Datenverkehr, und weniger Datenverkehr bedeutet schnellere Antworten und mehr Nutzer pro Grafikkarte. Deshalb ist das Verfahren weniger eine Verbesserung der Intelligenz als eine der Wirtschaftlichkeit.
Von einem Notizzettel pro Kopf zu einem pro Gruppe
Jeder Kopf stellt beim Zurückschauen eine Art Frage: Welche früheren Wörter sind für mich gerade relevant? Diese Frage heißt Query. Die Notizen zu den früheren Wörtern bestehen aus zwei Teilen, Key und Value. Der Key ist das Stichwort, an dem der Kopf erkennt, ob etwas passt. Der Value ist der Inhalt, der dann weitergegeben wird. Nur Keys und Values müssen gespeichert werden, denn nur sie werden wiederverwendet.
Die klassische Bauweise gibt jedem Kopf eigene Keys und Values. Grouped-Query Attention teilt die Köpfe stattdessen in Gruppen ein. Aus 32 Köpfen werden zum Beispiel 8 Gruppen mit je 4 Köpfen. Jede Gruppe hat nur einen gemeinsamen Satz Keys und Values. Die vier Köpfe einer Gruppe stellen weiterhin eigene, unterschiedliche Fragen, lesen die Antworten aber im selben Notizbuch nach. Das reduziert den Zwischenspeicher hier auf ein Viertel.
Man kann das Prinzip bis zum Extrem treiben: Bei nur einer einzigen Gruppe teilen sich alle Köpfe ein Notizbuch. Dieses Verfahren gab es vor Grouped-Query Attention und heißt Multi-Query Attention. Es spart am meisten, kostet aber messbar Qualität. Die Gruppierung ist der Kompromiss dazwischen und in der Praxis der Punkt, an dem der Qualitätsverlust fast verschwindet.
Wo GQA in Modellen und Meldungen auftaucht
Bekannt wurde das Verfahren 2023 durch eine Forschungsarbeit von Google und kurz danach durch Llama 2 von Meta. Seither steckt es in praktisch jedem großen Sprachmodell, das man benutzen kann, etwa in Mistral, Qwen oder den Llama-Nachfolgern. In technischen Steckbriefen von Modellen findet man dann Angaben wie « 32 attention heads, 8 key-value heads ». Das Verhältnis dieser beiden Zahlen ist genau die Gruppengröße.
Im Alltag merkt man das Verfahren indirekt. Dass Chatbots heute sehr lange Dokumente verarbeiten können, ohne dass die Nutzung unbezahlbar wird, hängt unter anderem daran. Auch dass kleinere Modelle auf einem Laptop oder Handy laufen, ist ohne diese Speicherersparnis kaum machbar.
Ein häufiger Irrtum: Grouped-Query Attention macht ein Modell nicht klüger und verkleinert es auch nicht. Die Zahl der Parameter bleibt fast gleich, nur der Zwischenspeicher beim Antworten schrumpft. Verwechseln sollte man es auch nicht mit Mixture of Experts, wo das Modell pro Anfrage nur Teile seiner Bausteine aktiviert. Beide Verfahren sparen Ressourcen, aber an völlig verschiedenen Stellen, und werden oft gemeinsam eingesetzt.