Найти в Дзене
Машинное обучение

🌟 NVIDIA KVzap: жмем KV-кэш в 4 раза

Все любят длинный контекст, но для GPU это больно - KV-кэш растет линейно и быстро сжирает VRAM. Например, для Llama-65B на 128k токенов кэш весит 335 ГБ. Существующие методы прунинга либо медленные, либо тупые и режут важное, либо требуют переобучения модели. NVIDIA предложили метод KVzap, который решает, какие токены можно забыть, глядя только на текущие хидден-стэйты. 🟡Логика метода разбита на 2 этапа: Поиск идеала (KVzip+). Берется медленный, но точный метод KVzip: модели скармливают текст, заставляют его повторить, и смотрят, на какие прошлые токены она реально обращает внимание. Это золотой стандарт важности токена. Но в проде так делать нельзя, это двойная работа. Аппроксимация (KVzap). Тут и происходит вся суть: крошечная модель-суррогат смотрит на входящий хидден-стэйт токена и предсказывает, насколько этот токен будет важен в будущем, то есть пытается угадать скор KVzip. Модели 2-х видов: KVzap-Linear: простейшая линейная проекция (одна матрица). Она берет хиден-стэйт

🌟 NVIDIA KVzap: жмем KV-кэш в 4 раза.

Все любят длинный контекст, но для GPU это больно - KV-кэш растет линейно и быстро сжирает VRAM. Например, для Llama-65B на 128k токенов кэш весит 335 ГБ. Существующие методы прунинга либо медленные, либо тупые и режут важное, либо требуют переобучения модели.

NVIDIA предложили метод KVzap, который решает, какие токены можно забыть, глядя только на текущие хидден-стэйты.

🟡Логика метода разбита на 2 этапа:

Поиск идеала (KVzip+).

Берется медленный, но точный метод KVzip: модели скармливают текст, заставляют его повторить, и смотрят, на какие прошлые токены она реально обращает внимание. Это золотой стандарт важности токена. Но в проде так делать нельзя, это двойная работа.

Аппроксимация (KVzap).

Тут и происходит вся суть: крошечная модель-суррогат смотрит на входящий хидден-стэйт токена и предсказывает, насколько этот токен будет важен в будущем, то есть пытается угадать скор KVzip.

Модели 2-х видов:

KVzap-Linear: простейшая линейная проекция (одна матрица). Она берет хиден-стэйт и тупо проецирует его в скалярный скор важности. Сложность: экстремально низкая (~0.02%).

KVzap-MLP: двухслойный перцептрон. Внутри есть скрытый слой размером 1/8 от размерности модели и нелинейная активация. Сложность: низкая, но выше линейной (~1.1%).

🟡Все вместе это работает так

Токен залетает в слой трансформера, модель-суррогат быстро считает его скор важности. Если он ниже порога - токен в кэш не пишется или удаляется. Но при этом всегда оставляется скользящее окно из последних 128 токенов, чтобы не терять локальный контекст, иначе модель сыпется.

🟡Результаты тестов.

Проверяли на Qwen3-8B, Llama-3.1-8B и Qwen3-32B. Спойлер: работает везде.

Удалось выкинуть до 75% KV-кэша, а это сжатие в 4 раза. На бенчмарках RULER (длинный контекст), LongBench и AIME25 падение метрик или нулевое, или меньше 1%. Оверхед от суррогатной модели мизерный - менее 1% FLOPs.

🟡Звучит, конечно, как гем, но давайте про минусы:

🟠Нужно дообучить этот маленький MLP для каждого слоя целевой модели. Датасет нужен, но процесс быстрый.

🟠Удаление токенов создает рваный кэш. У разных голов будет разное количество сохраненных токенов.

Это плохо, потому что стандартные ядра Paged Attention любят структуру. Чтобы реально получить ускорение, а не только экономию памяти, нужно писать кастомные CUDA-ядра, которые смогут эффективно жевать блоки переменной длины.

🟠Порог отсечения фиксированный. Если промахнуться с ним, то модель начнет галлюцинировать или забудет начало.

🟡По итогу, KVzap - крутой шаг к тому, чтобы гонять длинные контексты на GPU попроще.

Метод умнее, чем Streaming LLM, и быстрее, чем полные методы разреженного внимания.

Ждем интеграции в vLLM или TRT-LLM, а пока, чтобы скрасить ожидание, NVIDIA собрала на HF интерактивный лидерборд популярных методик компрессии KV-кэша.

Код и веса моделей-суррогатов из тестов пейпера в открытом доступе, так что нет никаких ограничений, чтобы не покрутить KVzap на каком-нибудь тестовом сетапе.

@machinelearning

#AI #ML #LLM #KVZAP #NVIDIA