TGViewer
КПД КПД @quant_prune_distill · 3.49K subscribers
Post #847 671
⚙️ Метод

На префилле имеем дело с тяжёлыми матричными умножениями, поэтому для ускорения целесообразно квантизовать и веса, и активации. На декоде — только веса, ибо упираемся всё равно в скорость работы памяти. Сжатие активаций вносит дополнительную ошибку, и если оно нам ничего не даёт, то лучше его убрать.

Задачи можно разделить на:

- 🔢 decode-heavy — когда генерируется длинный ответ, цепочки рассуждений и тому подобное;
- 📚 prefill-heavy — объёмный вход, но короткий ответ.

Можно ожидать, что в первом случае важнее сохранить точность на этапе декода, а во втором — на префилле. И действительно, оказывается, что при прогоне более интенсивного этапа в более низкой точности (а другого — в bf16, скажем) качество просаживается заметно сильнее, чем если делать наоборот. Сжатие и на префилле, и на декоде (в NVFP4) ожидаемо даёт ещё большую ошибку.

Format disaggregated quantization предлагает следующее. Исходно у нас есть квантизованные веса в какой-то точности (NVFP4, LUT-3bit, LUT-2bit). На префилле переквантовываем веса в NVFP4 (для LUT-форматов) и используем эффективные GEMM для FP4. На декоде — weight-only квантизация.

LUT* — lookup table

🔬 FULLY-DISAGGREGATED QUANTIZATION

Чтобы улучшить качество, предлагается дообучать специализированные квантизованные модели под префилл и декод.

Делается это следующим образом:

- 🔹 Промпт прогоняем через prefill-модель, а ответ — через decode-модель. Каждая из экспертных моделей инициализируется весами исходной модели.
- 🔹 Лосс считаем только по токенам ответа, но градиент через KV протечёт и в prefill-модель, позволяя оптимизировать и качество префилла.
- 🔹 Prefill- и decode-модели учатся через QAD (Quantization Aware Distillation) — через KL между логитами квантизованных моделей и исходной модели.

Это позволяет немного поднять качество.

💽 OFFLOADED DISAGGREGATED PREFILL

Чтобы не грузить две модели в памяти, префилльные блоки можно подгружать по очереди, набирая KV-кэш, а затем сгружать обратно на диск. Если префилл и генерация достаточно долгие, то замедление от перекачки весов с SSD в VRAM не сильно замедляет инференс, зато позволяет экономить память ускорителя вычислений.

🛠️ Prefillers

А ещё можно обучать специальный NVFP4-префиллер под заданную замороженную квантизованную модель, дабы заранее компенсировать ошибку квантования.

📊 Эксперименты

Метод валидируют на семействах Qwen3 / Gemma3. В качестве decode-heavy задач рассматриваются всякие математические задачи (AIME, MATH500), а для prefill-heavy — long-context-бенчмарки из RULER.

Format disaggregation консистентно даёт лучшее качество, чем наивная weight + activation-квантизация, при примерно той же скорости как префилла, так и декода. Full disaggregation даёт некоторое улучшение качества, а оффлоадинг позволяет сэкономить VRAM.

Для больших моделей (Qwen3.8-2.4T, Kimi-K3) дезагрегация в W4A4 даёт небольшой, но всё же прирост качества.

Обучение префиллеров для разных GGUF-квантов Qwen3.8-27B позволяет при той же скорости инференса на декоде заметно поднять качество, особенно в случае сильного сжатия, как IQ1_S и IQ1_M.

✅ Выводы

Результат важный и практически интересный. Как будто то, к чему стоит стремиться всем инференс-провайдерам, балансирующим между качеством и скоростью.
  • ❤ 4
  • 👍 2
More from @quant_prune_distill
  1. Sep 29, 2026🧩 Disaggregated Quantization: Specializing LLM Prefill and Decode 📄 Статья Обычно для пр…
  2. Sep 24, 2026Метрики, которые мы заслужили. Карточка модели на лицехватс
  3. Sep 23, 2026🛠️ Метод Авторы предлагают довольно интересную схему генерации негативного условия: - 📝…
  4. Sep 23, 2026🧠 Negative Self-Distillation: Learning to Reason by Avoiding Flaws 📄 Статья Обыкновенно…
  5. Sep 22, 2026From AR to Diffusion: Efficiently Adapting Large Language Models with Strictly Causal and…
  6. Sep 21, 2026⚙️ Метод 💡 Идея довольно проста: некоторую долю r от обучения подаём на вход и пытаемся п…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →