OmniQuant: Cuantización Calibrada Omnidireccional para Modelos de Lenguaje a Gran 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
Resumen
Los modelos de lenguaje de gran escala (LLMs, por sus siglas en inglés) han revolucionado las tareas de procesamiento de lenguaje natural. Sin embargo, su implementación práctica se ve obstaculizada por sus enormes requisitos de memoria y computación. Aunque los métodos recientes de cuantización posterior al entrenamiento (PTQ) son efectivos para reducir la huella de memoria y mejorar la eficiencia computacional de los LLMs, estos diseñan manualmente los parámetros de cuantización, lo que resulta en un bajo rendimiento y no logra manejar la cuantización de bits extremadamente bajos. Para abordar este problema, presentamos una técnica de Cuantización Calibrada Omnidireccional (OmniQuant) para LLMs, que logra un buen rendimiento en diversos ajustes de cuantización mientras mantiene la eficiencia computacional de PTQ al optimizar eficientemente varios parámetros de cuantización. OmniQuant consta de dos componentes innovadores: Recorte de Peso Aprendible (LWC) y Transformación Equivalente Aprendible (LET). LWC modula los valores extremos de los pesos optimizando el umbral de recorte. Mientras tanto, LET aborda los valores atípicos en las activaciones trasladando el desafío de la cuantización de las activaciones a los pesos mediante una transformación equivalente aprendible. Operando dentro de un marco diferenciable utilizando minimización de error por bloques, OmniQuant puede optimizar eficientemente el proceso de cuantización tanto para la cuantización solo de pesos como para la cuantización de pesos y activaciones. Por ejemplo, la familia de modelos LLaMA-2 con un tamaño de 7-70B puede procesarse con OmniQuant en una sola GPU A100-40G en 1-16 horas utilizando 128 muestras. Experimentos extensos validan el rendimiento superior de OmniQuant en diversas configuraciones de cuantización como W4A4, W6A6, W4A16, W3A16 y W2A16. Además, OmniQuant demuestra su efectividad en modelos ajustados por instrucciones y ofrece mejoras notables en la velocidad de inferencia y la reducción de memoria en dispositivos reales. Los códigos y modelos están disponibles en 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.