tgoop.com/quant_prune_distill/361
Last Update:
Эксперименты
Post-training Quantization
С увеличением количества данных на обучении (и качества модели), ошибка квантизации растет 🔼. Кроме того, ошибка для больших моделей фиксированном отношении D/N
меньше 🔽 у больших 🔼 моделей.
Самый любопытный и шокирующий 😱 вывод в том, что начиная с какого-то момента у модели, обученной на большем количестве данных, качество после квантизации будет хуже, чем у модели, на меньшем. То есть при квантизации в низкую битность, бессмысленно учить модели до упора, и в какой-то момент придется остановиться, чтобы получить лучшее, что в принципе возможно.
Проанализировав зависимости, авторы выводят функциональную форму для \delta_{PTQ}
, где ошибка растет степенным образом по количеству данных, убывает степенным образом по размеру модели, и растет экспоненциально с уменьшением битности.
QAT + Low-precision training
Далее авторы обучают модели, квантизуя либо только веса, либо веса и активации.
Оказывается, что эффект от квантизации можно описать как некую мультипликативную добавку к количеству параметров вида (1 - e^{P/gamma})
. Т.е модель с квантизацией чего либо и эквивалентна модели с N (1 - e^{P/gamma})
параметрами. Коэффцициенты P, gamma свои у весов, активаций и кэшей. Кэши легче всего квантизуются, веса посередине, а активации тяжелее всего.
Причем ошибки квантизации w, a, kv независимы и предложенная зависимость хорошо фитируется на основе экспериментальных точек.
Предполагая, что у нас есть вычислитель, умеющий эффективно работать с любой точностью, авторы фиксируют бюджет обучения, определяемый какC = 6 (P / 16) ND
(16 от bf16) и ищут оптимум по лоссу.
Наблюдения следующие:
⭐️ Если учить в низкой точности, масштабировать размер модели надо быстрее, чем количество данных. (в Шиншилее, напомню, оптимально пропорционально)
⭐️ Compute-optimal precision не зависит от бюджета обучения и примерно равно 7 бит на параметр. Эксперименты проводят с INT-X, FP-X, floating-point чуть лучше, но общий вывод справедлив.
Отсюда замечание, что обучение в INT4/FP4 и более низких битностях может быть не оптимально.
BY КПД
Share with your friend now:
tgoop.com/quant_prune_distill/361