Выкидываем лишние матрицы из трансформеров. Вот, слили K и V. Вообще мне кажется, что-то такое уже было... Do Transformers Need Three Projections? Systematic Study of QKV Variants __Ali Kayyam, Anusha Madan Gopal, M Anthony Lewis__ Статья: https://arxiv.org/abs/2606.04032 Код: https://github.com/Brainchip-Inc/Do-Transformers-Need-3-Projections Ревью: https://arxiviq.substack.com/p/do-transformers-need-three-projections # TL;DR ЧТО сделали: Авторы систематически исследовали совместное использование проекций (Projective Sharing) в механизме self-attention, протестировав три типа ограничений: общие query-key, общие key-value и единую проекцию для всех трёх векторов. Объединение проекций Key и Value (оптимальный вариант `Q-K=V`) позволило отказаться от кэширования отдельного тензора Value, сократив объём KV-кэша на 50%. Важно, что этот подход ортогонален методам совместного использования голов вроде GQA и MQA и отлично дополняет их, позволяя снизить объём KV-кэша на внушительные 96.9%. ПОЧЕМУ это важно: Эта работа разрушает устоявшееся убеждение, что для self-attention обязательно нужны три полностью независимые проекции. Предложенный математически обоснованный метод эффективно решает проблему раздувания KV-кэша — главного препятствия при работе с длинным контекстом и развёртывании LLM на edge-устройствах. Экономия памяти достигается практически без потери качества (например, падение точности на даунстрим-задачах составило всего 0.41% для модели на 1.2B параметров), что открывает новые возможности оптимизации трансформеров. Для практиков: Объединение проекций Key и Value (конфигурация `Q-K=V`) — изящное архитектурное решение, которое стоит внедрять при проектировании новых LLM. Сочетая её с GQA или MQA, можно радикально снизить требования к памяти на инференсе, упростив локальный запуск моделей на смартфонах и других устройствах с ограниченными ресурсами. Выкидывать матрицы тут: https://t.me/gonzo_ML_podcasts/3948