Почему KV‑кеш — «узкое место» больших контекстов
Трансформеры сохраняют key и value (KV) вектор‑пары для каждого токена на каждом слое, чтобы не пересчитывать attention. При длинных последовательностях объём кеша растёт линейно от длины контекста и размера батча. Для Llama‑3.1‑70B в формате BF16 это ≈ 0,31 МБ на токен. При 128 К токенов кеш уже занимает ~40 ГБ, а при 1 М токенов — более 300 ГБ, что превышает сам вес модели (≈ 140 ГБ). Каждый новый токен вынужден «перетаскивать» весь кеш из HBM, делая декодирование ограниченным пропускной способностью памяти, а не вычислительной мощностью. Поэтому сокращение KV‑кеша — главный рычаг снижения стоимости и задержки.
Краткий обзор современных подходов
- Token eviction (H2O, SnapKV)
- Quantization (KIVI, TurboQuant, OSCAR)
- Low‑rank projection (Palu)
- Merging (KVMerger)
- Architectural sharing (MLA)
Последние публикации 2026 года сосредоточены на ультра‑низкобитовой квантовании. Рассмотрим три самых заметных решения.
TurboQuant: теоретически оптимальное без данных
TurboQuant решает проблему «выбросов» (outlier channels) без калибровки данных, используя два этапа:
- Случайный ротационный трансформ делает координаты почти независимыми и гауссовыми, после чего применяется предвычисленный скалярный квантователь Ллойда‑Макса.
- 1‑битовый Quantized Johnson–Lindenstrauss (QJL) трансформ оценивает остаток, давая несмещённую оценку attention‑логитов без дополнительных коэффициентов.
Теоретически искажение находится в пределах ≈ 2,7 × от нижней границы информации, а на практике достигается почти полная точность при 4‑кратном сжатии. Плюс — отсутствие необходимости калибровки делает метод «рабочим из коробки» для любой модели.
OSCAR: внимание‑aware и готов к продакшну
OSCAR идёт другим путём: при INT2 (4 уровня) «слепая» ротация не справляется, поэтому проводится однократная калибровка, где:
- Ключи вращаются в собственные векторы ковариации запросов, а значения — в собственные векторы взвешенной ковариации значений.
- Дальше применяется Хадрамард‑трансформ и бит‑реверс‑пермутация, равномерно распределяя важность каналов.
OSCAR поставляется как готовая система:
- Смешанный‑прецизионный кеш: недавние токены остаются в BF16, а история сжимается до INT2 (при 128 К токенов < 0,3 % в BF16).
- Фьюжн‑ядра Triton с полной интеграцией SGLang (paged‑attention, prefix‑cache).
- Готовый RotationZoo для Qwen3‑4B/8B/32B, GLM‑4.7‑FP8 и MiniMax‑M2.7.
Эффективная разрядность ≈ 2,28 бит, разница с BF16 ≈ 1,4 балла на Qwen3‑8B и почти незаметна на Qwen3‑32B. По заявлению авторов, доходится до 7,8 × ускорения работы и 8 × уменьшения KV‑кеша при 100 K контексте.
EpiCache: управление кешем в многотуровых диалогах
TurboQuant и OSCAR рассчитаны на один длинный контекст. Для длительных диалогов, где история растёт по‑многим ходам, нужен третий измерение. Apple предлагает EpiCache — кеш‑менеджер без обучения, решающий задачу выбора «какие» токены хранить, а не «как точно» их хранить:
- Блочное предзаполнение ограничивает пиковый объём памяти.
- Эпизодическое кластеризование разбивает разговор на смысловые «эпизоды» с отдельными сжатыми кешами.
- Эпизод‑соответствующий поиск направляет запрос к релевантному эпизоду.
- Адаптивное распределение бюджета по слоям учитывает чувствительность каждого слоя к удалению токенов.
На бенчмарках LongMemEval, RealTalk и LoCoMo EpiCache даёт до 40 % прироста точности над простыми эвикшн‑методами, сохраняет почти полную точность при 4‑6 × сжатии и снижает пиковую память в 3,5 раза.
Как выбрать подход?
- TurboQuant — ваш инструмент, если нужен модель‑агностичный компромисс 3‑4 бит с минимальными усилиями.
- OSCAR — единственный проверенный способ достичь INT2 на поддерживаемых моделях с полной интеграцией в продакшн‑стек.
- EpiCache — добавьте его, когда ваш сервис ведёт многотуровые диалоги и требуется управлять историей, а не только сжимать её.
- Комбинация методов возможна: например, сначала применить EpiCache для выбора токенов, затем OSCAR для INT2‑сжатия выбранных блоков.
Ключевые выводы
- TurboQuant — теоретически оптимальное 3‑4‑бит сжатие без калибровки.
- OSCAR — лидер в INT2‑деплойментах, обеспечивает до 8‑кратное уменьшение KV‑кеша и ускорение декодирования.
- EpiCache — решает проблему многотуровых историй, снижая пиковую память до 3,5 раз и повышая точность до 40 %.
- Выбирайте решение по ограничению: бит‑ширина, портативность модели или длина диалога, а затем комбинируйте совместимые подходы.




















