即插即用!美团提出整数量化系数方案:大模型细粒度量化的免费午餐
摘要
论文标题:
Integer Scale: A Free Lunch for Faster Fine-grained Quantization of LLMs
简介
优化大型语言模型(LLMs)的推理效率不是一项简单的任务。LLMs 通常包括一个计算密集型的预填充阶段(prefill)和一个访存密集型的自解码阶段(self-decoding)。利用整数矩阵乘法可以加速计算,但直接应用训练后量化通常会带来较大的性能下降。像 LLM-QAT [28] 这样的量化感知训练方法需要昂贵的计算资源来微调所有权重。相比之下,训练后量化成本更低,通常在实践中使用。
例如,SmoothQuant [48] 将激活量化难度迁移到权重量化,以提高量化精度。最近,细粒度的分组量化经常作为减少量化误差的手段,如 ZeroQuant [49],GPTQ [14],AWQ [26] 和 FPTQ [24]。
FPTQ 提出了一种细粒度的 W4A8 策略,作为 W4A16 和 W8A8 之间的折衷方案。尽管其高量化精度得益于细粒度量化,但由于细粒度所引入的内在计算复杂性,实际的推理收益也被低效的运算所吞噬,见图 1 绿色。而该文提出的整形量化系数则可以避免低效的运算,并取得实际的加速收益,见图 1 红色。该方法对 LLaMA-2 系列的 3 个模型均取得了明显的加速收益。
该方法有三个主要贡献点:
揭示了细粒度大型语言模型(LLM)量化方法的内在推理瓶颈,并找到了一种几乎不损失精度的解决方案,称为整数量化系数(Integer Scale)。该方法可以作为即插即用的插件,用于最先进的量化方法(例如 GPTQ [14],AWQ [26],Omniquant [41],QuaRot [3] 等),并且只需做最小的修改。 细粒度量化和整数量化系数方案的结合不仅保留了现有方法的性能,还有效地解决了使用混合专家技术构建的 Mixtral [18] 和 LLaMA-3 [1] 的量化难题。 当整型量化系数应用于细粒度 W4A8 范式时,与 FP16 相比,实现了最多 1.85 倍的端到端速度提升,与 Marlin W4A16 [13] 相比提升了 1.17 倍,与浮点量化系数版本相比提升了 1.83 倍,同时在性能上是可比的,即实现了速度与精度的新帕累托前沿,证实了方法的可行性。
3.1 细粒度方法能显著提升量化精度
3.2 细粒度方法存在推理瓶颈
▲ 图3:(a)细粒度量化将大小为 M×K 的激活 X 和大小为 K×N 的权重划分为组,以进行独立的量化。(b)以前的浮点比例因子方案需要大量的昂贵类型转换(I32toF32),这些转换来自分组矩阵乘法的结果,这阻碍了整体性能。该文提出的方案(c)使用整型量化系数和自动放大器(表示为 α),在保持类似准确性的同时缓解了问题。注意 sij 是每个权重组 gij 的比例因子,而 sai 是激活 X 的比例因子。
鉴于前面的讨论,提高细粒度推理的速度变得至关重要。图 3(b)显示,使用浮点量化系数会触发许多昂贵的类型转换。例如,一个典型的 4096×4096 大小的密集层,分为 128 组,会有 131072 个浮点量化系数,因此需要同样数量的 4 种类型转换操作。每个操作都需要额外的逐元素转换。
直观地,该文可以求助于整数量化系数来避免这种情况。然而,由于所有归一化的浮点量化系数都在(0, 1)范围内,直接将量化系数转换为整数肯定会造成巨大的量化误差。为了缓解这个问题,该文引入了一个整数放大器 α,称为自适应量化系数放大器,它可以根据可用的浮点量化系数轻松计算出来。该文的方法可以正式表述为:
scale_min = scales . min ()
n , tmp = 0 , scale_min
while tmp < 1:
tmp = scale_min * (2** n )
n +=1
scale_amplifier = 2**( n -1)
▲ 图4:(a)在第一层中放大(α = 210)的 LLaMA-2-7B 浮点比例因子的范围(其他层类似)映射到 16 位整数。大多数放大的比例因子可以在 8 位内表示。(b)每个线性层所需的位数移动数量以放大比例因子。(c)在不同放大器下整型量化系数与浮点比例因子之间的权重均方误差(Weight MSE)。
在实际应用中,尽管理论上可以为每个层找到最优的放大器,但在实践中,通过对特定模型的量化系数分析,可以确定一个适用于大多数情况的默认放大器。
实验
5.2 Kernel 实现对比
▲ 图5:(a)细粒度的 W4A8 核(K=4096, N=22016)使用整型量化系数(W4A8 整数量化系数)提升了其浮点比例因子对应模型(W4A8 浮点比例因子)的性能。灰色区域表示“性能悬崖”。(b)在不同批量大小下,Mixtral 8x7B 在 FP16 上的端到端速度提升。
▲ 图6:在特定参数设置下(K=4096, N=22016),同 QServe 的 W4A8 内核、FP16 内核的速度比较
5.3 Mixture-of-experts 量化加速
参考文献
[1] AI@Meta. Llama 3 model card. 2024. URL https://github.com/meta-llama/llama3/ blob/main/MODEL_CARD.md
[3] Saleh Ashkboos, Amirkeivan Mohtashami, Maximilian L Croci, Bo Li, Martin Jaggi, Dan Alistarh, Torsten Hoefler, and James Hensman. Quarot: Outlier-free 4-bit inference in rotated llms. arXiv preprint arXiv:2404.00456, 2024
[13] Elias Frantar and Dan Alistarh. Marlin: a fast 4-bit inference kernel for medium batchsizes. https://github.com/IST-DASLab/marlin, 2024
[14] Elias Frantar, Saleh Ashkboos, Torsten Hoefler, and Dan Alistarh. Gptq: Accurate post-training quantization for generative pre-trained transformers. arXiv preprint arXiv:2210.17323, 2022
[17] Wei Huang, Xudong Ma, Haotong Qin, Xingyu Zheng, Chengtao Lv, Hong Chen, Jie Luo, Xiaojuan Qi, Xianglong Liu, and Michele Magno. How good are low-bit quantized llama3 models? an empirical study. arXiv preprint arXiv:2404.14047, 2024
[18] Albert Q Jiang, Alexandre Sablayrolles, Antoine Roux, Arthur Mensch, Blanche Savary, Chris Bamford, Devendra Singh Chaplot, Diego de las Casas, Emma Bou Hanna, Florian Bressand, et al. Mixtral of experts. arXiv preprint arXiv:2401.04088, 2024
[24] Qingyuan Li, Yifan Zhang, Liang Li, Peng Yao, Bo Zhang, Xiangxiang Chu, Yerui Sun, Li Du, and Yuchen Xie. Fptq: Fine-grained post-training quantization for large language models. arXiv preprint arXiv:2308.15987, 2023
[26] Ji Lin, Jiaming Tang, Haotian Tang, Shang Yang, Xingyu Dang, and Song Han. Awq: Activation- aware weight quantization for llm compression and acceleration, 2023
[27] Yujun Lin, Haotian Tang, Shang Yang, Zhekai Zhang, Guangxuan Xiao, Chuang Gan, and Song Han. Qserve: W4a8kv4 quantization and system co-design for efficient llm serving. arXiv preprint arXiv:2405.04532, 2024
[28] Zechun Liu, Barlas Oguz, Changsheng Zhao, Ernie Chang, Pierre Stock, Yashar Mehdad, Yangyang Shi, Raghuraman Krishnamoorthi, and Vikas Chandra. Llm-qat: Data-free quantiza- tion aware training for large language models, 2023.
[49] Zhewei Yao, Reza Yazdani Aminabadi, Minjia Zhang, Xiaoxia Wu, Conglong Li, and Yuxiong He. ZeroQuant: Efficient and affordable post-training quantization for large-scale transformers. arXiv preprint arXiv:2206.01861, 2022
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
微信扫码关注该文公众号作者