CodexQA

行业与实践研究与基准测试

分支误差会互相抵消:京东用 37400 次复用核对 CFG 缓存风险

CodexQA 团队阅读约 4 分钟

京东云开发者社区用 FLUX、Wan2.1 和 CogVideoX 测 RA-CFGCache。FLUX 上 Slow 配置 3.19 倍加速、LPIPS 0.1137,低于接近加速比的 MagCache。37400 次复用里,风险估计和真实引导误差的相关从 0.6082 升到 0.7575。视频两项没有单独数字。

本文目录

分支误差会互相抵消:京东用 37400 次复用核对 CFG 缓存风险

京东云开发者社区在 2026 年 10 月 15 日放出 RA-CFGCache 的实验记录,作者写明论文已被 NeurIPS 2026 接收。它测的不是智能体会不会完成任务,而是扩散模型在无分类器引导(Classifier-Free Guidance,CFG,把有条件和无条件两路预测合成后再去噪)下,缓存能不能少算、又少把图和视频算歪。评测按同一提示词、同一随机种子,拿加速结果去比完整推理。

为什么不能只看单路误差

CFG 下模型要同时算条件分支和无条件分支。TeaCache、MagCache、DiCache 这类免训练缓存,靠相邻去噪步之间的冗余,复用历史特征或预测,用分支上的变化量决定何时复用。作者认为这漏了两件事。

第一是分支和引导对不上。两路各自的缓存误差,不能直接当成合成之后的引导误差。引导误差还看两路误差的方向是否对齐,合成时可能抵消,也可能放大。引导系数 s 大于 1 时,交叉项系数 2s(1-s) 为负:两路误差方向越接近,越可能抵消一部分;对齐变差甚至方向相反时,抵消变弱,甚至放大。

第二是局部和最终对不上。同一步的局部误差大小接近,后面的传播不同,最终画面差可以差很多。他们用单步扰动来看这件事:只在指定时间步复用一次缓存,其余步完整计算,再比最终结果和无缓存参考的差。传播增益被定义成最终偏差相对局部引导误差的倍数,并随去噪步呈系统性变化。

RA-CFGCache 不改原模型、采样时间表和 CFG 规则。它用现有缓存方法给出的轻量代理,估计从历史锚点复用到当前步时两路的风险,再乘上离线校准得到的跨分支对齐统计量,得到和 CFG 合成一致的引导风险。传播先验用幂律拟合,k 是递增的采样步索引,T 是总步数。在线控制器在每个复用区间里累计风险 R。新区间把当前步设为锚点并把累计清零。累计超过阈值 τ 就两路一起重算,并把当前步换成新锚点;没超过就两路一起复用,并把新增风险加进累计。默认是两路联合复用,而不是各管各的。

三套模型和一张消融表

三个模型都走 50 步去噪,跑在 NVIDIA H200 上。

  • FLUX.1-dev:200 条 DrawBench 提示词,1024×1024 图像。
  • Wan2.1-T2V-1.3B:100 条 VBench 提示词,832×480、81 帧视频。
  • CogVideoX-2B:100 条 VBench 提示词,720×480、49 帧视频。

指标是加速比、端到端延迟、LPIPS、SSIM、PSNR。加速比和 SSIM、PSNR 越高越好,延迟和 LPIPS 越低越好。基线是 TeaCache、DiCache、MagCache、TaylorSeer、HiCache、FasterCache,模型和提示词、采样配置对齐。RA-CFGCache 分 Slow 和 Fast:Slow 偏保真,Fast 偏速度。

正文里写出数字的是 FLUX.1-dev。Slow 在 3.19 倍加速下 LPIPS 为 0.1137。加速比接近的 MagCache 是 3.18 倍、LPIPS 0.1636,感知误差大约低 30.5%。Fast 把加速比拉到 3.95 倍。Wan2.1 和 CogVideoX 只写了「类似趋势」,没有单独的加速比和 LPIPS。延迟对 LPIPS 的曲线也没有逐点数字,只说在三个模型的测试区间里,相近延迟下感知误差更低,而且不是卡在某一个阈值上。

消融只在 FLUX.1-dev 上做,加速比几乎不动,LPIPS 在动:

CFG 风险组合传播重缩放加速比LPIPS
无无3.42×0.1732
有无3.41×0.1391
无有3.41×0.1423
有有3.43×0.1262

只加风险组合,LPIPS 从 0.1732 降到 0.1391。只加传播权重,降到 0.1423。两个一起是 0.1262。这张表说明两路信息互补,不是靠把加速比降下来换画质。主结果里 Slow 的 0.1137 和这张消融的 0.1262 不是同一组配置,不能横着比成「消融没打过主实验」。

风险估计对不对,以及文中没给的数

引导系数试了 1.5、3.5、5.5、7.5。作者只说这四档里效率和保真的权衡还在,没有按档列出加速比或 LPIPS。

引导风险是否贴近真实引导误差,用的是另一批样本:50 条独立测试提示词,产生 37400 次缓存复用。加上跨分支交叉项之后,估计和真实引导误差的 Pearson 相关从 0.6082 升到 0.7575,高风险事件检测的 AUPRC 从 0.5671 升到 0.6799。这 50 条不是上面那 200 条 DrawBench 的全量,不能把相关系数说成整个图像主实验的拟合度。

传播加权则看不同缓存阈值下,风险统计量和最终 LPIPS 的 Spearman 相关:从 0.6571 升到 0.9429。作者据此说传播权重更能反映「这种缓存配置最后会把画质带到哪」,不是再证明一次单步误差本身。

兼容性只做到能接上 TeaCache、DiCache、MagCache 的代理估计,并在测过的校准样本数量和子集上保持相对稳定。正文没有给出这些校准集的条数,也没有给出换代理之后各自的 LPIPS。

读的时候要守住的边界:对比对象是同一提示词和种子下的完整推理,不是人工偏好;视频两个模型没有单独数字;消融只有 FLUX;作者在页面上显示为 jd,下一篇才点明京东零售 AI Infra。页面没有禁止复制的声明。日期是社区页上的 2026-10-15,不在 7 月 1 日到 9 月 30 日的原窗口里,作为近三个月的替补。

出处:京东,京东云开发者社区,RA-CFGCache:面向无分类器引导的风险感知扩散模型缓存加速方法,2026-10-15,https://developer.jdcloud.com/article/4597

觉得有用,转给同事

微信扫码

用微信扫一扫,在手机上打开后即可转发。

用 RSS 订阅

提交勘误