Проблема длинных цепочек рассуждений
Reasoning-модели (такие как R1, o1 и их аналоги) генерируют длинные цепочки мыслей (Chain-of-Thought, CoT). Это приводит к накоплению огромного объема KV-кэша во время фазы декодирования. Результат — высокая задержка (latency) и низкая пропускная способность (throughput). Существующие методы сжатия часто используют пороговые значения, которые либо не дают прироста скорости, либо удаляют важные блоки контекста, ухудшая качество ответа.
Решение: Kara и Token2Chunk
Авторы (Shen Han, Yuyang Wu) предлагают Kara — метод сжатия KV-кэша, работающий в реальном времени. Вместо жестких границ или изолированных токенов, Kara использует скользящее окно по недавно сгенерированному контексту. Ключевые инновации:
- Двунаправленное внимание (Bidirectional Attention): используется для оценки важности KV-пар внутри окна.
- Модуль Token2Chunk: позволяет гибко сохранять важные семантические блоки произвольного размера, а не фиксированные куски.
Интеграция с vLLM: KvLLM
Для практического применения Kara адаптирована под PagedAttention (технология из vLLM). Разработчики создали фреймворк KvLLM, который снижает потребление памяти и эффективно увеличивает throughput. Эксперименты показывают стабильные улучшения производительности по сравнению с базовыми методами.
Сравнительные характеристики
| Метод | Подход к сжатию | Гибкость сохранения контекста | Интеграция |
|---|---|---|---|
| Традиционные методы | Пороговое значение (Threshold-triggered) | Низкая (фиксированные чанки или изолированные токены) | Различные |
| Kara (KvLLM) | Скользящее окно + двунаправленное внимание | Высокая (Token2Chunk: гибкие семантические блоки) | vLLM (PagedAttention) |
Работа опубликована 1 мая 2026 года в arXiv (cs.CL). Метод решает критическую проблему масштабирования reasoning-моделей, делая их использование более экономичным и быстрым.
Источник: arXiv cs.CL ↗
