From multi-head to latent attention: The evolution of attention mechanisms
Внимание в авто-регрессивных моделях позволяет фокусироваться на релевантных токенах контекста. Например, в «The animal didn’t cross the street because it was too tired» механизм связывает «it» с «animal», а не «street».
Как работает внимание
- Query (Q) – вектор текущего токена.
- Key (K) – векторы контекста для сравнения.
- Value (V) – фактические данные контекста.
- Attention scores – веса важности, полученные из Q и K.
- KV-кэш – повторное использование уже вычисленных K и V для ускорения декодирования.
Multi-Head Attention (MHA)
Идея: h параллельных «голов» учат разные аспекты зависимостей.
Плюсы: высокая точность.
Минусы: O(h·d²) параметров и вычислений; рост KV-кэша.
Multi-Query Attention (MQA)
Идея: одна K и V на все головы.
Плюсы: в 8–16× меньше KV-памяти, быстрее.
Минусы: качество падает.
Grouped Query Attention (GQA)
Компромисс: g групп K/V (1 ≤ g ≤ h).
Плюсы: баланс между MHA и MQA.
Минусы: всё ещё линейный рост памяти при больших g.
Multi-Latent Attention (MLA)
Идея: сжимаем K и V в небольшой латентный вектор c (dim ≪ d), из которого потом «разворачиваем» нужные K, V.
Плюсы:
- KV-память не зависит от h и d;
- качество как у MHA;
- применяется в DeepSeek-V2.
Минусы: дополнительные матрицы проекции, но выгода при больших моделях перевешивает.
Сводная таблица
Механизм | Параметры KV | Память KV | Качество | Примечание |
---|---|---|---|---|
MHA | h·d·d | O(hd) | высокое | baseline |
MQA | d·d | O(d) | ↓ | быстрый |
GQA | g·d·d | O(gd) | ≈ MHA | компромисс |
MLA | d_lat·d | O(d_lat) | ≈ MHA | state-of-art |
Вывод
Эволюция от MHA к MLA – путь к снижению памяти и вычислений без потери качества. MLA через латентные представления достигает эффективности MQA и точности MHA, задавая новый стандарт для больших языковых моделей.