Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Новый способ разреженного внимания ускоряет генерацию на длинном контексте, но сохраняет приблизительный вклад токенов, которые модель не читает целиком. На контексте 128K расчёт внимания в vLLM работал в 1,6 раза быстрее FlashAttention-3. PQ-HSA стоит рассматривать для сервисов, где генерацию ограничивает чтение KV-кэша, хотя препринт не рецензирован и все числа получили сами авторы.
Как приблизительные оценки возвращают отброшенный контекст
При генерации очередного токена модель сравнивает новый запрос со всеми ключами предыдущих токенов. Эти ключи и связанные с ними значения лежат в KV-кэше. Чем длиннее контекст, тем больше данных приходится переносить из памяти GPU, поэтому расчёт упирается не столько в вычисления, сколько в пропускную способность памяти.
Разреженное внимание сокращает чтение: дешёвая оценка выбирает небольшую часть прошлых токенов, после чего модель точно считает внимание только для них. Обычная схема присваивает остальным нулевой вес. Это хорошо работает, когда ответ зависит от нескольких фрагментов, но хуже — когда нужно собрать сведения из разных частей документа.
PQ-HSA использует индекс IVF-PQ. Он объединяет ключи в группы и хранит их сжатые представления, а затем вычисляет приблизительный логит внимания для каждого проиндексированного токена. Обычно эти оценки нужны лишь для выбора лучших кандидатов, но после выбора выбрасываются.
Здесь один поток оценок выполняет две задачи. Выбранные токены модель читает из исходного KV-кэша и считает точно. Остальные входят в общую нормализацию весов со своими приблизительными логитами, поэтому их суммарный вклад не исчезает.
Читать исходные значения всех оставшихся токенов не требуется. Метод складывает их веса внутри каждой группы индекса и умножает результат на среднее значение этой группы. В итоге модель учитывает весь контекст, но полностью загружает лишь малую долю KV-кэша; основной режим экспериментов использовал бюджет 1%.
Первые токены и недавнее окно остаются точными. После заполнения запроса система строит индекс, а новые токены временно держит вне него и добавляет пакетами. Плагин читает страничный KV-кэш vLLM на месте и не требует менять исходный код движка.
Фоновый вклад сохранил точность, а длина дала ускорение
Главный результат работы связан не с выбором токенов, а с тем, что происходит после выбора. При одинаковом селекторе приблизительный фон повысил среднюю точность по задачам на 0,12. Значит, выигрыш даёт именно возвращённый вклад непрочитанных токенов, а не более удачный поиск кандидатов.
На RULER и InfiniteBench PQ-HSA оказался точнее Quest и SnapKV при одинаковом бюджете чтения. На задачах, где ответ приходится собирать по всему контексту, результат оставался близок к полному вниманию. Разница с ним была в пределах погрешности на части проверок, тогда как преимущество над бюджетными альтернативами было статистически значимым.
Ускорение росло вместе с контекстом: на 512K расчёт внимания работал в 2,7 раза быстрее плотного варианта. Это ожидаемый профиль метода. У PQ-HSA есть постоянные расходы на построение таблиц, сканирование сжатых кодов и выбор кандидатов, зато он избегает чтения большей части исходного KV-кэша.
Качество проверяли на Llama-3.1-8B-Instruct и Qwen3-30B-A3B, используя синтетические и документные задачи с длинным контекстом. Замеры скорости охватили модели нескольких размеров, но выполнялись на одной NVIDIA H20. Поэтому результаты лучше всего описывают одиночный GPU и модели с групповым разделением ключей между головами внимания.
Менять архитектуру рано, готовить прототип уже можно
PQ-HSA не меняет планы продуктов с короткими запросами. Пока контекст помещается в режим, где плотное внимание не ограничивает генерацию, постоянные расходы индекса могут перекрыть экономию. В измеренных конфигурациях расчётная точка окупаемости лежала между 57K и 100K токенов и зависела от архитектуры модели.
Работа меняет выбор для систем, которые регулярно обрабатывают длинные документы, историю диалога или большие результаты поиска. Если профиль показывает, что время генерации уходит на чтение KV-кэша, можно проверить PQ-HSA как замену только для шага декодирования, оставив заполнение контекста и остальной стек vLLM без изменений.
Перед внедрением нужно измерить три вещи на собственных запросах: длину, после которой метод обгоняет плотное внимание; качество на задачах, где сведения распределены по документу; расходы на построение и обновление индекса. Опубликованная реализация упрощает такой эксперимент, но результаты для другого GPU, иной схемы внимания или распределённого запуска из этой работы напрямую не следуют.
Более общий вывод касается проектирования разреженного внимания. Если индекс уже оценивает каждый токен для ранжирования, эти оценки не обязательно выбрасывать. Их можно повторно использовать как дешёвое приближение фона и тем самым отделить сокращение чтения памяти от полного удаления контекста.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



