给每个频带发一块自己的表
扩散模型生成一张图,要把同一个庞大的 Transformer 反复跑几十遍,每遍只把画面往前挪一小步。挪一小步,代价却是整个前向网络——于是这几年出现了一批「抄近路」的方法:既然相邻两步的特征长得几乎一样,为什么不跳过一些步?
给每个频带发一块自己的表
扩散模型生成一张图,要把同一个庞大的 Transformer 反复跑几十遍,每遍只把画面往前挪一小步。挪一小步,代价却是整个前向网络——于是这几年出现了一批「抄近路」的方法:既然相邻两步的特征长得几乎一样,为什么不跳过一些步?
跳法分两派。缓存派直接抄上一步的作业:这一步的特征,上一步用过的那个,原样拿来。预测派更进一步:不光抄,还往前算——用已知的几步,外推出跳过的那些步该是什么。但两派撞上的是同一堵墙:跳得越多,错得越狠。
多伦多大学和三星多伦多 AI 中心的一篇新论文(一作 Javad Rajabi,实习期间的工作)把这堵墙拆开看了看,发现墙上其实写了两句话。第一句:你外推的时候,把所有频带当成一个东西。第二句:你计时的时候,用的是错误的钟。
两句话,两个错配
先看第一句。把模型每一步的输出(去噪网络预测的速度场)做二维离散余弦变换,拆成从低频到高频的分量,然后盯着每个频带在整段去噪过程中的轨迹看。论文里画了主成分轨迹,差异非常直白:低频成分——画面的大块结构、颜色、构图——开头几步变化剧烈,然后就趋于平静;高频成分——纹理、细节、边缘——开头几乎纹丝不动,到后半程才开始猛变。径向分组的频带里,最低的 B0 带第一步动的量最大,而 B6 带要等四十步之后才进入自己的活跃期。
一个统一的预测器要同时伺候这些时间表完全相反的乘客,只能取个折中的准头。这是空间维度上的错配。
再看第二句。现有的预测方法用采样器的步序号当时间坐标:第 10 步到第 20 步,和第 40 步到第 50 步,在坐标轴上等长。但去噪根本不是匀速运动——噪声调度器给出的 sigma 是非线性的,相邻两步之间「真实的去噪量」差得很多。拿等长的尺子去量一段变速的路,轨迹自然歪歪扭扭,跳步越远歪得越厉害。这是时间维度上的错配。
SpecKCast 的全部设计,就是对这两个错配各给一个对策。
给频带发表,给系数配滤波器
对策一:每个频带发一块自己的表。这块表不是拍脑袋定的,论文附录里给了一个很干净的推导:DCT 是正交变换,白噪声进去还是白噪声,所以噪声对每个频带的功率贡献一样大;但自然图像的能量天然集中在低频,信号功率随频率递减。于是每个频带在任何噪声水平下都有自己的信噪比,而信噪比的对数——log-SNR——就是该频带真实的去噪进度。换句话说,不要用步序号当时钟,让每个频带拿自己信噪比的对数当时钟。低频的钟和高频的钟走得不一样快,但各自的轨迹在自己的钟下都变得平滑好预测。
对策二:给每个系数配一个卡尔曼滤波器。经典得不能再经典的机制:滤波器的状态是两维——当前值,加变化率。每走一步(包括被跳过的步),用变化率外推当前值;每真正计算一步,用真实输出把状态校回来。外推看变化率,变化率本身带一个指数衰减项——离上次校准越久,旧的「惯性」权重越低,防止外推冲过头。这正是素材里那句「变化率自动衰减保证预测全程稳定」的数学形状:ν 变成 ν 乘上 e 的负指数。
内存的开销也在这一步做平了。给每个频带只维护一个协方差矩阵,同带的所有系数共享时间坐标和噪声统计——协方差矩阵的数量从「系数个数」降到「频带个数 L 个」。这就是 FLUX.1 上 5 MiB 额外内存的全部来源。最后再配一个不确定性调度器:把各带的预测误差方差加权求和成一个风险值,跳过的步越多风险涨得越高,涨到阈值才真正算一步。跳多跳少不再是拍脑袋的固定档位,是滤波器自己说了算。
整个过程不需要碰模型一个参数:DCT 进,卡尔曼跟踪,逆 DCT 出,全部发生在推理阶段。
数字
论文在 FLUX.1-dev(1024×1024)上列了一张 50 步参考、多档加速的对照表。参考图 11.7 秒一张;SpecKCast 在约 10 倍加速(3.4 秒)时 PSNR 还有 24.3,同一档位上,TeaCache 是 16.9,HiCache(用 Hermite 多项式做特征预测的 2026 年方法)是 18.0,SeaCache(谱滤波辅助缓存决策的另一个 2026 年方法)是 22.3,朴素不校准的基线只有 14.6。约 8 倍档,SpecKCast 21.8,对照组 14 到 19 之间。论文引言里自报的保守数字是「最高 6 倍加速、额外内存不到 0.05 GiB」——表格里实际的内存增量是 0.005 GiB,也就是那个 5 MiB。Qwen-Image 上有三档类似的结果,视频侧 Wan2.1-14B 和 HunyuanVideo 也在附录里。
值得注意的还有这张表背后的时间线:DeepCache 在 2024 年用手工规则加速 U-Net,TeaCache 用时间步嵌入的相关性决定何时复用,HiCache 和 SeaCache 都是 2026 年的方法。缓存到预测、复用到外推,这条赛道在两年里挤进来的方法一年比一年密,而 SpecKCast 交出的增量是把「在哪个空间预测」和「用什么钟预测」两件事分开处理——这听上去不像什么了不起的洞察,但同速位上,它对老一代基线的 PSNR 优势有七八个点,对最新的 SeaCache 也有约两个点。
一个 5 MiB 的外推器,几条教科书级的旧数学——DCT、卡尔曼滤波、信噪比——排在了一群 2026 年新对手的前面。
*信源:SpecKCast: Spectral Kalman Forecasting for Diffusion Acceleration(arXiv:2610.26837,2026-10-19,Rajabi/Karaimer/Lindell/Taati/Brown,多伦多大学+Vector Institute+三星 AI 中心多伦多,一作实习工作);文中数字取自其表 1 与引言(FLUX.1-dev 1024×1024,50 步参考);基线含 FORA、TeaCache、HiCache、SeaCache。*