Квантование & Прунинг & Дистилляция
Блог про сжатие сетей и не только.
От древнейших времен по настоящее время.
Группа с комментариями:
@quant_prune_distill_comments
Post #576
2.34K
🔬 Метод
Рассматривают 4 пары конфигураций квантизации:
📌 MXFP8/MXINT8
📌 MXFP6/MXINT6
📌 MXFP4/MXINT4
📌 NVFP4/NVINT4
MX-варианты квантизуются группами по 32 веса с E8M0 скейлами, а NV группами по 16 весов с E4M3 скейлами. И на FP / INT сетку значений, соответственно.
Исходя из предположения о гауссовости распределений, выводят формулы для ошибки квантизации (вернее SNR). Откуда следует, что при большом значении отношения максимального элемента к стандартному отклонению (при per-tensor квантизации или больших группах) предпочтительнее FP, а при малых группах - INT.
Реальные веса и активации не совсем гауссовы, но их можно сделать более гауссовыми Адамаровыми вращениями.
🧪Эксперименты
Эмпирически проверяют полученные законы на весах/активациях и градиентах Llama-3.1-8B. Оказывается, что без вращений FP форматы лучше, за исключением случая NVINT против NVFP. C вращениями MXINT8 лучше MXFP8, MXINT6 хуже MXFP6, MXINT4 хуже MXFP4, NVINT4 лучше NVFP4.
Затем смотрят на KL-дивергенцию c исходной моделью, утверждая что бенчи шумные и не репрезентативные. Без поворотов FP обычно лучше, с поворотами - наоборот,
Затем учат 1B и 3B модельки на 100B/200B токенах. MXFP8/MXINT8 по лоссу и бенчам +/- как исходная модель, лосс MXINT на тютельку ниже.
Потом говорят, что INT формат предпочтительнее, потому что жрет меньше энергии.
💡 Выводы
Данный результат в некоторой степени показывает, что зря NVIDIA (в угоду маркетингу? 💲) похерили поддержку INT в новых архитектурах. Особенно с учетом того, что при маленьких группах FP - не выигрышный вариант. Протокол сравнения немного вызывает вопросы - все-таки 0-шоты в post-training режиме тоже было бы не лишним привести. Ну и то, что Адамаровы вращения прямо сильно вредят float-у и помогают int-у тоже немного удивительно.
Рассматривают 4 пары конфигураций квантизации:
📌 MXFP8/MXINT8
📌 MXFP6/MXINT6
📌 MXFP4/MXINT4
📌 NVFP4/NVINT4
MX-варианты квантизуются группами по 32 веса с E8M0 скейлами, а NV группами по 16 весов с E4M3 скейлами. И на FP / INT сетку значений, соответственно.
Исходя из предположения о гауссовости распределений, выводят формулы для ошибки квантизации (вернее SNR). Откуда следует, что при большом значении отношения максимального элемента к стандартному отклонению (при per-tensor квантизации или больших группах) предпочтительнее FP, а при малых группах - INT.
Реальные веса и активации не совсем гауссовы, но их можно сделать более гауссовыми Адамаровыми вращениями.
🧪Эксперименты
Эмпирически проверяют полученные законы на весах/активациях и градиентах Llama-3.1-8B. Оказывается, что без вращений FP форматы лучше, за исключением случая NVINT против NVFP. C вращениями MXINT8 лучше MXFP8, MXINT6 хуже MXFP6, MXINT4 хуже MXFP4, NVINT4 лучше NVFP4.
Затем смотрят на KL-дивергенцию c исходной моделью, утверждая что бенчи шумные и не репрезентативные. Без поворотов FP обычно лучше, с поворотами - наоборот,
Затем учат 1B и 3B модельки на 100B/200B токенах. MXFP8/MXINT8 по лоссу и бенчам +/- как исходная модель, лосс MXINT на тютельку ниже.
Потом говорят, что INT формат предпочтительнее, потому что жрет меньше энергии.
💡 Выводы
Данный результат в некоторой степени показывает, что зря NVIDIA (в угоду маркетингу? 💲) похерили поддержку INT в новых архитектурах. Особенно с учетом того, что при маленьких группах FP - не выигрышный вариант. Протокол сравнения немного вызывает вопросы - все-таки 0-шоты в post-training режиме тоже было бы не лишним привести. Ну и то, что Адамаровы вращения прямо сильно вредят float-у и помогают int-у тоже немного удивительно.
- 🤔 2







