GUIDE IA du langage

Attention aux requêtes groupées

Grouped-Query Attention (GQA) est un moyen de réduire la mémoire nécessaire lors de la génération de texte en permettant à plusieurs têtes de requête de partager les mêmes têtes de clé et de valeur.

2 minutes de lectureDernière mise à jour

Aperçu

It makes large models much faster to serve with almost no quality loss.

Plongée profonde

Dans une couche d’attention multi-têtes standard, chaque tête a ses propres requêtes, clés et valeurs. Lors de la génération, les clés et les valeurs de tous les jetons précédents sont mises en cache (le « cache KV ») afin que le modèle ne les recalcule pas. Avec de nombreuses têtes et des contextes longs, ce cache devient énorme et domine la bande passante mémoire au moment de l'inférence. GQA, introduit par les chercheurs de Google en 2023, regroupe les têtes de requête et donne à chaque groupe un seul ensemble partagé de têtes de clés et de valeurs. Si vous disposez de 32 têtes de requête mais seulement de 8 groupes KV, le cache KV est environ multiplié par quatre. Cela se situe entre l'attention multi-têtes complète (chaque tête séparée) et l'attention multi-requêtes (un KV partagé pour toutes les têtes), capturant l'essentiel de la vitesse du MQA tout en gardant la qualité proche de l'attention totale. Llama 2 70B et de nombreux modèles ultérieurs l'ont adopté.

Aperçu technique

La qualité de l’attention dépend fortement de la présence de nombreuses directions de requête distinctes, mais elle tolère le partage des clés et des valeurs. GQA exploite cette asymétrie : il conserve toutes les têtes de requête mais réplique chaque tête KV partagée dans les requêtes de son groupe. Les économies se font par déduction, où le cache KV est le principal consommateur de bande passante mémoire ; moins de têtes KV signifie moins de données à lire par jeton généré. Les modèles sont souvent « entraînés » brièvement pour convertir un point de contrôle multi-têtes existant en un point de contrôle GQA.

Impact stratégique

Vitesse et échelle

Les flux de travail linguistiques peuvent évoluer plus rapidement sans sacrifier la cohérence.

Accès et portée

Il étend l’accès à toutes les langues et styles de communication.

Décisions plus claires

Les équipes peuvent consacrer plus de temps au jugement tandis que l’automatisation gère les répétitions.

L'avenir de l'attention aux requêtes groupées

GQA est désormais un standard par défaut dans les modèles à poids ouvert, car il échange proprement un petit coût de qualité contre de gros gains de service. Attendez-vous à ce qu'il se combine de plus en plus avec d'autres astuces d'efficacité telles que FlashAttention, la quantification du cache KV et des schémas plus récents tels que l'attention latente multi-têtes qui compressent encore davantage le cache. À mesure que les fenêtres contextuelles se développent, le contrôle de la taille du cache KV restera un problème de conception central, et le partage de tête de style GQA restera un levier clé.

Mise en œuvre dans le monde réel

Llama 2 70B et Llama 3 utilisant GQA pour servir des contextes longs avec un cache KV plus petit

Réduire la mémoire GPU afin qu'un grand modèle de chat s'adapte à moins d'accélérateurs ou moins chers

Accélération de la génération jeton par jeton dans les API de production où la bande passante du cache KV constitue le goulot d'étranglement

Permettre des lots de plus grande taille pour servir plusieurs utilisateurs simultanément sans épuiser la mémoire

Risques et garde-fous

Les faits hallucinés peuvent discrètement entrer dans des rapports, des flux de support ou des résultats de recherche.

La sensibilité des invites peut créer des résultats incohérents pour des demandes similaires.

Les données textuelles sensibles peuvent être exposées si les contrôles d’accès sont faibles.

Feuille de route de mise en œuvre

1

Définissez le format de sortie, le ton et les normes de qualité avant le déploiement.

2

Établissez des réponses auprès de sources fiables chaque fois que la précision est importante.

3

Gardez un point de contrôle d’examen humain pour les résultats à enjeux élevés.

4

Suivez les modèles de défaillance et recyclez régulièrement les invites ou les flux de travail.

Continuez à explorer

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Grouped-Query Attention quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Démarrer le quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Guide suivant

Attention multi-requêtes

Questions fréquemment posées

What is Grouped-Query Attention?

Grouped-Query Attention (GQA) est un moyen de réduire la mémoire nécessaire lors de la génération de texte en permettant à plusieurs têtes de requête de partager les mêmes têtes de clé et de valeur. Cela permet de servir les grands modèles beaucoup plus rapidement avec presque aucune perte de qualité.

Dans Grouped-Query Attention, qu’est-ce qui est partagé entre un groupe de têtes de requête ?

GQA conserve des têtes de requête distinctes, mais permet à chaque groupe de partager un ensemble de têtes de clé et de valeur, réduisant ainsi le cache KV.

GQA est mieux décrit comme un juste milieu entre quels deux extrêmes ?

Le multi-tête donne à chaque tête son propre KV ; la requête multiple partage un KV pour toutes les têtes ; GQA se situe entre les deux avec quelques groupes KV.

Quelle partie de l'inférence GQA rend-elle principalement moins chère ?

Les économies apparaissent au moment de la génération, où la lecture du cache KV constitue le coût dominant en termes de bande passante mémoire.

Si un modèle comporte 32 têtes de requête et 8 groupes KV, le cache KV est réduit d'environ quel facteur ?

32 têtes de requête divisées par 8 groupes KV partagés permettent de réduire d'environ quatre fois les clés et valeurs mises en cache.

Pourquoi GQA peut-il préserver l'essentiel de la qualité du modèle malgré le partage des têtes KV ?

L'attention tolère bien mieux le partage de clés et de valeurs que la perte de directions de requête distinctes, de sorte que GQA maintient une qualité élevée.