PrefixQuant: Статическая квантизация превосходит динамическую за счет предварительно заданных выбросов в LLMs
PrefixQuant: Static Quantization Beats Dynamic through Prefixed Outliers in LLMs
October 7, 2024
Авторы: Mengzhao Chen, Yi Liu, Jiahao Wang, Yi Bin, Wenqi Shao, Ping Luo
cs.AI
Аннотация
Квантование является неотъемлемым элементом развертывания больших языковых моделей (LLM), улучшая эффективность памяти и скорость вывода. Существующие методы квантования активации в основном решают проблемы каналов-выбросов, часто игнорируя выбросы по токенам, что приводит к зависимости от дорогостоящего динамического квантования на уровне токенов. Для решения этой проблемы мы представляем PrefixQuant, новую технику, которая изолирует выбросы токенов офлайн без повторного обучения. Конкретно, PrefixQuant идентифицирует выбросы токенов с высокой частотой и добавляет их в кэш KV, предотвращая генерацию выбросных токенов во время вывода и упрощая квантование. На наш взгляд, PrefixQuant первым обеспечивает эффективное статическое квантование на уровне тензоров для превосходства над дорогостоящим динамическим квантованием на уровне токенов. Например, в модели Llama-3-8B с параметрами W4A4KV4 (4 бита на вес, 4 бита на активацию и 4 бита в кэше KV), PrefixQuant с статическим квантованием на уровне тензоров достигает перплексии 7,43 на наборе данных WikiText2 и средней точности 71,08% на 5 задачах рассуждения на здравый смысл, превосходя предыдущие методы динамического квантования на уровне токенов, такие как QuaRot, с улучшением перплексии на 0,98 и повышением точности на +5,98 пункта. Кроме того, скорость вывода квантованных моделей W4A4 с использованием PrefixQuant в 1,60–2,81 раза выше, чем у моделей FP16, и превосходит модели QuaRot в 1,2–1,3 раза. Наш код доступен по адресу 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