PrefixQuant: Cuantificación estática supera a la dinámica a través de valores atípicos prefijados en LLMs
PrefixQuant: Static Quantization Beats Dynamic through Prefixed Outliers in LLMs
October 7, 2024
Autores: Mengzhao Chen, Yi Liu, Jiahao Wang, Yi Bin, Wenqi Shao, Ping Luo
cs.AI
Resumen
La cuantificación es esencial para implementar Modelos de Lenguaje Grandes (LLMs) al mejorar la eficiencia de memoria y la velocidad de inferencia. Los métodos existentes para la cuantificación de activación abordan principalmente los valores atípicos por canal, a menudo descuidando los valores atípicos por token, lo que lleva a depender de una costosa cuantificación dinámica por token. Para abordar esto, presentamos PrefixQuant, una técnica novedosa que aísla los tokens atípicos sin necesidad de volver a entrenar. Específicamente, PrefixQuant identifica los tokens atípicos de alta frecuencia y los prefija en la caché KV, evitando la generación de tokens atípicos durante la inferencia y simplificando la cuantificación. Hasta donde sabemos, PrefixQuant es el primero en permitir una cuantificación estática por tensor eficiente para superar la costosa cuantificación dinámica por token. Por ejemplo, en Llama-3-8B con W4A4KV4 (peso de 4 bits, activación de 4 bits y caché KV de 4 bits), PrefixQuant con cuantificación estática por tensor logra una perplejidad de 7.43 en WikiText2 y una precisión promedio del 71.08% en 5 tareas de razonamiento de sentido común, superando a métodos anteriores de cuantificación dinámica por token como QuaRot con una mejora de 0.98 en perplejidad y +5.98 puntos en precisión. Además, la velocidad de inferencia de los modelos cuantificados W4A4 utilizando PrefixQuant es de 1.60x a 2.81x más rápida que los modelos FP16 y supera a los modelos QuaRot en 1.2x a 1.3x. Nuestro código está disponible en 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