Перейти к содержанию
Новое AiManual теперь в MAX Подписаться
Публикация AiManual

Почему квантование KV-кэша не подходит для DeepSeek V4 Flash: сравнительный анализ с Qwen 397B

Независимые тесты: квантование KV-кэша с BF16 до Q8 вызывает у DeepSeek V4 Flash рост перплексии на 0.64% и падение top-p до 87.2%, тогда как Qwen 397B практиче

Коротко

Что будет в материале

  1. 01

    Квантование KV-кэша: зачем оно нужно и в чем подвох

  2. 02

    Методология тестирования: как мы измеряли деградацию

  3. 03

    Результаты: DeepSeek V4 Flash против Qwen 397B - цифры

  4. 04

    Почему DeepSeek V4 Flash так чувствителен к квантованию KV-кэша?

Квантование KV-кэша с BF16 до Q8 вызывает у DeepSeek V4 Flash рост перплексии на 0.64%, среднюю KL-дивергенцию 0.146 и падение совпадения top-p токенов до 87.2%. Для сравнения, у Qwen 397B эти же метрики составляют 0.03%, 0.0035 и 97.9% соответственно. Разница не просто количественная - она качественная. Первая модель ломается на квантовании кэша, вторая практически не замечает его. В этой статье мы разбираем, почему так происходит и какие выводы из этого должны сделать ML-инженеры, планирующие развертывание.

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

Квантование KV-кэша: зачем оно нужно и в чем подвох

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

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

Методология тестирования: как мы измеряли деградацию

Тесты проводились на одинаковом оборудовании и фиксированном наборе данных. Исходный формат KV-кэша для обеих моделей - BF16, целевой - Q8 (8-битное целочисленное квантование). Никаких дополнительных оптимизаций или калибровок не применялось - чистое квантование «как есть».

Метрики, которые мы использовали:

  • Перплексия (PPL) - мера неуверенности модели на валидационном наборе. Рост PPL означает, что модель чаще ошибается в предсказании следующего токена. Даже небольшое изменение в десятые доли процента может указывать на систематические проблемы.
  • KL-дивергенция - расхождение между распределениями вероятностей исходной и квантованной моделей. Значения выше 0.01 обычно считаются заметными, выше 0.1 - значительными.
  • Совпадение top-p токенов (p=0.9) - доля случаев, когда квантованная модель выбирает тот же набор наиболее вероятных токенов, что и исходная. Падение ниже 95% - тревожный сигнал.
  • Максимальное отклонение вероятностей - наихудший случай, когда вероятность конкретного токена меняется почти на 100%. Такие выбросы приводят к бессмысленным ответам, даже если средние метрики выглядят приемлемо.

Результаты: DeepSeek V4 Flash против Qwen 397B - цифры

Сводка результатов выглядит так:

Метрика DeepSeek V4 Flash Qwen 397B
Рост PPL +0.64% +0.03%
Средняя KL-дивергенция 0.146 0.0035
Совпадение top-p 87.2% 97.9%
Макс. отклонение вероятностей 99.5% менее 5%

Контраст радикальный. Qwen 397B переносит квантование практически незаметно - рост PPL на 0.03% находится в пределах статистической погрешности, KL-дивергенция 0.0035 говорит о почти полном совпадении распределений, а 97.9% совпадения top-p означает, что модель выбирает те же токены в подавляющем большинстве случаев. DeepSeek V4 Flash показывает совершенно другую картину.

Перплексия и KL-дивергенция: количественная оценка расхождения

Рост PPL на 0.64% может показаться небольшим. Это обманчивое впечатление. Перплексия - усредненная метрика, она сглаживает острые пики ошибок. KL-дивергенция 0.146 у DeepSeek V4 Flash - это значение, которое в литературе по квантизации считается признаком серьезной деградации. Для контекста: в экспериментальных методах квантования KV-кэша в BeeLLama.cpp v0.4.0 разработчики боролись за снижение KLD на 42-76% именно с похожих уровней. Здесь же мы имеем 0.146 без каких-либо компенсаций - это означает систематический сдвиг распределения вероятностей по всему словарю.

У Qwen 397B KLD 0.0035 на два порядка ниже. Модель практически не замечает квантования.

Совпадение top-p токенов и экстремальные выбросы: где скрывается реальная проблема

