Журнал · Rit.work

iS-KV сжимает KV-кэш, не удаляя старые токены

iS-KV хранит весь контекст в сжатом виде и точнее методов удаления токенов при том же объёме памяти, но пока не гарантирует экономию пиковой памяти и времени.

Rit.work
Студия разработки
5 октября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Старые токены в кэше ключей и значений (KV-кэше) научились сжимать без удаления, сохраняя к ним доступ на протяжении длинного рассуждения. В препринте iS-KV получил на Qwen3-8B точность 89,2% против 68,8% у R-KV при одинаковом объёме памяти, хотя работу не рецензировали и все числа получили сами авторы. Подход меняет выбор для систем с длинной генерацией: вместо попытки заранее угадать важные токены можно оставить всю историю, пожертвовав точностью её представления.

Почему удаление токенов ломает длинное рассуждение

KV-кэш хранит промежуточные ключи и значения для каждого уже обработанного токена. Модель использует их, когда генерирует следующий токен, поэтому память растёт вместе с ответом. Особенно заметным этот расход становится у моделей, которые строят длинные цепочки рассуждений.

R-KV и SnapKV сокращают кэш, оставляя позиции, которые считают полезными по вниманию, давности или сходству. Решение необратимо: если удалённый фрагмент понадобится позже, восстановить его уже нельзя.

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

iS-KV не выбирает между сохранением и удалением позиции. Недавние состояния остаются точными, а старые переходят в низкоранговое представление: каждый токен хранится как короткий набор коэффициентов относительно общей основы. Память продолжает расти вместе с историей, но на каждый старый токен требуется меньше данных.

Как iS-KV обновляет основу и старые координаты

Простого сингулярного разложения, SVD, недостаточно для генерации. При фиксированном запросе основу можно вычислить один раз, но во время декодирования новые состояния приходят постоянно. Основа должна подстраиваться под них.

Если заменить основу и оставить старые коэффициенты без изменений, они начнут обозначать другие векторы. История формально останется в кэше, но её восстановленная версия сдвинется. В контрольном замере мера такого дрейфа для ключей упала с 1,55 до 0,023, когда вместе с основой обновили координаты старых состояний.

iS-KV накапливает новые строки блоками и применяет блок-инкрементальное SVD. Алгоритм объединяет прежнее сжатое представление с новым блоком, строит небольшую вспомогательную матрицу и одновременно пересчитывает основу и коэффициенты истории. Размер этой вспомогательной задачи не зависит от длины уже накопленного контекста.

При этом работа со всей историей не исчезает. Обновление коэффициентов, восстановление состояний для внимания и периодическая коррекция численных ошибок становятся дороже по мере роста последовательности. iS-KV сокращает хранение, а не превращает внимание к длинному контексту в операцию постоянной стоимости.

Основную проверку провели на DeepSeek-R1-Distill-Llama-8B и Qwen3-8B на всём MATH-500 с пределом в 16 тысяч токенов. Для каждого задания генерировали один ответ и сравнивали точность итогового результата с исходной моделью, R-KV и SnapKV при одинаковом объёме постоянной части кэша. Отдельные опыты охватили AIME и задачи RULER с контекстом 64 тысячи токенов на трёх моделях, поэтому выводы относятся прежде всего к математическим рассуждениям и извлечению данных из длинной истории.

Когда iS-KV меняет план внедрения

На DeepSeek-R1-Distill-Llama-8B постоянную часть KV-кэша удалось сжать в 4,06 раза, уступив исходной модели один процентный пункт точности. Во всех сопоставленных режимах на MATH-500 iS-KV оказался точнее R-KV и SnapKV при том же бюджете памяти. Результат поддерживает сам принцип: для длинного рассуждения выгоднее приблизительно хранить каждую позицию, чем безвозвратно удалять часть истории.

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

Переносить заявленный коэффициент сжатия напрямую в расчёт GPU нельзя. Замеры не включают веса модели, временно восстановленный плотный кэш и рабочую память алгоритма, поэтому они описывают постоянное хранилище, а не пиковое потребление всего процесса.

Цена сжатия видна и во времени. В самом длинном тесте на NVIDIA A40 KV-кэш занимал на 56,2% меньше памяти, но генерация работала на 8,8% дольше. Это одиночный прогон без прогрева, поэтому он показывает наличие накладных расходов, а не стабильную оценку задержки для промышленного сервера.

Практический план остаётся двухэтапным: сначала проверить качество на собственных длинных трассах, затем измерить пиковую память и задержку внутри реального контура вывода. iS-KV даёт основание отказаться от удаления токенов как единственного варианта, но не заменяет системный замер на целевом оборудовании.

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

← Ко всем материалам
Понравилось? Обсудим вашу задачу