Ultralytics YOLO27:
Zurück zum Glossar von Ultralytics

Grouped Query Attention (GQA)

Erfahre, wie Grouped Query Attention (GQA) den Speicherbedarf des KV-Cache reduziert, die Inferenz effizienter macht und die Leistung in Transformer-Modellen ausbalanciert.

Gruppierte Abfrageaufmerksamkeit (GQA) ist ein Aufmerksamkeitsentwurf, bei dem mehrere Abfrageköpfe eine kleinere Anzahl von Schlüssel- und Werteköpfen gemeinsam nutzen. Dabei bleiben die vielfältigen Perspektiven von Abfragen mit mehreren Köpfen erhalten, während der für Schlüssel und Werte erforderliche Speicherbedarf und Datentransfer sinken. GQA ist besonders bei der autoregressiven Inferenz nützlich, bei der ein Modell jeweils ein Token generiert und gespeicherte Aufmerksamkeitszustände wiederholt ausliest.

So funktioniert GQA#

Innerhalb eines Aufmerksamkeitsmechanismus wird jedes Token in drei Repräsentationen projiziert:

  • Abfrage: Beschreibt die Information, nach der das aktuelle Token sucht.
  • Schlüssel: Beschreibt, was jedes verfügbare Token repräsentiert.
  • Wert: Enthält die abgerufene Information, wenn eine Abfrage zu einem Schlüssel passt.

Bei herkömmlicher Selbstaufmerksamkeit werden diese Projektionen in Köpfe aufgeteilt, damit das Modell verschiedene Beziehungen parallel lernen kann. GQA behält viele Abfrageköpfe bei, ordnet ihnen jedoch gemeinsam genutzte Schlüssel- und Werteköpfe zu. Eine Aufmerksamkeits-Schicht kann beispielsweise acht Abfrageköpfe und zwei Schlüssel-Werte-Köpfe verwenden. Jeder Schlüssel-Werte-Kopf bedient dann vier Abfrageköpfe.

Die Aufmerksamkeitsberechnung selbst bleibt eine skalierte Punktprodukt-Aufmerksamkeit. Geändert werden die Anordnung der Köpfe sowie die Menge der erzeugten, gespeicherten und ausgelesenen Schlüssel-Werte-Daten. Frameworks wie die skalierte Punktprodukt-Aufmerksamkeit von PyTorch erfordern daher, dass die Anzahl der Abfrageköpfe durch die Anzahl der Schlüssel-Werte-Köpfe teilbar ist, wenn GQA aktiviert ist. (docs.pytorch.org)

GQA im Vergleich zu Aufmerksamkeit mit mehreren Köpfen und mit mehreren Abfragen#

GQA liegt zwischen Aufmerksamkeit mit mehreren Köpfen und Aufmerksamkeit mit mehreren Abfragen:

  • Aufmerksamkeit mit mehreren Köpfen: Jeder Abfragekopf hat eigene Schlüssel- und Werteköpfe. Das ermöglicht eine maximale Unabhängigkeit der Köpfe, führt jedoch zum größten Bedarf an Schlüssel-Werte-Speicher.
  • Gruppierte Abfrageaufmerksamkeit: Mehrere Abfrageköpfe nutzen jeweils einen Schlüssel-Werte-Kopf gemeinsam. Dadurch werden Repräsentationskapazität und Speichereffizienz ausbalanciert.
  • Aufmerksamkeit mit mehreren Abfragen: Alle Abfrageköpfe nutzen einen Schlüsselkopf und einen Wertekopf gemeinsam. Dadurch wird der Speicherbedarf für Schlüssel und Werte minimiert, allerdings steht eine geringere Vielfalt an Schlüsseln und Werten zur Verfügung.

Wenn eine Schicht 32 Abfrageköpfe hat, kann die Aufmerksamkeit mit mehreren Köpfen ebenfalls 32 Schlüssel-Werte-Köpfe verwenden, GQA möglicherweise 8 und die Aufmerksamkeit mit mehreren Abfragen 1. GQA ist kein Ersatz für die umfassendere Transformer-Architektur, sondern eine mögliche Konfiguration innerhalb einer Transformer-Aufmerksamkeitsschicht. Die Dokumentation von NVIDIA zu Aufmerksamkeit mit mehreren Köpfen, mehreren Abfragen und gruppierten Abfragen beschreibt diese Varianten als hauptsächlich dadurch verschieden, wie viele Schlüssel-Werte-Köpfe die Abfrageköpfe bedienen. (nvidia.github.io)

Warum GQA wichtig ist#

