PrefixQuant : la quantification statique l'emporte sur la dynamique grâce aux valeurs aberrantes préfixées dans les LLM
PrefixQuant: Static Quantization Beats Dynamic through Prefixed Outliers in LLMs
October 7, 2024
Auteurs: Mengzhao Chen, Yi Liu, Jiahao Wang, Yi Bin, Wenqi Shao, Ping Luo
cs.AI
Résumé
La quantification est essentielle pour le déploiement des grands modèles de langage (LLM) en améliorant l'efficacité de la mémoire et la vitesse d'inférence. Les méthodes existantes de quantification de l'activation abordent principalement les valeurs aberrantes par canal, négligeant souvent les valeurs aberrantes par jeton, ce qui conduit à une dépendance coûteuse à la quantification dynamique par jeton. Pour remédier à cela, nous introduisons PrefixQuant, une nouvelle technique qui isole les jetons aberrants hors ligne sans re-entraînement. Plus précisément, PrefixQuant identifie les jetons aberrants à haute fréquence et les préfixe dans le cache KV, empêchant la génération de jetons aberrants lors de l'inférence et simplifiant la quantification. À notre connaissance, PrefixQuant est le premier à permettre une quantification statique par tenseur efficace pour surpasser la coûteuse quantification dynamique par jeton. Par exemple, dans le Llama-3-8B W4A4KV4 (poids sur 4 bits, activation sur 4 bits et cache KV sur 4 bits), PrefixQuant avec quantification statique par tenseur atteint une perplexité de 7,43 sur WikiText2 et une précision moyenne de 71,08% sur 5 tâches de raisonnement de bon sens, surpassant les méthodes précédentes de quantification dynamique par jeton comme QuaRot avec une amélioration de 0,98 en perplexité et +5,98 en précision. De plus, la vitesse d'inférence des modèles quantifiés W4A4 utilisant PrefixQuant est de 1,60x à 2,81x plus rapide que les modèles FP16 et dépasse les modèles QuaRot de 1,2x à 1,3x. Notre code est disponible sur https://github.com/ChenMnZ/PrefixQuant.
English
Quantization is essential for deploying Large Language Models (LLMs) by
enhancing memory efficiency and inference speed. Existing methods for
activation quantization mainly address channel-wise outliers, often neglecting
token-wise outliers, leading to reliance on costly per-token dynamic
quantization. To address this, we introduce PrefixQuant, a novel technique that
isolates outlier tokens offline without re-training. Specifically, PrefixQuant
identifies high-frequency outlier tokens and prefixes them in the KV cache,
preventing the generation of outlier tokens during inference and simplifying
quantization. To our knowledge, PrefixQuant is the first to enable efficient
per-tensor static quantization to outperform expensive per-token dynamic
quantization. For instance, in W4A4KV4 (4- bit weight, 4-bit activation, and
4-bit KV cache) Llama-3-8B, PrefixQuant with per-tensor static quantization
achieves a 7.43 WikiText2 perplexity and 71.08% average accuracy on 5
common-sense reasoning tasks, outperforming previous per-token dynamic
quantization methods like QuaRot with 0.98 perplexity improvement and +5.98
points accuracy. Additionally, the inference speed of W4A4 quantized models
using PrefixQuant is 1.60x to 2.81x faster than FP16 models and exceeds QuaRot
models by 1.2x to 1.3x. Our code is available at
https://github.com/ChenMnZ/PrefixQuant.Summary
AI-Generated Summary