MHA, MQA, GQA et MLA
Situation concrète
Toutes les attentions multi-têtes ne conservent pas le même nombre de clés et valeurs. Ce détail influence directement la taille du cache et le débit de génération.
Objectifs d’apprentissage
- Comparer le partage des têtes key-value
- Expliquer pourquoi MLA ne se réduit pas à un simple groupement
Prérequis
- Leçon 6.1
- Leçon 5.3
Mode simple
MHA donne en général ses propres clés et valeurs à chaque tête de requête. MQA garde plusieurs requêtes mais partage une seule paire de têtes key-value. GQA forme plusieurs groupes : les requêtes d’un groupe partagent K et V. MLA, documentée notamment pour DeepSeek-V3, compresse des informations dans des représentations latentes puis reconstruit ce qui est nécessaire. Plus de partage réduit souvent la mémoire, mais chaque méthode possède des compromis de qualité, de calcul et d’implémentation.
Mode approfondi
Si hq désigne les têtes de requête et hkv les têtes key-value, MHA utilise typiquement hkv = hq, MQA hkv = 1 et GQA 1 < hkv < hq. Cela réduit l’empreinte du cache proportionnellement à hkv. MLA introduit des projections de réduction de rang et doit être lu dans le rapport de l’architecture qui le spécifie ; l’assimiler à GQA efface sa compression latente et ses composantes positionnelles particulières.
Analogie
Plusieurs chercheurs peuvent avoir chacun leurs archives, partager une archive commune ou travailler par équipes ; une bibliothèque compressée ajoute encore une opération de codage et de reconstruction.
Exemple concret
Avec huit requêtes, MHA peut conserver huit ensembles K/V, MQA un seul et GQA par exemple deux ou quatre. Ce dessin pédagogique ne fixe pas les valeurs d’un modèle réel.
MHA montre une paire par requête, MQA une paire commune, GQA plusieurs groupes, MLA une capsule latente avec reconstruction.
Activité manipulable
Confusion fréquente
Une variante plus économe n’est pas automatiquement meilleure dans toutes les tâches. Les résultats dépendent de l’entraînement, de la taille et de l’implémentation.
Vérification rapide
Quel paramètre structurel explique la baisse du cache entre MHA et GQA ?
Le nombre de têtes key-value devient inférieur au nombre de têtes de requête, car plusieurs requêtes partagent les mêmes K et V.
Résumé
- MHA sépare davantage les têtes K/V.
- MQA et GQA augmentent le partage.
- MLA ajoute une compression latente propre à sa conception.
