OmniQuant: Quantização Calibrada Omnidirecional para Modelos de Linguagem de Grande Escala
OmniQuant: Omnidirectionally Calibrated Quantization for Large Language Models
August 25, 2023
Autores: Wenqi Shao, Mengzhao Chen, Zhaoyang Zhang, Peng Xu, Lirui Zhao, Zhiqian Li, Kaipeng Zhang, Peng Gao, Yu Qiao, Ping Luo
cs.AI
Resumo
Os grandes modelos de linguagem (LLMs) revolucionaram as tarefas de processamento de linguagem natural. No entanto, sua implantação prática é dificultada por seus imensos requisitos de memória e computação. Embora os métodos recentes de quantização pós-treinamento (PTQ) sejam eficazes na redução da pegada de memória e na melhoria da eficiência computacional dos LLMs, eles criam manualmente os parâmetros de quantização, o que resulta em baixo desempenho e falha ao lidar com quantizações de bits extremamente baixos. Para resolver esse problema, introduzimos uma técnica de Quantização Calibrada Omnidirecional (OmniQuant) para LLMs, que alcança bom desempenho em diversas configurações de quantização, mantendo a eficiência computacional da PTQ ao otimizar eficientemente vários parâmetros de quantização. O OmniQuant compreende dois componentes inovadores, incluindo o Recorte de Peso Aprendível (LWC) e a Transformação Equivalente Aprendível (LET). O LWC modula os valores extremos dos pesos ao otimizar o limite de recorte. Enquanto isso, o LET aborda os valores atípicos das ativações ao transferir o desafio da quantização das ativações para os pesos por meio de uma transformação equivalente aprendível. Operando dentro de uma estrutura diferenciável usando minimização de erro em blocos, o OmniQuant pode otimizar o processo de quantização de forma eficiente tanto para quantização apenas de pesos quanto para quantização de pesos e ativações. Por exemplo, a família de modelos LLaMA-2 com tamanho de 7-70B pode ser processada com o OmniQuant em uma única GPU A100-40G dentro de 1-16 horas usando 128 amostras. Experimentos extensivos validam o desempenho superior do OmniQuant em diversas configurações de quantização, como W4A4, W6A6, W4A16, W3A16 e W2A16. Além disso, o OmniQuant demonstra eficácia em modelos ajustados por instrução e oferece melhorias notáveis na velocidade de inferência e na redução de memória em dispositivos reais. Códigos e modelos estão disponíveis em 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.