OmniQuant: Всесторонне калиброванная квантизация для крупных языковых моделей
OmniQuant: Omnidirectionally Calibrated Quantization for Large Language Models
August 25, 2023
Авторы: Wenqi Shao, Mengzhao Chen, Zhaoyang Zhang, Peng Xu, Lirui Zhao, Zhiqian Li, Kaipeng Zhang, Peng Gao, Yu Qiao, Ping Luo
cs.AI
Аннотация
Крупные языковые модели (LLMs) произвели революцию в задачах обработки естественного языка. Однако их практическое применение ограничивается огромными требованиями к памяти и вычислительным ресурсам. Хотя современные методы посттренировочного квантования (PTQ) эффективно сокращают объем памяти и повышают вычислительную эффективность LLM, они используют ручную настройку параметров квантования, что приводит к низкой производительности и неспособности справляться с квантованием в крайне низких битовых диапазонах. Для решения этой проблемы мы представляем технику OmniQuant (всесторонне калиброванное квантование) для LLM, которая обеспечивает высокую производительность в различных настройках квантования, сохраняя при этом вычислительную эффективность PTQ за счет оптимизации различных параметров квантования. OmniQuant включает два инновационных компонента: Learnable Weight Clipping (LWC) и Learnable Equivalent Transformation (LET). LWC регулирует экстремальные значения весов путем оптимизации порога отсечения, в то время как LET решает проблему выбросов в активациях, перенося сложность квантования с активаций на веса через обучаемое эквивалентное преобразование. Работая в рамках дифференцируемой структуры с использованием блочной минимизации ошибок, OmniQuant может эффективно оптимизировать процесс квантования как для квантования только весов, так и для квантования весов и активаций. Например, семейство моделей LLaMA-2 размером 7-70B может быть обработано с помощью OmniQuant на одном GPU A100-40G за 1-16 часов с использованием 128 образцов. Многочисленные эксперименты подтверждают превосходную производительность OmniQuant в различных конфигурациях квантования, таких как W4A4, W6A6, W4A16, W3A16 и W2A16. Кроме того, OmniQuant демонстрирует эффективность в моделях, настроенных на выполнение инструкций, и обеспечивает значительное улучшение скорости вывода и сокращение объема памяти на реальных устройствах. Коды и модели доступны по адресу https://github.com/OpenGVLab/OmniQuant.
English
Large language models (LLMs) have revolutionized natural language processing
tasks. However, their practical deployment is hindered by their immense memory
and computation requirements. Although recent post-training quantization (PTQ)
methods are effective in reducing memory footprint and improving the
computational efficiency of LLM, they hand-craft quantization parameters, which
leads to low performance and fails to deal with extremely low-bit quantization.
To tackle this issue, we introduce an Omnidirectionally calibrated Quantization
(OmniQuant) technique for LLMs, which achieves good performance in diverse
quantization settings while maintaining the computational efficiency of PTQ by
efficiently optimizing various quantization parameters. OmniQuant comprises two
innovative components including Learnable Weight Clipping (LWC) and Learnable
Equivalent Transformation (LET). LWC modulates the extreme values of weights by
optimizing the clipping threshold. Meanwhile, LET tackles activation outliers
by shifting the challenge of quantization from activations to weights through a
learnable equivalent transformation. Operating within a differentiable
framework using block-wise error minimization, OmniQuant can optimize the
quantization process efficiently for both weight-only and weight-activation
quantization. For instance, the LLaMA-2 model family with the size of 7-70B can
be processed with OmniQuant on a single A100-40G GPU within 1-16 hours using
128 samples. Extensive experiments validate OmniQuant's superior performance
across diverse quantization configurations such as W4A4, W6A6, W4A16, W3A16,
and W2A16. Additionally, OmniQuant demonstrates effectiveness in
instruction-tuned models and delivers notable improvements in inference speed
and memory reduction on real devices. Codes and models are available at
https://github.com/OpenGVLab/OmniQuant.