Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Grouped Query Attention (GQA)

ia

Définition

Le Grouped Query Attention (GQA) est une technique d'optimisation de l'attention dans les LLMs, introduite par Ainslie et al. (Google, 2023). Elle constitue un compromis entre le Multi-Head Attention (MHA) standard et le Multi-Query Attention (MQA) pour réduire la taille du KV-Cache tout en préservant la qualité des représentations. Dans le MHA traditionnel, chaque tête d'attention possède ses propres matrices K et V. Avec h=32 têtes (comme dans LLaMA 7B), cela génère 32 paires K/V distinctes à stocker dans le KV-Cache à chaque token généré — ce qui représente une consommation mémoire considérable pour les longues séquences. Pour une batch de 32 requêtes avec une séquence de 4096 tokens sur un modèle 7B, le KV-Cache peut dépasser 2 GB. Le MQA (Multi-Query Attention) résout ce problème en utilisant une seule tête K/V partagée par toutes les têtes Q. Si efficace en mémoire, ce compromis peut dégrader la qualité du modèle. Le GQA introduit un juste milieu : les h têtes de queries sont divisées en G groupes, chaque groupe partageant une paire K/V. Avec G=8 groupes et h=32 têtes Q, on obtient une réduction 4× du KV-Cache par rapport au MHA tout en préservant plus d'expressivité que le MQA. LLaMA 3 (toutes variantes), Gemma 2, Mistral 7B v0.3, Qwen2.5 et la plupart des LLMs open-source récents utilisent GQA. Pour les équipes MLOps déployant des LLMs en production avec vLLM ou TGI, GQA est directement bénéfique : il permet d'augmenter la batch size, réduire la latence et diminuer les coûts GPU en production.

Comparatif MHA / GQA / MQA

MéthodeTêtes K/VKV-CacheQualité
MHAh (ex: 32)100%Maximale
GQA (G=8)825%Proche MHA
MQA13%Légèrement réduite

Impact en production

Sur LLaMA 3 70B avec GQA (8 groupes KV, 64 têtes Q) :

  • KV-Cache réduit de 8× vs MHA classique
  • Throughput augmenté de 30-40% avec vLLM
  • Permet de servir des séquences de 8K tokens sur 2× A100 80GB au lieu de 4×

Vérification avec Transformers

from transformers import AutoConfig
config = AutoConfig.from_pretrained("meta-llama/Meta-Llama-3-8B")
print(config.num_attention_heads)    # 32 (têtes Query)
print(config.num_key_value_heads)    # 8  (têtes KV — GQA avec G=8)

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis