FlatQuant : L'importance de la planéité pour la quantification LLM
FlatQuant: Flatness Matters for LLM Quantization
October 12, 2024
Auteurs: Yuxuan Sun, Ruikang Liu, Haoli Bai, Han Bao, Kang Zhao, Yuening Li, Jiaxin Hu, Xianzhi Yu, Lu Hou, Chun Yuan, Xin Jiang, Wulong Liu, Jun Yao
cs.AI
Résumé
Récemment, la quantification a été largement utilisée pour la compression et l'accélération des grands modèles de langage~(LLMs). En raison des valeurs aberrantes dans les LLMs, il est crucial d'aplanir les poids et activations pour minimiser l'erreur de quantification avec des points de quantification également espacés. Des recherches antérieures explorent diverses transformations pré-quantification pour supprimer les valeurs aberrantes, telles que la mise à l'échelle par canal et la transformation de Hadamard. Cependant, nous observons que ces poids et activations transformés peuvent encore rester raides et étendus. Dans cet article, nous proposons FlatQuant (Transformation Affine Rapide et Apprentissable), une nouvelle approche de quantification post-entraînement pour améliorer la planéité des poids et activations. Notre approche identifie des transformations affines optimales adaptées à chaque couche linéaire, calibrées en quelques heures via un objectif léger. Pour réduire les surcoûts d'exécution, nous appliquons une décomposition de Kronecker aux matrices de transformation, et fusionnons toutes les opérations dans FlatQuant en un seul noyau. De vastes expériences montrent que FlatQuant établit une nouvelle référence en matière de quantification. Par exemple, il atteint une baisse de précision de moins de 1% pour la quantification W4A4 sur le modèle LLaMA-3-70B, surpassant SpinQuant de 7.5%. En termes de latence d'inférence, FlatQuant réduit le ralentissement induit par la transformation pré-quantification de 0.26x de QuaRot à seulement 0.07x, offrant jusqu'à 2.3x d'accélération pour le préremplissage et 1.7x d'accélération pour le décodage, respectivement. Le code est disponible sur : https://github.com/ruikangliu/FlatQuant.
English
Recently, quantization has been widely used for the compression and
acceleration of large language models~(LLMs). Due to the outliers in LLMs, it
is crucial to flatten weights and activations to minimize quantization error
with the equally spaced quantization points. Prior research explores various
pre-quantization transformations to suppress outliers, such as per-channel
scaling and Hadamard transformation. However, we observe that these transformed
weights and activations can still remain steep and outspread. In this paper, we
propose FlatQuant (Fast and Learnable Affine Transformation), a new
post-training quantization approach to enhance flatness of weights and
activations. Our approach identifies optimal affine transformations tailored to
each linear layer, calibrated in hours via a lightweight objective. To reduce
runtime overhead, we apply Kronecker decomposition to the transformation
matrices, and fuse all operations in FlatQuant into a single kernel. Extensive
experiments show that FlatQuant sets up a new state-of-the-art quantization
benchmark. For instance, it achieves less than 1% accuracy drop for
W4A4 quantization on the LLaMA-3-70B model, surpassing SpinQuant by
7.5%. For inference latency, FlatQuant reduces the slowdown induced
by pre-quantization transformation from 0.26x of QuaRot to merely
0.07x, bringing up to 2.3x speedup for prefill and
1.7x speedup for decoding, respectively. Code is available at:
https://github.com/ruikangliu/FlatQuant.Summary
AI-Generated Summary