Нужны ли трансформеру три отдельные проекции? Одну убрали — почти не заметили

Новая работа по абляции проверяет, нужны ли вниманию разные проекции 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.

Следующая новость · 2 из 26 Читать дальше
🚀Tech

Трюк Huawei с KV-кэшем: точность FP16, кэш вчетверо больше и выше пропускная способность разом

Обычно квантование KV-кэша экономит память за счёт скорости или точности. KVarN от Huawei, готовый бэкенд для vLLM, обещает обойти этот компромисс: точность уровня FP16, кэш в 3–5 раз больше и пропускная способность примерно в 1,3 раза выше. Первая реакция треда: «Стоп, так же не бывает».

★ 122 · 💬 13 · github.com · 3 мин