跳转至

Accelerating Diffusion Models via Equal-Risk Caching

会议: ECCV2026
官方论文: 5300
论文: 论文 PDF
作者: Can Zhang、Liangshun Zou
领域: 扩散模型推理加速
关键词: 特征缓存、等风险调度、离线风险探测、累计误差代理、图像与视频生成

一句话总结

ERC 只探测一种缓存长度下各时间位置对最终输出的影响,把得到的一维风险曲线累加后等分刷新预算,以低于完整区间搜索的离线成本获得有竞争力的缓存日程,例如 FLUX.1 [dev] 在 15 次刷新预算下达到 3.23 倍加速、LPIPS 0.1954。

研究背景与动机

扩散模型每一步去噪都要执行昂贵的网络前向,但相邻步骤的中间特征往往相近。因此,特征缓存可以保留采样步骤,只在部分步骤重新计算重型网络,其余步骤复用先前特征。真正决定质量的往往不是“能不能缓存”,而是“在哪些步骤必须刷新”:对最终图像影响大的阶段若连续复用过久,局部偏差会沿采样轨迹传递;相对稳定的阶段若刷新过密,又浪费计算预算。

固定间隔策略把所有时间位置当成一样敏感。TeaCache、DiCache 等在线方法通过局部信号决定是否刷新,成本较低,但单步变化较小不代表一整段复用后的最终偏差也小。LeMiCa 更直接地测量不同起点、不同长度缓存区间造成的最终输出误差,再搜索全局日程;代价是必须建立二维区间风险图,候选起点和长度一多,离线探测成本随之增长。

ERC 的观察是:不同缓存区间的真实输出偏差,与沿时间轴累加的某种一维风险信号有较强正相关。于是没有必要把所有区间都测一遍,可以先用统一长度的缓存探测识别时间敏感性,再把刷新集中到累计风险增长快的区域。核心 idea:用固定长度探测建立可累加的时间风险代理,在风险轴上而非时间轴上等分刷新预算,从而低成本地生成全局非均匀缓存日程。

方法详解

整体框架

ERC 输入一个预训练扩散模型、指定采样配置、少量离线提示词、探测长度和刷新预算,输出一组完整前向计算的时间位置。离线阶段先以未缓存生成结果为参照,逐个移动固定长度的缓存窗口,测量最终输出偏差;随后累加风险并寻找等风险分界点。在线生成时直接执行该日程,刷新步更新缓存,其他步骤复用缓存,不需要为每个新提示词重新执行整套探测。

这里的时间索引是采样执行顺序,从 0 到最后一步,不要与扩散方程里从噪声时间向数据时间倒推的记号混淆。ERC 主要改变“何时完整计算”,不是训练一个新去噪器,也不是把 50 步采样直接缩减成 15 步。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["模型与离线提示词<br/>探测长度、刷新预算"] --> B["固定长度探测"]
    B --> C["累计风险代理"]
    C --> D["等风险预算划分"]
    D --> E["调度与复用解耦"]
    E -->|刷新步| F["完整计算并更新缓存"]
    E -->|缓存步| G["复用残差或结合 DCTA"]
    F --> H["推进采样并生成输出"]
    G --> H

关键设计

1. 固定长度探测:用最终输出偏差识别时间敏感性

先生成一份完全不缓存的参照输出。对某个起点,只在从该点开始的一段连续步骤中启用缓存,其他位置仍执行正常计算,最终生成另一份输出,再用 LPIPS 比较两者。这个量不是当前层特征变化,也不是当前步骤的噪声预测误差,而是这个缓存窗口经过后续去噪传播之后造成的感知偏差。因此,即便探测窗口不长,观测目标仍然是最终输出。

完整风险图需要遍历“起点 × 缓存长度”。ERC 固定一个探测长度,在不同起点重复同样的实验,把每个位置的测量结果当作风险信号。各位置接受同样长度的扰动,便于比较哪里更敏感。这里的 ground-truth risk 只是相对于原始模型输出的真实测量值,不意味着以真实照片或人工偏好作为真值。长度 5 在 FLUX 消融中效果最好,但它是经验配置,并非适用于一切模型和采样器的理论常数。

