大模型量化系列(二):SmoothQuant — 把 Outlier 从 Activation 迁移到 Weight
论文: SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models作者: Guangxuan Xiao, Ji Lin, Mickael Seznec, Hao Wu, Julien Demouth, Song Han发表: ICML 2023 | arXiv:2211.10438 一句话总结: SmoothQuant 承接 LLM.int8() 提出的 activation outlier 问题,但没有继续保留 FP16 outlier 分支,而是通过等价缩放把量化难度从 activation 迁移到 weight,从而让 W8A8 成为更硬件友好的部署路线。 一、LLM.int8 留下了什么问题LLM.int8() 的关键贡献,是指出大模型 INT8 量化失败的核心原因:activation outlier。 在线性层中: 其中 是 activation, 是 weight。大模型里, 的少数 hidden dimension 会出现稳定且幅度...
大模型量化系列(一):LLM.int8() — 重新定义量化领域的问题空间
论文: LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale作者: Tim Dettmers, Mike Lewis, Younes Belkada, Luke Zettlemoyer发表: NeurIPS 2022 | arXiv:2208.07339 一句话总结: LLM.int8() 的直接贡献是提出了首个实用的大模型混合精度 INT8 推理方案,而其更深远的影响在于首次系统揭示了 LLM 中的 outlier(emergent feature)现象。后者成为此后大模型量化研究的重要出发点,其影响力甚至超过了方法本身。 一、为什么传统量化在大模型上会崩溃在讨论 LLM.int8() 之前,我们需要先理解一个看起来理所当然、实则并不显然的问题:为什么简单的 INT8 量化,在小模型上跑得飞起,一到 6.7B 以上的大模型就全面崩溃? 要回答这个问题,得从量化最基础的两套方法讲起。 1. Absmax 量化:最简单,但也最脆弱Absmax(绝对最大值量化)是工程中最常用的方案。核心思想一句...