QServe: W4A8KV4 Quantization and System Co-design for Efficient LLM Serving

要約

量子化により、大規模言語モデル (LLM) 推論を高速化できます。
研究コミュニティは、INT8 量子化を超えて、INT4 などのさらに低い精度を積極的に研究しています。
それにもかかわらず、最先端の INT4 量子化技術は、低バッチのエッジ LLM 推論を高速化するだけであり、大規模なバッチのクラウドベースの LLM サービスではパフォーマンスの向上を実現できません。
私たちは重大な問題を発見しました。既存の INT4 量子化メソッドは、GPU で重みまたは部分和を逆量子化するときに、重大なランタイム オーバーヘッド (20 ~ 90%) に悩まされます。
この課題に対処するために、4 ビットの重み、8 ビットのアクティベーション、および 4 ビットの KV キャッシュを備えた W4A8KV4 量子化アルゴリズムである QoQ を導入します。
QoQ は quattuor-octo-quattuor の略で、ラテン語で 4-8-4 を表します。
QoQ は、測定された速度向上を実現する QServe 推論ライブラリによって実装されます。
QServe を推進する重要な洞察は、GPU 上で提供される LLM の効率が、低スループットの CUDA コアでの操作によって重大な影響を受けるということです。
この洞察に基づいて、QoQ アルゴリズムでは、W4A8 GEMM で逆量子化オーバーヘッドを低く抑えることができるプログレッシブ量子化を導入します。
さらに、4 ビット KV 量子化によって生じる精度の低下を効果的に軽減する SmoothAttend を開発しました。
QServe システムでは、計算を意識した重みの並べ替えを実行し、レジスタレベルの並列処理を利用して逆量子化のレイテンシを短縮します。
また、KV4 量子化によってもたらされるパフォーマンスの向上を利用して、融合された注意をメモリに制限します。
その結果、QServe は Llama-3-8B の最大達成可能なサービング スループットを A100 で 1.2 倍、L40S で 1.4 倍向上させます。
TensorRT-LLM と比較して、Qwen1.5-72B は A100 で 2.4 倍、L40S で 3.5 倍です。
注目すべきことに、L40S GPU 上の QServe は、A100 上の TensorRT-LLM よりもさらに高いスループットを達成できます。
したがって、QServe は LLM サービスのドルコストを効果的に 3 倍削減します。
コードは https://github.com/mit-han-lab/qserve で入手できます。

要約(オリジナル)

Quantization can accelerate large language model (LLM) inference. Going beyond INT8 quantization, the research community is actively exploring even lower precision, such as INT4. Nonetheless, state-of-the-art INT4 quantization techniques only accelerate low-batch, edge LLM inference, failing to deliver performance gains in large-batch, cloud-based LLM serving. We uncover a critical issue: existing INT4 quantization methods suffer from significant runtime overhead (20-90%) when dequantizing either weights or partial sums on GPUs. To address this challenge, we introduce QoQ, a W4A8KV4 quantization algorithm with 4-bit weight, 8-bit activation, and 4-bit KV cache. QoQ stands for quattuor-octo-quattuor, which represents 4-8-4 in Latin. QoQ is implemented by the QServe inference library that achieves measured speedup. The key insight driving QServe is that the efficiency of LLM serving on GPUs is critically influenced by operations on low-throughput CUDA cores. Building upon this insight, in QoQ algorithm, we introduce progressive quantization that can allow low dequantization overhead in W4A8 GEMM. Additionally, we develop SmoothAttention to effectively mitigate the accuracy degradation incurred by 4-bit KV quantization. In the QServe system, we perform compute-aware weight reordering and take advantage of register-level parallelism to reduce dequantization latency. We also make fused attention memory-bound, harnessing the performance gain brought by KV4 quantization. As a result, QServe improves the maximum achievable serving throughput of Llama-3-8B by 1.2x on A100, 1.4x on L40S; and Qwen1.5-72B by 2.4x on A100, 3.5x on L40S, compared to TensorRT-LLM. Remarkably, QServe on L40S GPU can achieve even higher throughput than TensorRT-LLM on A100. Thus, QServe effectively reduces the dollar cost of LLM serving by 3x. Code is available at https://github.com/mit-han-lab/qserve.

arxiv情報

著者 Yujun Lin,Haotian Tang,Shang Yang,Zhekai Zhang,Guangxuan Xiao,Chuang Gan,Song Han
発行日 2024-05-07 17:59:30+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.CL, cs.LG, cs.PF パーマリンク