Снижение совпадения top-p до 87.2% означает, что в 12.8% случаев DeepSeek V4 Flash после квантования выбирает другой токен из числа наиболее вероятных. Это не просто косметическое изменение - это другой путь генерации, который быстро расходится с исходным. На длинных последовательностях расхождение накапливается, и к концу генерации ответ может стать полностью другим.

Худшее - максимальное отклонение вероятностей в 99.5%. Представьте: токен, который исходная модель считала почти наверняка правильным (вероятность ~1.0), после квантования получает вероятность ~0.005. Модель «забывает» очевидное продолжение и выдает бессмыслицу. В практике развертывания это означает случайные, непредсказуемые сбои - именно то, что делает систему ненадежной для продакшена.

Qwen 397B таких выбросов не демонстрирует. Максимальное отклонение не превышает 5%, оставаясь в пределах допустимого.

Почему DeepSeek V4 Flash так чувствителен к квантованию KV-кэша?

Точный ответ знают только разработчики модели, но наблюдаемые эффекты позволяют выдвинуть обоснованные гипотезы. DeepSeek V4 Flash использует мульти-латентное внимание (MLA) - технику, которая сжимает ключи и значения в низкоразмерное латентное пространство еще до квантования. Это сжатие уже само по себе является формой аппроксимации. Когда поверх него накладывается дополнительное квантование в Q8, ошибка удваивается: сначала потеря информации при проецировании в латентное пространство, затем - при огрублении до 8 бит.

Qwen 397B, вероятно, использует более стандартный механизм внимания без предварительного сжатия. Его ключи и значения хранятся в полном представлении, и квантование действует как единственный источник шума - который модель успешно игнорирует благодаря избыточности параметров. Другая возможная причина - способ нормализации. Если DeepSeek V4 Flash применяет более агрессивную нормализацию, чувствительную к малым изменениям в кэше, это объяснило бы каскадное накопление ошибок.

Сравнение с другими моделями подтверждает, что проблема специфична для архитектуры DeepSeek. В прямом сравнении DeepSeek V4 Flash и Qwen 3.6 27B мы уже видели, что модели по-разному ведут себя в агентных и кодинг-сценариях. Теперь к списку различий добавляется чувствительность к квантованию кэша.

Практические выводы: когда можно квантовать, а когда - категорически нет

Правило, вытекающее из тестов:

  • Qwen 397B: квантование KV-кэша до Q8 безопасно. Экономия памяти в два раза без значимых потерь качества. Можно использовать в продакшене.
  • DeepSeek V4 Flash: квантование KV-кэша не рекомендуется. Потери качества превышают приемлемый порог для любых задач, где важна точность - кодинг, агентные сценарии, логические рассуждения. Если квантование необходимо, требуются дополнительные техники компенсации: per-channel квантование, калибровка на целевых данных, обучение с учетом квантования (QAT).

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

Альтернативы квантованию KV-кэша для DeepSeek V4 Flash

Если цель - снизить потребление памяти DS4F без деградации качества, рассмотрите другие методы:

  • FlashAttention-2 - уменьшает пиковое потребление памяти без сжатия кэша, за счет реорганизации вычислений.
  • Offloading кэша в CPU - перенос KV-кэша в оперативную память, когда он не используется активно. Медленнее, но без потери точности.
  • Сжатие контекста - техники вроде AutoCompressors или ICAE, которые суммируют длинный контекст в короткий набор токенов до передачи в модель.
  • Дистилляция - обучение меньшей модели, которая воспроизводит поведение DeepSeek V4 Flash без необходимости в большом KV-кэше.

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

Заключение: квантование - мощный, но опасный инструмент

DeepSeek V4 Flash - модель с выдающимися характеристиками. Второе место среди open weight моделей при цене в 50 раз ниже конкурентов делает ее привлекательным выбором для продакшена. Но эта же архитектурная изощренность, которая обеспечивает лидерство в бенчмарках, делает модель уязвимой к квантованию KV-кэша. Qwen 397B, напротив, демонстрирует запас прочности, позволяющий безопасно экономить память.

Практический вывод для ML-инженера: всегда тестируйте квантование KV-кэша на своих данных и задачах, прежде чем внедрять его в продакшен. Усредненные метрики вроде PPL могут скрывать катастрофические выбросы. KL-дивергенция и совпадение top-p дают более полную картину. AI-MANUAL продолжит тестировать новые модели и техники оптимизации инференса, чтобы вы могли принимать решения на основе проверенных данных.

Подписаться на канал