大模型量化系列(三):GPTQ — 把大模型权重量化到 3/4 bit
论文: GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers作者: Elias Frantar, Saleh Ashkboos, Torsten Hoefler, Dan Alistarh发表: ICLR 2023 | arXiv:2210.17323 一句话总结: GPTQ 证明了二阶补偿式 post-training weight quantization 可以扩展到大模型,让低比特 weight-only 量化从简单取整走向真正可用。 一、为什么 SmoothQuant 之后还需要 GPTQLLM.int8() 发现了大模型里的 activation outlier:少数 hidden dimension 会出现稳定且幅度极大的异常值,导致朴素 INT8 量化失效。它的处理方式是把 outlier channel 拆出来,用 FP16 单独计算。 SmoothQuant 则进一步问:能不能不保留 FP16 outlier 分支,而是把 activatio...
大模型量化系列(二):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() 首次揭示了 LLM 中的 outlier(emergent feature)现象,成为此后大模型量化研究的重要出发点。 一、为什么传统量化在大模型上会崩溃在讨论 LLM.int8() 之前,我们需要先理解一个看起来理所当然、实则并不显然的问题:为什么简单的 INT8 量化,在小模型上跑得飞起,一到 6.7B 以上的大模型就全面崩溃? 要回答这个问题,得从量化最基础的两套方法讲起。 1. Absmax 量化:最简单,但也最脆弱Absmax(绝对最大值量化)是工程中最常用的方案。核心思想一句话:找到整个张量的绝对最大值,等比例缩放到 INT8 的 [-127, 127] 范围。 量化公式: 缩放因子: 反...