OmniQuant : Quantification Omnidirectionnellement Calibrée pour les Grands Modèles de Langage
OmniQuant: Omnidirectionally Calibrated Quantization for Large Language Models
August 25, 2023
Auteurs: Wenqi Shao, Mengzhao Chen, Zhaoyang Zhang, Peng Xu, Lirui Zhao, Zhiqian Li, Kaipeng Zhang, Peng Gao, Yu Qiao, Ping Luo
cs.AI
Résumé
Les grands modèles de langage (LLMs) ont révolutionné les tâches de traitement du langage naturel. Cependant, leur déploiement pratique est entravé par leurs énormes besoins en mémoire et en calcul. Bien que les méthodes récentes de quantification post-entraînement (PTQ) soient efficaces pour réduire l'empreinte mémoire et améliorer l'efficacité computationnelle des LLMs, elles définissent manuellement les paramètres de quantification, ce qui entraîne de faibles performances et échoue face à la quantification en très faible précision. Pour résoudre ce problème, nous introduisons une technique de quantification omnidirectionnellement calibrée (OmniQuant) pour les LLMs, qui atteint de bonnes performances dans divers réglages de quantification tout en maintenant l'efficacité computationnelle de la PTQ en optimisant efficacement divers paramètres de quantification. OmniQuant comprend deux composants innovants : le rognage des poids apprenable (LWC) et la transformation équivalente apprenable (LET). Le LWC module les valeurs extrêmes des poids en optimisant le seuil de rognage. Parallèlement, le LET s'attaque aux valeurs aberrantes des activations en déplaçant le défi de la quantification des activations vers les poids via une transformation équivalente apprenable. Fonctionnant dans un cadre différentiable en utilisant une minimisation d'erreur par blocs, OmniQuant peut optimiser efficacement le processus de quantification pour la quantification des poids uniquement et pour la quantification poids-activations. Par exemple, la famille de modèles LLaMA-2 de taille 7-70B peut être traitée avec OmniQuant sur un seul GPU A100-40G en 1 à 16 heures en utilisant 128 échantillons. Des expériences approfondies valident la performance supérieure d'OmniQuant dans diverses configurations de quantification telles que W4A4, W6A6, W4A16, W3A16 et W2A16. De plus, OmniQuant démontre son efficacité dans les modèles ajustés par instruction et apporte des améliorations notables en vitesse d'inférence et réduction de mémoire sur des appareils réels. Les codes et modèles sont disponibles à l'adresse 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.