ML Fundamentals

GQA

Grouped Query Attention — вариант attention с разделёнными K/V-головами для снижения KV-cache и ускорения inference.

Что такое GQA

GQA (Grouped Query Attention) — архитектурный вариант multi-head attention, предложенный командой Google в 2023 году. Вместо отдельной пары K, V для каждой Q-головы (как в MHA), несколько Q-голов делят одну пару K, V.

Стандартный MHA: 32 Q-головы, 32 K-головы, 32 V-головы. GQA с 8 группами: 32 Q-головы, 8 K-голов, 8 V-голов.

Зачем нужен GQA

KV-cache: при inference LLM кешируются K, V для всех предыдущих токенов (KV-cache). Размер KV-cache пропорционален числу K, V голов. GQA сокращает KV-cache в 4× по сравнению с MHA при 8 группах против 32 голов — это критично для длинных контекстов.

Throughput: меньший KV-cache → больше concurrent запросов в памяти → выше throughput при serving.

Качество: GQA практически не уступает MHA, в отличие от Multi-Query Attention (MQA), где одна K, V-пара на все головы.

Кто использует GQA

Модель Q-головы KV-головы
Llama 3 8B 32 8
Llama 3 70B 64 8
Llama 3 405B 128 8
Mistral 7B 32 8
Qwen 2.5 7B 28 4

GQA vs MQA vs MHA

MHA:  [Q1][K1][V1] [Q2][K2][V2] ... [Q32][K32][V32]
GQA:  [Q1][Q2][Q3][Q4][K1][V1] [Q5][Q6][Q7][Q8][K2][V2] ...
MQA:  [Q1][Q2]...[Q32][K1][V1]

Связанные термины

  • multi-head attention — стандартный аналог с отдельными K, V
  • KV-cache — основная причина для перехода на GQA
  • self-attention — механизм, на котором основан GQA
  • tokens per second — метрика пропускной способности, которую улучшает GQA

Готовы запустить GPU-задачу?

Запустить GPU-сервер