Quantization Meets dLLMs: A Systematic Study of Post-training Quantization for Diffusion LLMs

本文首次系统研究了扩散大语言模型(dLLMs)的量化问题,通过识别激活异常值并全面评估不同位宽、量化方法、任务类型及模型变体下的后训练量化效果,为 dLLMs 在边缘设备上的高效部署提供了实践指导。

Haokun Lin, Haobo Xu, Yichen Wu, Ziyu Guo, Renrui Zhang, Zhichao Lu, Ying Wei, Qingfu Zhang, Zhenan Sun

发布于 2026-03-17
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文就像是一份**“给大模型减肥的体检报告”**,专门研究如何把一种新型、强大但“体重”很重的语言模型(叫 dLLM),压缩得小巧玲珑,好让它们能在手机或普通电脑上跑起来。

为了让你更容易理解,我们可以用**“做一道复杂的菜”**来打比方。

1. 背景:新厨师 vs. 老厨师

  • 老厨师(传统 LLM): 就像传统的“自回归”模型(比如 GPT),它们做菜是一步一步来的,先写第一个字,再写第二个字,像排队一样。这种模式很成熟,大家已经知道怎么给它们“减肥”(量化),让它们变小。
  • 新厨师(dLLM,扩散大模型): 这是论文的主角。它们做菜的方式不同,是**“先画个大概,再慢慢修图”。它们能同时看到整句话的上下文,然后像去噪一样,把模糊的词语一点点变清晰。这种新厨师做出来的菜(生成的文本)往往更精准、控制力更强,但“胃口”太大**(参数多、计算量大),普通厨房(手机/边缘设备)根本养不起。

2. 核心问题:怎么给新厨师“减肥”?

作者想试试:能不能像给老厨师减肥一样,用**“量化”(Quantization)**技术,把新厨师的“体重”(数据精度)降下来?

  • 量化是什么? 想象一下,原本厨师用的调料是**“精确到小数点后 10 位”的(浮点数),太占地方了。量化就是把这些调料换成“整数”**(比如只保留 4 位或 8 位)。虽然精度稍微降了一点,但体积瞬间变小,跑得飞快。

3. 发现:新厨师有个“怪脾气”(异常值)

在研究过程中,作者发现新厨师有个致命的怪脾气

  • 怪脾气(Outliers): 在大多数时候,厨师的调料用量都很正常。但偶尔,会有几个极其夸张的“巨量”调料(异常激活值)。
  • 比喻: 就像做一道普通的汤,99% 的盐都放得刚刚好,但突然有一勺盐像**“一座山”**那么大。
  • 后果: 如果你强行把调料都压缩成“小份”(低比特量化),这座“盐山”就会把整个压缩容器撑爆,导致其他正常的调料(大部分信息)被挤得面目全非,做出来的菜就废了。
  • 新发现: 作者发现,这种“盐山”在扩散模型里不仅存在,而且分布更广(不像老厨师只集中在几个地方,新厨师的“盐山”可能出现在任何地方),这让减肥变得特别难。

4. 实验:试了各种“减肥药”

作者找来了市面上最厉害的几种“减肥药”(现有的量化方法),给新厨师试吃,看看效果如何。他们从四个角度进行了测试:

A. 减多少肉合适?(比特位宽)

  • 只减体重(权重量化): 如果把“体重”(模型参数)减到4 位(4-bit),效果最好!几乎尝不出味道变了,但体积小了一半。如果减到 3 位,味道就变差了。
  • 连体重带动作一起减(权重 + 激活量化): 如果想把“体重”和“做菜动作”(激活值)一起压缩,8 位(8-bit)是安全的,几乎无损。但如果想压缩到4 位,那简直是灾难,菜直接做糊了(性能暴跌)。

B. 哪种减肥药最好?(算法选择)

  • 老药 vs. 新药:
    • GPTQ(老药): 在只减体重的情况下,它比另一种叫 AWQ 的药更稳,效果最好。
    • 旋转法(新药): 在连体重带动作一起减的时候,传统的“平滑法”(SmoothQuant)完全失效(因为搞不定那些“盐山”)。但一种叫DuQuant的“旋转法”新药,通过把调料旋转一下,巧妙地避开了“盐山”,效果拔群。

C. 做什么菜最难?(任务类型)

  • 普通聊天 vs. 高难度任务:
    • 普通问答(比如“今天天气怎么样”),减肥后的模型表现还不错。
    • 数学题写代码,减肥后的模型就**“翻车”**了。
    • 原因: 写代码和做数学题需要严密的逻辑链条,就像走钢丝。量化带来的微小误差,在一步步推理中会像滚雪球一样放大,最后导致整个逻辑崩塌。

D. 谁更抗造?(模型类型)

  • 受过训练的厨师 vs. 野生厨师:
    • 经过指令微调(Instruction-tuned,即受过人类指导)的模型,比基础版(Base)模型更抗揍。
    • 比喻: 受过训练的厨师(Instruct 版)即使被强行压缩,也能凭经验把菜做得像样;而野生厨师(Base 版)一被压缩,手就抖,菜就糊了。

5. 总结:这份报告告诉我们什么?

这篇论文就像给想给新模型“减肥”的开发者们指了一条明路:

  1. 别盲目压缩: 扩散模型(dLLM)里有特殊的“异常值”,直接套用老方法会失败。
  2. 最佳配置:
    • 如果只压缩参数,用 4 位,选 GPTQ 算法。
    • 如果要压缩得更彻底(参数 + 激活),目前 8 位 比较稳,4 位 太难了,需要像 DuQuant 这样的高级算法。
  3. 小心高难度任务: 如果你要用它做数学或写代码,压缩要特别小心,否则容易出错。
  4. 选对模型: 尽量用经过指令微调的模型,它们更耐造。

一句话总结:
这篇论文是第一次系统地给“扩散大模型”做了全身量化体检,发现它们虽然好吃(效果好),但有个“怪脾气”(异常值),需要特定的“减肥方案”(如 DuQuant 算法和 4-8 位配置)才能既瘦下来又保持健康,否则一压缩就“病倒”了。这为未来让大模型在手机上流畅运行打下了基础。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →