跳转至

AccuQuant: Simulating Multiple Denoising Steps for Quantizing Diffusion Models

会议: NeurIPS 2025
arXiv: 2510.20348
代码: 无
领域: 图像生成
关键词: 训练后量化, 扩散模型, 误差累积, 多步采样模拟, O(1)内存优化

一句话总结

揭示扩散模型量化中的误差累积现象——每步的量化误差会传递并放大到后续步骤——并提出在 PTQ 校准阶段显式模拟连续多步去噪过程来联合优化量化参数的方法,同时通过巧妙的目标函数设计将内存从 O(n) 降至 O(1)。

研究背景与动机

扩散模型推理的独特性质使量化面临与传统模型截然不同的挑战:

扩散模型的采样过程是一个迭代过程——从纯噪声开始,经过数十步(通常 20-50 步)逐步去噪得到最终图像。每一步的输出直接作为下一步的输入。这种串行依赖意味着:

  • 误差会累积:第 t 步的量化误差 \(\delta_t\) 不仅影响第 t 步的输出,还会作为偏移叠加到第 t+1 步的输入中。第 t+1 步的量化不仅产生自身的新误差 \(\delta_{t+1}\),还会因为接收了含误差的输入而产生额外偏差。经过多步迭代,小误差可能被不断放大
  • 现有 PTQ 方法的盲点:标准 PTQ 校准对每个去噪步骤独立优化——对每步单独最小化全精度模型和量化模型之间的输出差异。这种做法模仿的是扩散模型的"训练过程"(各步独立),而非推理时的"采样过程"(步骤串行)
  • 范式错位:校准目标与实际使用场景不匹配——量化参数针对"给定干净输入时的单步输出误差"做了优化,但实际推理中模型接收的是含误差的输入

论文通过解析推导和实证实验两方面证实了误差累积现象的存在和严重性,尤其在低比特(如 W4A4)量化下,累积效应更加显著。

方法详解

整体框架

AccuQuant 的核心改变发生在 PTQ 校准阶段。它不再逐步独立优化量化参数,而是运行量化模型的连续多步去噪过程(模拟采样轨迹),将多步累积输出与全精度模型对比,联合优化所有步骤的量化参数。

校准流程:

  1. 准备少量校准数据(随机噪声 + 可选的文本提示)
  2. 选择一个去噪窗口 [t, t+k](k 为窗口大小)
  3. 让量化模型从第 t 步开始连续去噪 k 步
  4. 将第 t+k 步的输出与全精度模型在相同轨迹上的输出对比
  5. 反向传播梯度,更新窗口内各步的量化参数(如缩放因子、零点等)
  6. 滑动窗口覆盖整个去噪轨迹

关键设计

  1. 多步模拟校准:在确定量化参数时显式运行量化模型的连续多步去噪过程。从某步开始让量化模型连续去噪 k 步,与全精度模型的 k 步输出对比。如果某步的量化使下一步输入偏移,连续模拟会自然暴露这种级联效应,校准过程因此可以选择更好的量化参数来抑制误差传播。这是从"模仿训练"到"模仿采样"的范式转换——校准目标终于与使用场景对齐。

  2. O(1) 内存目标函数:朴素实现连续 k 步模拟需要存储每步的中间激活值用于反向传播,内存需求为 O(k)〜O(n),当步数 n=50 时完全不可行。论文设计了一种巧妙的目标函数,避免同时存储所有中间步骤的激活。核心思路是通过计算重构(类似 gradient checkpointing 的思想),仅需维护当前步的状态即可计算梯度,将内存复杂度从 O(n) 降至 O(1)。这一优化使得方法在实际的长步数采样场景中可行。

  3. 窗口化优化策略:将整条去噪轨迹分为多个重叠窗口,每个窗口内进行多步模拟校准。窗口大小 k 是关键超参数——k=1 退化为传统的逐步独立优化;k 过大则计算开销增加但收益递减。实验表明 k=2-4 是最优区间,能够捕捉最关键的近邻步误差传播而不引入过多计算负担。

损失函数 / 训练策略

联合多步目标函数最小化量化模型在窗口 [t, t+k] 内的累积输出与全精度模型之间的差异。具体形式是对窗口内各步输出差异的加权求和,权重可以均匀或偏重后面步骤(因为后面步骤累积了更多误差信息)。

使用标准 PTQ 流程:无需原始训练数据,仅用少量随机生成的校准输入即可完成。校准数据量与传统 PTQ 方法相当,不增加数据需求。

实验关键数据

主实验

在多种扩散模型和任务上与现有 PTQ 方法对比:

CIFAR-10 无条件生成(DDPM)

方法 W8A8 FID ↓ W4A8 FID ↓ W4A4 FID ↓
Full Precision 基线 基线 基线
朴素 PTQ 轻微退化 明显退化 严重退化
Q-Diffusion 中等改善 中等改善 中等改善
PTQD 较好 较好 较好
AccuQuant 最优 最优 最优

关键特点:在 W8A8(误差较小)时各方法差距不大,但在 W4A8 和 W4A4(误差大、累积效应严重)时 AccuQuant 的优势逐渐扩大——这与"低比特下误差累积更严重"的理论预测一致。

论文还在 LDM、Stable Diffusion 等模型上以及文本引导生成、图像编辑等任务上验证了一致的改进。

消融实验

窗口大小 k 的影响

窗口大小 FID 相对改善 校准时间增加
k=1(退化为逐步优化) 基线
k=2 显著改善 ~2×
k=3 进一步改善 ~3×
k=4 接近饱和 ~4×
k=8 几乎无额外收益 ~8×

k=2-4 是最优区间——联合优化最近的 2-4 步即可捕获大部分误差传播信息。

O(1) 内存 vs O(n) 朴素实现:两者在量化精度上几乎无差异(证明梯度信息可被高效压缩/重算),但 O(1) 版本的峰值内存在 50 步采样时仅为朴素版的 1/50。

不同采样步数:在 20 步、50 步、100 步 DDIM/DDPM 采样中,AccuQuant 均优于基线。步数越多,累积效应越严重,AccuQuant 的优势越明显。

关键发现

  • 量化误差在去噪步骤间确实累积——论文通过追踪各步输出与全精度模型的 L2 距离,观察到距离随步骤数单调递增
  • 累积效应在低比特量化下最严重——W4A4 的误差增长速率远高于 W8A8,呈指数级放大趋势
  • 多步联合优化的收益集中在前几步——k=2 已带来大部分改善,k>4 后边际收益显著递减
  • O(1) 内存优化几乎不损失精度——梯度计算的等价重构是精确的,不引入近似误差

亮点与洞察

  • 问题导向的方法设计:从"误差在迭代过程中累积"这一简洁的观察出发,自然引出"让校准目标感知多步累积效应"的解决方案——逻辑链条清晰有力
  • 范式转换:将 PTQ 校准从"模仿训练过程"(逐步独立)转向"模仿采样过程"(连续串行),这一思路转变具有启发性
  • O(n) → O(1) 的工程贡献:使方法在长序列采样中实际可行,否则只是一个漂亮的理论方案
  • 通用性强:适用于多种扩散架构(U-Net、DiT 等)和采样器(DDPM、DDIM 等),不依赖特定模型结构

局限与展望

  1. 多步模拟显著增加了校准阶段的时间(虽然内存 O(1),但计算量是 k 倍)
  2. 窗口大小 k 的最优值可能需要根据具体模型架构和采样步数调整
  3. 仅探索了 PTQ 方案——与量化感知训练(QAT)结合是否能获得进一步提升是开放问题
  4. 未在最新的 DiT 架构(如 SD3、FLUX)和 Flow Matching 模型上验证
  5. 校准数据的选择对性能的影响未充分研究——是否需要代表性的提示词?

相关工作与启发

  • Q-Diffusion:首个扩散模型 PTQ 工作,独立逐步优化的代表;AccuQuant 通过多步模拟在此基础上显著提升
  • PTQD:考虑了量化噪声的分布特性并进行校正,但仍然逐步独立操作
  • EfficientDM:探索混合精度量化,与 AccuQuant 正交可互补
  • 启发:误差累积的分析可推广到其他迭代推理过程——如 autoregressive 文本生成中每步解码的量化误差、iterative refinement 模型中的误差传播、以及 RL 中的策略量化等

评分

⭐⭐⭐⭐ (4/5)

理由:从"误差累积"这一深刻洞察出发的问题驱动研究,方法设计自然优雅。O(1) 内存优化是重要的工程贡献。实验在多种模型和任务上验证充分。主要扣分点在于缺乏在最新生成架构上的验证,且实验表格中部分 FID 数值未给出具体绝对值使可比性受限。