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-сервер