2. 累计风险代理:把昂贵的区间评价压成一维可累加信号

记未缓存输出为 \(x_0\)、仅在起点 \(t\) 连续缓存 \(l\) 步得到的最终输出为 \(x_{t,l}\)。原文式 (4) 至式 (6) 的核心关系可合写为:

\[ \mathcal{E}(t,l)=\operatorname{LPIPS}(x_{t,l},x_0),\qquad r(t)=\mathcal{E}(t,l'),\qquad H(t,l)=\sum_{u=t}^{t+l-1}r(u). \]

固定探测长度 \(l'\) 后,任意候选区间不再需要重新生成输出才能评分,而是累加区间内的一维风险值。这个代理把“多少步没有刷新”转成“经过了多少敏感区域”:两个同样长的窗口,穿过高风险阶段的那个会获得更高的累计风险。前缀和又让区间风险可由两端累计值相减得到,不必反复扫描区间。

关键前提是累计代理与真实区间偏差具有经验相关性,而不是两者数值相等。原文用 FLUX 的散点图和探测长度消融支持这一点,没有证明真实感知误差具有可加性,也没有给出最终完整缓存日程的严格误差上界。复杂度从 \(O(TL)\) 降为 \(O(T)\) 应理解为:固定离线提示词数量时,待评价的起点与长度组合从二维枚举变为每个起点一次探测。每次探测仍涉及生成输出,并非整个离线校准只需一次正常采样;若候选长度数 \(L\) 不随 \(T\) 增长,也不应一概称原方案为关于 \(T\) 的二次复杂度。

3. 等风险预算划分:让刷新密度跟随风险而非固定步距

原文规定初始步骤必须完整计算,故累计风险从第 1 步前的零值开始,排除初始步骤的缓存风险。按照 Algorithm 1,预算 \(B\) 表示返回的刷新边界数量,其中第一步固定为 0,最后一步固定为 \(T-1\);除初始刷新外,以剩余预算确定风险刻度。用 \(R(t)\) 表示步骤 \(t\) 之前的风险前缀和,核心规则为:

\[ \Delta R=\frac{R(T)}{B-1},\qquad t_i=\min\{t\mid R(t)\geq i\Delta R\}. \]

直观上是在累计风险轴上放置均匀刻度,再反查这些刻度对应的时间位置。风险曲线陡峭时,很少几步就越过一个刻度,刷新自然变密;风险增长慢时,需要走更多步骤才越界,缓存区间自然拉长。改变预算只需改变风险刻度并重新取边界,不需要重新测量所有候选区间。

由于时间是离散的,只能找到第一个越过刻度的位置,实际分段风险通常是近似相等。原文算法还显式把最终边界设为 \(T-1\),因此不能把未经端点处理的阈值反查结果直接当作可运行日程。原文对极端情况下多个阈值落入同一时间点、以及零总风险的处理没有展开;这些是复现时需要明确的边界条件。等分的是代理风险,不是为每段真实 LPIPS 分配一个可保证满足的上限,也不是证明得到全局最优刷新集合。

4. 调度与复用解耦:同一刷新集合可以搭配不同缓存规则

决定了刷新位置之后,还要决定缓存步“怎样使用旧特征”。默认设置沿用 LeMiCa,复用最近一次完整计算留下的残差缓存。更复杂的方案可以利用最近两次完整计算的特征来外推变化;论文在 Qwen-Image 和 Wan2.1 上还考察了来自 DiCache 的 DCTA,即动态缓存轨迹对齐。ERC 没有重新发明 DCTA,也没有把它作为建立风险曲线的必备模块。

这种区分直接影响实验解读:比较 ERC 和 LeMiCa 的默认复用版本,更接近在比较调度;比较 ERC 与 ERC+DCTA,则可以观察固定调度下复用策略的额外收益。不能把组合方法的全部提升都归因于等风险划分,也不能认为一张在特定复用策略下测得的风险曲线已经被证明能无条件迁移到任意缓存机制。

一个完整示例

以论文的 FLUX 配置为例,原始推理保留 50 个采样步骤,探测长度取 5,离线提示词数量消融中的 10 条设置复现了主表数据。先逐个移动五步缓存窗口,测量各位置对最终图像的影响,再把所得风险曲线累加。给定 \(B=15\),算法保留初始刷新,并用 \(R(T)/14\) 作为风险刻度,最后固定末步刷新。

推理遇到日程中的刷新位置时执行完整网络并替换缓存,其他位置继续推进采样但复用旧残差。高敏感时间段因此更频繁地获得新特征,稳定时间段则连续复用更久。该配置报告延迟从 15.60 秒降至 4.83 秒。论文正文没有列出完整的 15 个刷新索引,因此这里不编造具体日程。

损失函数 / 训练策略

ERC 无需训练或微调,也不增加训练损失。LPIPS 在这里是离线探测的评价量,不是用于更新模型权重的优化目标。需选择的主要配置是探测长度、离线提示词数量、刷新预算及缓存复用规则;风险曲线与被校准的模型和采样设置关联,跨配置直接复用并非已验证保证。

实验关键数据

主实验

图像实验使用 DrawBench 的 200 条提示词;视频实验随机选取 VBench 的 200 条提示词,生成 480×832、81 帧视频。默认原始采样为 50 步,并启用 FlashAttention-2。FLUX 和 Qwen-Image 使用 RTX PRO 6000 96GB,Wan 使用 RTX 4090D 24GB;FLUX 默认关闭 CFG 无条件分支,另两者保留该分支。不同模型间的绝对延迟不能直接作为架构效率比较。

LPIPS 越低越好,SSIM、PSNR 越高越好,三者都以未缓存结果为参照,主要衡量输出一致性,不等同于独立的生成质量或提示词遵循能力。下表摘自原文 Table 1;每组内部使用相同刷新预算和分辨率。

模型 / 预算 方法 LPIPS SSIM PSNR 延迟(秒) 加速比
FLUX 1024×1024 / 15 LeMiCa 0.1857 0.8637 24.9852 4.83 3.23×
FLUX 1024×1024 / 15 ERC 0.1954 0.8628 25.4227 4.83 3.23×
FLUX 1024×1024 / 26 LeMiCa 0.0886 0.9354 30.1025 8.21 1.90×
FLUX 1024×1024 / 26 ERC 0.0816 0.9442 31.5304 8.21 1.90×
Qwen 1664×928 / 17 LeMiCa 0.1506 0.9234 27.9708 15.94 2.84×
Qwen 1664×928 / 17 ERC 0.1268 0.9316 27.6859 15.94 2.84×
Qwen 1664×928 / 17 LeMiCa+DCTA 0.1194 0.9344 28.5831 15.94 2.84×
Qwen 1664×928 / 17 ERC+DCTA 0.0842 0.9477 28.9992 15.94 2.84×

视频结果摘自 Table 2。VBench 是综合视频评价指标,不能把同分解释成人工评审认为视频完全相同。

Wan2.1-T2V-1.3B / 预算 17 LPIPS SSIM PSNR VBench(%) 延迟(秒) 加速比
Original 不适用 不适用 不适用 74.80 276.58 1.00×
LeMiCa 0.1622 0.8912 29.5242 73.98 101.73 2.72×
ERC 0.1642 0.8890 29.3016 74.08 101.73 2.72×
ERC+DCTA 0.1242 0.9179 30.6336 74.80 101.73 2.72×

消融实验

下表摘自 Table 3,在 FLUX 上仅改变探测长度。两列预算对应固定的 3.23× 与 1.90× 加速,不能跨预算把质量差异归结为探测长度。

探测长度 B=15 LPIPS B=15 SSIM B=15 PSNR B=26 LPIPS B=26 SSIM B=26 PSNR
1 0.2333 0.8475 25.2465 0.1199 0.9279 30.8135
3 0.2117 0.8547 25.3649 0.0960 0.9385 31.2367
5 0.1954 0.8628 25.4227 0.0816 0.9442 31.5304
7 0.1990 0.8603 25.0275 0.0891 0.9400 31.1941
9 0.2082 0.8486 24.3353 0.0920 0.9361 30.6320
11 0.2186 0.8415 24.0448 0.0997 0.9284 29.5831

关键发现

  • 长度 5 在两个预算的三项指标上都最好。作者解释短窗口可能低估非线性累计偏差,长窗口可能混合不同敏感区域;这是经验解释,不是误差展开的理论结论。
  • Table 4 中,B=15 时离线提示词从 1 条增加到 10 条,LPIPS 从 0.2350 降至 0.1954;增加到 50 条为 0.1926。少量代表性提示词已有作用,但收益并非所有指标严格单调。
  • Table 5 的 200 条 GenAI 分布外提示词上,B=26 时 ERC/LeMiCa 的 LPIPS 为 0.0822/0.0921;B=15 时则为 0.1988/0.1960。分布迁移结果支持一定稳健性,不支持“所有预算全面胜出”。
  • Table 6 在 Qwen 的 DPM-Solver++ 2M、30 步设置下,ERC 达到 LPIPS 0.0694、1.95× 加速,MagCache 为 0.0708、1.95×。这组均直接复用残差且不使用 DCTA;作者说明因 LeMiCa 未公开 DAG 构建代码,未能在该设置可靠复现它。

亮点与洞察

  • 把调度所需信息压缩成一条可复用的风险曲线。预算调整不再等于重建二维误差图,适合需要多个质量档位的推理服务。
  • 探测的是缓存对最终输出的影响,却只保留低维时间结构。这介于即时局部阈值和全面区间搜索之间,代价与效果的取舍很明确。
  • 固定预算与复用策略分开比较,使性能来源更容易辨认。可迁移的思路是先检查任务风险能否由低维累计量近似,再考虑采用预算分区,而不是直接照搬某个刷新间隔。

局限与展望

  • 代理成立依赖经验相关性。正文未给出真实误差可加性、最终误差上界或最优性证明;强非线性阶段和缓存区间之间的相互作用可能破坏代理,值得加入在线偏差监测。
  • 离线成本仍需完整生成探测结果。论文报告探测组合数量的渐近降低,但未提供校准墙钟时间、峰值资源消耗和服务调用多少次才能摊平成本的分析。
  • 实验证据覆盖三种模型、提示词数量、OOD 与少步设置,但没有展示所有模型上完整的探测长度稳健性,也未报告重复实验方差或置信区间。尤其很小的指标差值不宜被解读为稳定显著优势。
  • 指标主要测量与原始输出的一致性。VBench 补充视频质量评价,但仍缺少系统人工偏好、文本遵循和更长视频测试;复现还需补清离线提示词聚合、靠近末尾的探测窗口以及离散阈值重复命中的细节。

相关工作与启发

  • 与 LeMiCa 对比:LeMiCa 显式评价区间并做图搜索,ERC 用累计代理和等风险分区替代昂贵的风险图构造。后者离线探测更省,但并没有在每个预算、每项质量指标上都胜出。
  • 与 TeaCache、DiCache 对比:它们利用在线信号估计当前是否适合缓存,ERC 预先决定全局日程。DCTA 来自 DiCache,可以作为 ERC 的复用组件,调度竞争与组件兼容并不矛盾。
  • 与 TaylorSeer 对比:TaylorSeer 关注根据特征变化趋势进行外推,ERC 关注完整计算的位置。后续可研究二者如何联合校准,而不是默认不同外推策略共享相同风险分布。
  • 与少步采样对比:DPM-Solver++ 等方法减少数值求解所需步骤,ERC 降低保留步骤中的计算成本。30 步实验说明二者可以组合,但并未证明在极少步蒸馏模型上仍有相同缓存空间。

评分

  • 新颖性: 4/5。一维累计风险与等质量分区为全局调度提供了简洁的新切入点,但依赖经验代理,未建立严格优化保证。
  • 实验充分度: 4/5。图像、视频、探测长度、提示词数量、OOD 和少步设置覆盖较全,缺少校准实耗及统计不确定性。
  • 写作质量: 4/5。动机、算法和对照关系清楚;预算与边界记法及若干复现细节仍需更明确。
  • 价值: 4/5。无需训练且支持多预算日程,适合把昂贵离线调度简化为可部署的缓存策略;实际收益应计入校准成本。