LLM2D
QServe: W4A8KV4 量化与系统协同设计以实现高效的大模型服务
QServe: W4A8KV4 Quantization and System Co-design for Efficient LLM Serving
作者: Yujun Lin, Haotian Tang, Shang Yang, Zhekai Zhang, Guangxuan Xiao, Chuang Gan, Song Han
发布日期: 5/2/2025
arXiv ID: oai:arXiv.org:2405.04532v3

摘要

arXiv:2405.04532v3 宣布类型: 代替交叉 摘要:量化的加速对于大型语言模型(LLM)推理至关重要。超越INT8量化,研究界正在积极探索更低精度的方法,例如INT4。尽管最新的INT4量化技术可以加速小批次、边缘端的LLM推理,但在大型、基于云的LLM服务中却未能提供性能增益。我们发现了一个关键问题:现有的INT4量化方法在GPU上进行权重或部分求和去量化时存在显著的运行时开销(20-90%)。为解决这一挑战,我们引入了QoQ,这是一种具有4位权重、8位激活和4位KV缓存的W4A8KV4量化算法。QoQ代表拉丁语中的4-8-4。QoQ是通过QServe推理库实现的,并且已经在实际测量中达到了加速效果。QServe的核心洞察是,GPU上的LLM服务效率受到低吞吐量CUDA核心上操作的影响。基于这一洞察,QoQ算法引入了渐进量化,可以在W4A8 GEMM中允许低去量化开销。此外,我们还开发了SmoothAttention,以有效减少由4位KV量化引起的精度下降。在QServe系统中,我们进行了计算感知权重重新排序,并利用寄存器级并行来减少去量化延迟。我们还通过引入KV4量化最大限度地减少了关注点绑定计算的需求,并利用其带来的性能增益。因此,QServe将Llama-3-8B在A100上的最大可实现服务吞吐量提高了1.2倍,在L40S上的吞吐量提高了1.4倍;并将Qwen1.5-72B在A100上的吞吐量提高了2.4倍,在L40S上的吞吐量提高了3.5倍,相比于TensorRT-LLM。令人惊讶的是,QServe在L40S GPU上的吞吐量甚至超过了A100上的TensorRT-LLM。因此,QServe有效降低了LLM服务的费用,降低了3倍。代码可从 https://github.com/mit-han-lab/omniserve 获取。