Analytics Legends La plateforme de connaissance SAP Analytics
Fiche concept

Attention Multi-Têtes vs Grouped-Query vs Multi-Query

Attention Multi-Têtes vs Grouped-Query vs Multi-Query — illustration de section Analytics Legends pour la base de connaissances SAP Analytics (concepts, études, Academy)

À jour au 2026-07-23

Qu'est-ce que Attention Multi-Têtes vs Grouped-Query vs Multi-Query ?

Passer de MHA à GQA-8 à taille de modèle égale réduit la mémoire de cache KV d'environ 8× pour moins de 1 % de perte MMLU, doublant ou triplant le nombre d'utilisateurs concurrents qu'une H100 peut servir — la vraie raison pour laquelle Mistral et Llama 3 servent moins cher que des modèles MHA équivalents.

De quoi il s'agit

L'attention multi-têtes (MHA), Grouped-Query Attention (GQA) et Multi-Query Attention (MQA) sont trois points sur la même courbe d'arbitrage : combien de projections Key/Value distinctes chaque couche calcule-t-elle, pour un nombre fixé de têtes Query. Le choix ne modifie pas ce que le modèle peut exprimer; il modifie la mémoire de cache KV que l'inférence consomme par token, et donc le coût par requête et la concurrence maximale qu'un GPU donné peut servir.

Pourquoi cela existe. Le Transformer original (2017) utilisait MHA — chaque tête Query a ses propres têtes Key et Value. Cela double la diversité représentationnelle mais double aussi la mémoire de cache KV à l'inférence, qui est le coût dominant en long contexte (concept compagnon C160). MQA (Shazeer 2019) effondre toutes les têtes vers un unique K/V partagé — mémoire KV minimale, mais perte de qualité mesurable à l'échelle. GQA (Ainslie et al. 2023) est le compromis pratique adopté par tous les modèles de frontière depuis Llama 2.

Pourquoi c'est important

  • MHA (Llama 1 70B : 64 Q, 64 KV) maximise la diversité représentationnelle mais double la mémoire de cache KV par rapport aux alternatives; MQA effondre vers une seule tête K/V partagée avec une perte de qualité mesurable à l'échelle.
  • GQA (Llama 3 70B : 64 Q, 8 KV) est le compromis pratique adopté par tous les modèles de frontière depuis Llama 2.
  • Si vous auto-hébergez ou fine-tunez via SAP AI Core, ce seul choix architectural contrôle la concurrence soutenable par GPU — invisible pour un consommateur d'API hébergée, mais essentiel pour comprendre pourquoi certains modèles coûtent moins cher à servir.

Points clés

  • Trois points sur une courbe — MHA (n_kv = n_q), GQA (n_kv = n_q / g), MQA (n_kv = 1) — arbitrage mémoire KV contre qualité.
  • GQA-8 (8 têtes Q par paire KV) est le défaut pour Llama 3/4, Mistral 7B/Large, Mixtral 8x7B, Gemma 2 — réduction mémoire KV ~8× vs MHA, perte MMLU <1 %.
  • MQA (n_kv = 1) maximise les économies de mémoire mais dégrade la qualité multi-tâche ; rarement utilisé dans les modèles de frontière post-2023.
  • Mémoire cache KV à l'inférence = 2 · n_layers · n_kv · d_head · seq_len · batch · octets — n_kv est le levier dominant.
  • Préserver la qualité exige un entraînement GQA from-scratch ou un « uptraining » soigné depuis un checkpoint MHA (Ainslie 2023).

Termes employés sur cette page

n_q / n_kv
Le nombre de têtes Query (n_q) et de têtes Key/Value (n_kv) dans une couche Transformer. MHA a n_kv = n_q ; GQA a n_kv < n_q ; MQA a n_kv = 1.
KV cache
Le stockage mémoire, par requête, des tenseurs Key et Value déjà calculés pour tous les tokens passés, réutilisé à chaque étape de génération pour éviter le recalcul. Domine la mémoire GPU en contexte long.
Uptraining
La procédure (Ainslie et al. 2023) pour convertir un checkpoint MHA existant en modèle GQA avec une faible quantité d'entraînement supplémentaire, préservant l'essentiel de la qualité d'origine pour une fraction du coût d'un entraînement from-scratch.
Concurrency
Le nombre de sessions utilisateur simultanées qu'un pool GPU fixe peut servir à la latence cible. Inversement proportionnel à la mémoire du KV cache par session — le KPI métier clé que GQA améliore.
Decision owner
La personne responsable qui accepte l'arbitrage et finance l'action suivante.
Semantic contract
La définition partagée des termes métier, indicateurs, entités et règles d'accès utilisés par les outils et les équipes.
Control plane
La couche qui applique la politique, l'accès, la traçabilité (lineage), la supervision et l'escalade à travers le modèle opérationnel.
Evidence grade
Un label qui distingue le fait vérifié, le signal directionnel, l'hypothèse modélisée et l'observation de terrain.

Sources

  1. Ainslie et al. — GQA: Training Generalized Multi-Query Transformer Models (2023)
  2. Meta AI — Llama 3 Model Card and Architecture Notes
  3. Mistral's Model Lets You Vibe Long-Running Code in the Cloud — AI Business, 2026-05-12
  4. SAP News Center — Accelerate the Autonomous Enterprise with SAP Business Data Cloud
  5. SAP News Center — SAP Unveils the Autonomous Enterprise
  6. SAP News Center — The Future of the Enterprise Is Autonomous
  7. SAP News Center — 2026 SAP Sapphire Keynote: Powering the Autonomous Enterprise
  8. SAP Help Portal — Administering SAP Datasphere: Enable Joule for SAP Datasphere
  9. SAP Datasphere — Help Portal
  10. SAP Datasphere — official product page
  11. SAP Analytics Cloud — Help Portal
  12. SAP Analytics Cloud — official product page
  13. SAP BW/4HANA — Help Portal
  14. SAP S/4HANA — Help Portal
  15. SAP News Center
  16. SAP Community
  17. SAP — industries overview
  18. SAP Business AI — official product page
  19. SAP Joule (work companion) — official product page
  20. SAP Generative AI — official product page
  21. Stanford HAI — AI Index Report
  22. arXiv — preprint archive (cs.CL/cs.AI)
  23. HuggingFace — model hub
  24. Gartner — research & analyst site
  25. BARC — BI & Analytics research
  26. TDWI — data & analytics research
  27. DSAG — German-speaking SAP user group
  28. ASUG — Americas' SAP User Group
  29. Databricks — official site

Fiche complète réservée aux abonnés. Ce que la fiche complète ajoute : le cadre de décision complet · la comparaison SAP · Snowflake · Databricks · Fabric · les pièges courants et leur correctif · l'aide-mémoire · les schémas d'architecture · les blocs de code.

Ouvrir dans l'application →