Während der autoregressiven Generierung speichert ein Modell vorherige Schlüssel und Werte in einem KV-Cache. Bei standardmäßiger Aufmerksamkeit mit mehreren Köpfen trägt jeder Aufmerksamkeitskopf separate zwischengespeicherte Schlüssel und Werte bei. Lange Sequenzen, große Stapel und zahlreiche Modellschichten können daher beträchtlichen GPU-Speicher belegen.

Da GQA weniger Schlüssel-Werte-Köpfe verwendet, ist sein Cache proportional zur Verringerung dieser Kopfanzahl kleiner. Das kann Folgendes verbessern:

  • Speicherkapazität: Längere Eingabeaufforderungen oder mehr gleichzeitige Anfragen können in den verfügbaren Speicher passen.
  • Generierungsdurchsatz: Für jedes generierte Token müssen weniger Schlüssel-Werte-Daten gelesen werden.
  • Inferenzlatenz: Weniger Speicherverkehr kann die Verarbeitungszeit von Token zu Token verkürzen.
  • Skalierbarkeit des Kontextfensters: Die Verarbeitung langer Sequenzen wird praktikabler.

Diese Vorteile hängen von der Hardware, der Sequenzlänge, der Stapelgröße und der Kernel-Unterstützung ab. Produktionslaufzeitumgebungen benötigen weiterhin eine effiziente Cache-Zuweisung. Das TensorRT-LLM-KV-Cache-System von NVIDIA kombiniert beispielsweise GQA-Unterstützung mit blockbasiertem Caching, Wiederverwendung und Auslagerung. (nvidia.github.io)

Anwendungen in der Praxis#

Assistenten mit langem Kontext: Ein Programmierassistent kann Tausende Quellcode-Tokens verarbeiten, bevor er eine Antwort generiert. GQA reduziert den mit diesem Verlauf verbundenen zwischengespeicherten Schlüssel-Werte-Zustand, sodass ein Server längere Dateien oder mehr gleichzeitige Benutzer verarbeiten kann, ohne den GPU-Speicher proportional zu erhöhen.

Multimodale Bild- und Videoassistenten: Ein Bild-Sprach-Modell kann Bildbereiche oder Videoframes als lange Token-Sequenzen darstellen. GQA verringert den Druck auf den Aufmerksamkeits-Cache, nachdem diese visuellen Tokens in den Sprach-Decoder gelangen, und schafft so möglicherweise mehr Speicher für zusätzliche Bilder, Frames oder Anfragen. Das unterscheidet sich von einem standardmäßigen visuellen Transformer-Modell, bei dem die Aufmerksamkeit möglicherweise alle Bildbereiche parallel verarbeitet, ohne einen autoregressiven KV-Cache zu verwenden.

Praktische Implementierung und Abwägungen#

PyTorch stellt GQA über enable_gqa=True bereit. Dieses dokumentierte CUDA-Beispiel verwendet acht Abfrageköpfe und zwei gemeinsam genutzte Schlüssel-Werte-Köpfe:

import torch
import torch.nn.functional as F
from torch.nn.attention import SDPBackend, sdpa_kernel

assert torch.cuda.is_available(), "A CUDA device is required."

query = torch.randn(1, 8, 16, 32, device="cuda")
key = torch.randn(1, 2, 16, 32, device="cuda")
value = torch.randn(1, 2, 16, 32, device="cuda")

# Four query heads share each key-value head.
with sdpa_kernel(SDPBackend.MATH):
    output = F.scaled_dot_product_attention(
        query,
        key,
        value,
        enable_gqa=True,
    )

print(output.shape)

Die Ausgabe behält acht Abfrageköpfe bei, während Schlüssel und Werte nur zwei Köpfe verwenden. Der Auswahlmechanismus für Aufmerksamkeits-Backends in PyTorch kann steuern, welcher unterstützte Kernel den Vorgang ausführt, während der Leitfaden von PyTorch zu Transformer-Bausteinen einen umfassenderen Implementierungskontext bietet. (docs.pytorch.org)

GQA muss beim Entwurf oder bei der Anpassung eines Modells ausgewählt werden; für einen vorhandenen Checkpoint ist es im Allgemeinen kein Schalter, der zur Inferenzzeit umgelegt werden kann. Entwickler sollten die Framework-Unterstützung, die Teilbarkeit der Kopfanzahl, das numerische Verhalten, den Speicherbedarf und die Aufgabenqualität überprüfen. Für die Bereitstellung in der Computer Vision helfen ergänzende Arbeitsabläufe wie die TensorRT-Integration von Ultralytics und der Benchmark-Modus von Ultralytics dabei zu messen, ob architektonische und Laufzeitoptimierungen auf der Zielhardware tatsächlich relevante Verbesserungen bewirken.

