TGViewer
КПД КПД @quant_prune_distill · 3.51K subscribers
Post #236 1.13K
Half-Quadratic Quantization of Large Machine Learning Models
[Блог][Код]
Введение

Некоторое время назад здесь мы разбирали работу HQQ+ с довольно спорными заявлениями. И сейчас откатимся немного назад в прошлое и рассмотрим исходный метод квантизации - HQQ.

1️⃣ Есть data-agnostic методы квантизации - round-to-nearest, bnb квантование, не требующие входных данных.

2️⃣ Есть data-aware методы - GPTQ, AWQ, SpQR, SqueezeLLM, QuIP#, AQLM и д.р, которые ищут конфигурацию квантованных весов, оптимизирующую ошибку на некотором входном распределении данных. Вторая группа методов обычно точнее по качеству, но более вычислительно затратна. Кроме того, имеет место переобучение под калибровочные данные.

Метод

В данной работе предлагают метод, якобы гарантирующий одновременно хорошее качество и не требующих никаких данных.

Исходная функция ошибки l_p норма (c 0 < p < 1), которая устойчива к выбросам, характерным для больших языковых моделей. Скейлы квантизации фиксируют, и оптимизируют zero_point. Однако, в исходном виде, задача плохо решается из-за невыпуклости, потому авторы вводят вспомогательную переменную, которая в оптимуме равна разнице между исходными и квантованными весами, и решают полученную задачу альтернированной оптимизацией, поочередно оптимизируя скейлы и фиктивную переменную.

Согласно заявлениям авторов, метод сходится за пару десятков итераций.

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

Метод валидируют на моделях семейства Llama-2 и OpenCLIP ViTах. В первом случае замеряют перплексию на Wikitext2, а во втором качество 0-shot и linear probe.

8-битная квантизация работает без просадки по качеству. 4-битная с небольшой, 2- и 3- битные квантизации уже заметно просаживаются по сравнению с fp16, но все еще выдают стабильный результат. Но тут есть нюанс 🧐 - 2-х и 3-х битные квантизации используют малые группы (64 для 3-битной) и (16, 32 для 2-битной). В одной постановке scale хранится в 16 битах, в другой квантуется в 8 бит. Потому HQQ_g16 - это на самом деле 3.5 бита на параметр, а HQQ_g16* - 3 бита.

Работает метод быстро: ~1 минута для Llama-2-7b/13b и 4 минуты для Llama-2-70b на 1-ой A100.

ViT-B заметно просаживается по качеству при квантовании, но его большие собратья - ViT-L, ViT-H сохраняют неплохие метрики даже при 2-битной квантизации. Размер группы не уточняется, потому непонятно, настоящие это 2 бита, или 3 с лишним 🤷‍♂️…

Вывод

На текущий момент данный метод, наверное, лучший среди data-agnostic методов квантизации. Тем не менее без информации о входном распределении данных, хорошее качество при высокой степени сжатия модели недостижимо.
  • 🔥 6
More from @quant_prune_distill
  1. Oct 16, 2026LUT3 в NVIDIA Rubin Блогпост от какого-то челика Описание хранения в PTX ISA Последнее пок…
  2. Oct 16, 2026Post #870
  3. Oct 15, 2026⚙️ Метод При низкоранговом сжатии можно пытаться приближать ошибку аппроксимации весов (SV…
  4. Oct 15, 2026🧠 Learning Functional Subspaces for Neural Network Compression 📄 Статья Вообще говоря, п…
  5. Oct 15, 2026I have a Universal Transformer I have a Universal Attention I have a Universal Transformer…
  6. Oct 15, 2026Считаю что статьи без кода, если это только не теор DL или position paper, надо деск редже…
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 →