KV-compression — методы уменьшения объёма KV-cache за счёт сжатия или выборочного хранения ключей и значений внимания.
Определение
KV-compression — это набор техник, которые уменьшают объём KV-cache в трансформерах при автогенерации токенов. Поскольку в длинных контекстах ключи и значения внимания занимают значительную часть памяти, такие методы позволяют сократить потребление ресурсов без полного перерасчёта self-attention.
Подходы KV-compression делают возможной работу моделей на устройствах с ограниченной памятью и позволяют масштабировать контексты на десятки тысяч токенов.
Как работает
Техники KV-compression воздействуют на структуру KV-cache следующим образом:
- сжатие K/V-матриц — уменьшение размерности скрытых признаков или проекция в более компактное пространство;
- селекция токенов — удаление или агрегация токенов, которые мало влияют на внимание;
- семплирование позиций — хранение не всех, а только ключевых токенов с высокой значимостью;
- токен-мерджинг — объединение похожих представлений;
- адаптивное обрезание — динамическое уменьшение KV-cache при росте контекста;
- квантование — снижение точности хранения KV-тензоров (например, до int8 или FP8);
- распределённое хранение — перенос части KV-cache на GPU-пулы или CPU-буферы.
Многие методы комбинируют сжатие и выборочные механизмы, сохраняя качество внимания на ключевых токенах при снижении затрат на хранение.
Где применяется
- Модели с большими окнами контекста.
- Онлайн-генерация в реальном времени.
- Эдж-устройства и мобильные платформы.
- Инференс в условиях ограниченной GPU-памяти.
- Агентные системы, генерирующие длинные последовательности.
- Продукты, работающие с длинными файлами и документами.
Практические примеры использования
В больших языковых моделях KV-compression позволяет увеличить окно контекста без линейного роста памяти. Модель сохраняет только ключевые токены или хранит сжатые K/V-матрицы.
В задачах генерации кода compression делает возможной работу с файлами в десятки тысяч строк: KV-cache не превышает доступную память и не вызывает деградацию скорости.
На мобильных устройствах KV-compression применяется совместно с квантованием: модель хранит K/V-матрицы в компактных форматах, сохраняя приемлемое качество.
В продуктах реального времени compression снижает задержку и позволяет поддерживать стабильную скорость при длинных диалогах.
Преимущества и ограничения
- Плюс: значительное снижение памяти KV-cache.
- Плюс: возможность увеличивать длину контекста.
- Плюс: совместим со стандартным KV-cache и не меняет архитектуру.
- Плюс: подходит для deployment на устройствах с малыми ресурсами.
- Минус: потеря точности при агрессивном сжатии.
- Минус: риск ухудшения внимания на старых токенах.
- Минус: сложность выбора компромисса между памятью и качеством.
- Минус: необходимость дополнительных вычислений при проекциях.
Связанные термины
- KV-cache
- Token merging
- Long-context architectures
- Attention pruning
- Memory optimization
- Speculative decoding
- Parallel decoding