Explore solutions

Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeiterkenntnisse für Landwirtschaft, Aquakultur, Umweltüberwachung, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Bringe KI-gestützte Bildverarbeitung mit Ultralytics YOLO-Modellen in die Luftüberwachung. Unterstütze Drohnen, Luft- und Raumfahrt-Workflows, Umweltschutz und Geodatenbranchen mit Computer-Vision-Lösungen.
Mehr erfahren

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision AI unterstützt Perimeterüberwachung, Bedkennung, Kennzeichenerkennung und Arbeitssicherheit.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mache Maschinen mit Ultralytics YOLO-Modellen intelligenter. Vision AI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Computer Vision in der Logistik

Computer Vision in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketinspektion, Sortierung, Fahrzeugverfolgung und Überwachung der Lagersicherheit in Echtzeit.
Mehr erfahren
Computer Vision im Einzelhandel

Computer Vision im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung, Warteschlangenmanagement und aussagekräftigere Einblicke in das Kundenverhalten.
Mehr erfahren
Computer Vision im Gesundheitswesen

Computer Vision im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI im Gesundheitswesen ermöglicht eine schnellere medizinische Bildgebung, intelligentere Diagnosen und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Einhaltung von Vorgaben zur persönlichen Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilindustrie

Computer Vision in der Automobilindustrie

Setze Computer Vision mit Ultralytics YOLO-Modellen in der Automobilindustrie ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Bring Vision AI mit Ultralytics YOLO-Modellen in die intelligente Landwirtschaft. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und intelligentere Erträge.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeiterkenntnisse für Landwirtschaft, Aquakultur, Umweltüberwachung, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Bringe KI-gestützte Bildverarbeitung mit Ultralytics YOLO-Modellen in die Luftüberwachung. Unterstütze Drohnen, Luft- und Raumfahrt-Workflows, Umweltschutz und Geodatenbranchen mit Computer-Vision-Lösungen.
Mehr erfahren

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision AI unterstützt Perimeterüberwachung, Bedkennung, Kennzeichenerkennung und Arbeitssicherheit.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mache Maschinen mit Ultralytics YOLO-Modellen intelligenter. Vision AI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Computer Vision in der Logistik

Computer Vision in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketinspektion, Sortierung, Fahrzeugverfolgung und Überwachung der Lagersicherheit in Echtzeit.
Mehr erfahren
Computer Vision im Einzelhandel

Computer Vision im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung, Warteschlangenmanagement und aussagekräftigere Einblicke in das Kundenverhalten.
Mehr erfahren
Computer Vision im Gesundheitswesen

Computer Vision im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI im Gesundheitswesen ermöglicht eine schnellere medizinische Bildgebung, intelligentere Diagnosen und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Einhaltung von Vorgaben zur persönlichen Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilindustrie

Computer Vision in der Automobilindustrie

Setze Computer Vision mit Ultralytics YOLO-Modellen in der Automobilindustrie ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Bring Vision AI mit Ultralytics YOLO-Modellen in die intelligente Landwirtschaft. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und intelligentere Erträge.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeiterkenntnisse für Landwirtschaft, Aquakultur, Umweltüberwachung, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Bringe KI-gestützte Bildverarbeitung mit Ultralytics YOLO-Modellen in die Luftüberwachung. Unterstütze Drohnen, Luft- und Raumfahrt-Workflows, Umweltschutz und Geodatenbranchen mit Computer-Vision-Lösungen.
Mehr erfahren

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision AI unterstützt Perimeterüberwachung, Bedkennung, Kennzeichenerkennung und Arbeitssicherheit.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mache Maschinen mit Ultralytics YOLO-Modellen intelligenter. Vision AI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Computer Vision in der Logistik

Computer Vision in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketinspektion, Sortierung, Fahrzeugverfolgung und Überwachung der Lagersicherheit in Echtzeit.
Mehr erfahren
Computer Vision im Einzelhandel

Computer Vision im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung, Warteschlangenmanagement und aussagekräftigere Einblicke in das Kundenverhalten.
Mehr erfahren
Computer Vision im Gesundheitswesen

Computer Vision im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI im Gesundheitswesen ermöglicht eine schnellere medizinische Bildgebung, intelligentere Diagnosen und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Einhaltung von Vorgaben zur persönlichen Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilindustrie

Computer Vision in der Automobilindustrie

Setze Computer Vision mit Ultralytics YOLO-Modellen in der Automobilindustrie ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Bring Vision AI mit Ultralytics YOLO-Modellen in die intelligente Landwirtschaft. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und intelligentere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Beginne deine Reise in die Zukunft des maschinellen Lernens