LLM-FP4: Трансформеры с 4-битной квантованной плавающей запятой
LLM-FP4: 4-Bit Floating-Point Quantized Transformers
October 25, 2023
Авторы: Shih-yang Liu, Zechun Liu, Xijie Huang, Pingcheng Dong, Kwang-Ting Cheng
cs.AI
Аннотация
Мы предлагаем метод LLM-FP4 для квантования как весов, так и активаций в крупных языковых моделях (LLM) до 4-битных значений с плавающей запятой, применяемый после обучения. Существующие решения для посттренировочного квантования (PTQ) в основном основаны на целочисленных значениях и сталкиваются с трудностями при работе с битовыми глубинами менее 8 бит. По сравнению с целочисленным квантованием, квантование с плавающей запятой (FP) является более гибким и лучше справляется с длинными хвостами или колоколообразными распределениями, что делает его стандартным выбором на многих аппаратных платформах. Одной из особенностей FP-квантования является то, что его производительность во многом зависит от выбора количества бит экспоненты и диапазона отсечения. В этом отношении мы создаем сильный базовый уровень FP-PTQ, выполняя поиск оптимальных параметров квантования. Кроме того, мы наблюдаем высокую межканальную вариацию и низкую внутриканальную вариацию в распределениях активаций, что усложняет их квантование. Мы отмечаем, что этот паттерн сохраняется в широком спектре трансформерных моделей, разработанных для различных задач, таких как LLM, BERT и Vision Transformer. Для решения этой проблемы мы предлагаем поточное квантование активаций и показываем, что дополнительные масштабирующие коэффициенты могут быть перепараметризованы как экспоненциальные смещения весов, что влечет за собой незначительные затраты. Наш метод впервые позволяет квантовать как веса, так и активации в модели LLaMA-13B до 4 бит и достигает среднего балла 63.1 на задачах здравого смысла с нулевым обучением, что всего на 5.8 ниже, чем у модели с полной точностью, значительно превосходя предыдущий state-of-the-art на 12.7 баллов. Код доступен по адресу: https://github.com/nbasyl/LLM-FP4.
English
We propose LLM-FP4 for quantizing both weights and activations in large
language models (LLMs) down to 4-bit floating-point values, in a post-training
manner. Existing post-training quantization (PTQ) solutions are primarily
integer-based and struggle with bit widths below 8 bits. Compared to integer
quantization, floating-point (FP) quantization is more flexible and can better
handle long-tail or bell-shaped distributions, and it has emerged as a default
choice in many hardware platforms. One characteristic of FP quantization is
that its performance largely depends on the choice of exponent bits and
clipping range. In this regard, we construct a strong FP-PTQ baseline by
searching for the optimal quantization parameters. Furthermore, we observe a
high inter-channel variance and low intra-channel variance pattern in
activation distributions, which adds activation quantization difficulty. We
recognize this pattern to be consistent across a spectrum of transformer models
designed for diverse tasks, such as LLMs, BERT, and Vision Transformer models.
To tackle this, we propose per-channel activation quantization and show that
these additional scaling factors can be reparameterized as exponential biases
of weights, incurring a negligible cost. Our method, for the first time, can
quantize both weights and activations in the LLaMA-13B to only 4-bit and
achieves an average score of 63.1 on the common sense zero-shot reasoning
tasks, which is only 5.8 lower than the full-precision model, significantly
outperforming the previous state-of-the-art by 12.7 points. Code is available
at: https://github.com/nbasyl/LLM-FP4.