Ключевое наблюдение статьи в следующем - признаки, отвечающие за способность модели отказывать в ответе, лежат в низкоразмерном подпространстве. Перплексия / стандартные бенчи оценивают возмущение в более высокоразмерном пространстве. Можно в среднем не сильно исказить общие признаки, но существенно задеть safety.
Далее авторы исследуют природу safety признаков.
Если safety каналы соотвествуют выбросам (каналам с большой нормой), то большой разницы между per-tensor квантизацией и per-channel (per-group) не будет. Если же они лежат в каналах с небольшой нормой, то они более чувствительны к выбору гранулярности.
Вводится PCR Score (FlipRate - доля ответов, где модель со сжатым кэшом согласилась на harmful запрос, а с несжатым отказалась)
PCR=1 − FlipRate_{per-tensor} / FlipRate_{per-channel}Кроме того safety может быть распределена между несколькими подряд идущими слоями (spread). Их тогда следует обрабатывать аккуратнее.
Общая процедура safety-aware квантизации следующая:
• Квантизуем кэш каждого слоя по отдельности. Находим те, где большой процент флипов.
• Находим слои, где FlipRate превышает 10-20%.
• Считаем PCR
Для чувствительных слоев:
• Если PCR < 30% держим в FP16
• PCR 30-70% - в FP16 первый слой из группы подряд идущих критических слоев, остальные квантизуем с размером группы 64.
• PCR > 70% (low spread) - просто квантизуем с размером группы 64
• PCR > 70% (high spread) - FP16 для первых 3-4 слоев, а далее все с размером группы 64
Для такой калибровки достаточно ~20 промптов, и оно неплохо, как утверждается, обобщается.
🧪 Эксперименты
Исследования проводят на разных моделях (Qwen-2.5, Mistral, Mixtral, Gemma-2, Yi) и для разных техника сжатия (наивное сжатие / KIVI). Замеряют на совокупности из 5 safety бенчей - AdvBench, HarmBench, XSTest, IFEval, и каком-то своем датасете.
У разных моделей разные паттерны Safefy
• У Квена Safety сконцентирована в 0 слое
• Gemma-2 больше всего в первом слое, но еще и на нескольких соседних
• Mistral / Yi - Safety распределена широко по всей модели
Safety ломается на разных битностях (при per-tensor квантизации). У квена уже при 6-битной квантизации refusal ломается, у Mistral на 4-х битах, Gemma-2 / Mixtral только при 2-битной, когда уже сама по себе модель перестает выдавать что-то внятное.
Далее авторы валидируют свой подход по safety-aware квантизации. Защищая конкретные слои удается для некоторых моделей (для Qwen-2.5-7B) прямо хорошо сохранить safety (в 1.9% модель согласилась выполнить harmful запрос против 90.3% без защиты). Но всегда оно так хорошо работает.
Еще утверждается, что подход обобщается на разные модели (Olmo / KIVI квантизатор). FP8 квантизация KV-кэша для Квена тоже существенно сказывается на safety, а вот если квантовать в INT - то почти без разницы с FP16.
💡 Выводы
Довольно важное наблюдение для развертывания моделей на практике. Провайдерам и владельцам разных сервисов стоит быть начеку, ибо экономия памяти без видимой просадки качества может привести к репутационным рискам и потерям. Интересно, если заквантовать кэш Фаблы 5-ой будет ли справедливо то же самое? Немного удивляет выбор моделей для статьи вышедшей в июне 2026 года - модели в основном довольно старые, никаких тебе последних квенов и гемм.