Нужны ли трансформеру три отдельные проекции? Одну убрали — почти не заметили
Новая работа по абляции проверяет, нужны ли вниманию разные проекции Q, K и V, и показывает: связать ключ и значение почти ничего не стоит, зато KV-кэш сокращается вдвое. Тред оценил результат и высмеял обозначения.
Систематическое исследование тестирует внимание трансформера с общими проекциями: Q-K=V, Q=K-V и единственная общая проекция — на синтетических задачах, датасетах для зрения и LLM на 300M и 1,2B параметров.
Главный вывод: схема Q-K=V даёт сокращение KV-кэша на 50% ценой всего 3,1% перплексии и складывается с GQA/MQA вплоть до ~97% экономии кэша.
Оговорка треда: LLM видели всего 10B токенов — в 1000 раз меньше современных переобученных моделей, так что обобщаемость не доказана. А обозначение со знаком минус довело читателя до белого каления.
Вопрос, поставленный прямо
Работа задаёт вопрос, который многих не отпускал: внимание считает три отдельные линейные проекции — query, key, value, — но действительно ли все три должны быть разными? Авторы систематически тестируют варианты с общими проекциями (в их обозначениях Q-K=V, Q=K-V и Q=K=V для единственной общей проекции) на синтетических задачах, наборах для зрения вроде CIFAR и TinyImageNet и языковых моделях на 300M и 1,2B параметров. Главный результат: схема Q-K=V даёт сокращение KV-кэша на 50% ценой всего 3,1% ухудшения перплексии, и важно, что она дополняет совместное использование голов: в связке с MQA достигается до 96,9% сокращения кэша. Авторы также показывают, что не всякое разделение равноценно: вариант Q=K-V «ломает направленность внимания».
Тред: хороший результат и преступление в обозначениях
Самый заплюсованный комментарий был вовсе не про науку, а про мольбу:
«Когда обсуждают линейную алгебру… по соглашению знак „минус“ означает вычитание. Он не означает „а ещё“, особенно если зажат между двумя переменными, обозначающими матрицы.» — читатель об обозначениях в работе
Он прав: читать «Q-K=V» как «Q и K объединены и отличны от V» — это сбивающий с толку способ записи. Но несущая часть критики касалась масштаба:
«Их модель на 1,2B обучали всего на 10B токенов — это меньше половины оптимума Chinchilla по вычислениям. Современные переобученные LLM на 1B обучают на порядка 10T токенов (в 1000 раз больше).» — комментатор об обобщаемости
Вот настоящая звёздочка: абляция, которая держится на 10B токенов, может не пережить режим сильного переобучения, в котором живут продакшен-модели. Более игривый отклик смаковал возможность того, «что мы делали трансформеры излишне сложными», заодно отметив отсутствие репозитория с кодом, из-за чего результат остаётся в корзине «интересно, но не проверено».
Реальная зацепка с реальным ограничением
Сократить KV-кэш вдвое ценой ~3% перплексии, складываясь с MQA до 97% экономии, — это ровно та эффективность, которой жаждет мир edge-развёртывания. Честная формулировка, которую дал тред, а не аннотация: это многообещающая абляция на малом масштабе и скромном числе токенов, ещё не лицензия вырывать проекцию из вашей продакшен-модели на 1B. Вопрос в заголовке острый. Ответ: возможно, на этом масштабе, но следите за бюджетом токенов.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
Трюк Huawei с KV-кэшем: точность FP16, кэш вчетверо больше и выше пропускная способность разом
Обычно квантование KV-кэша экономит память за счёт скорости или точности. KVarN от Huawei, готовый бэкенд для vLLM, обещает обойти этот компромисс: точность уровня FP16, кэш в 3–5 раз больше и пропускная способность примерно в 1,3 раза выше. Первая реакция треда: «Стоп, так же не бывает».