低NFE生成 | 缓存机制

如何更快地生成出高质量的图像/视频一直是社区的核心追求。回顾早期的探索,研究者们主要致力于从数值分析的视角构建高效的 ODE Solver(如我们熟知的 DDIM, DPM-Solver, iPNDM),试图在数学上用更少的步数逼近真实分布。与此同时,蒸馏(Distillation) 也是立竿见影的手段。而在 FLUX/Wan 等大模型时代,缓存(Cache) 机制凭借其 免训练(Training-Free) 和 即插即用(Plug-and-Play) 的特性,迅速占据了一席之地。 当然,量化、分布式推理等手段也在百花齐放。但万变不离其宗,我们追求的终极目标始终是 效率与质量的平衡。 本文将聚焦于 缓存(Cache) 机制展开深度讨论。但我并不打算简单地罗列论文综述,而是想分享在进行相关研究时,对于这一领域评估标准与演进脉络的复盘与反思。 当我们打开一篇缓存相关的论文,最先映入眼帘的往往是两类指标:质量(Visual Quality) 与 效率(Efficiency)。 关于质量,我们有 CLIP Score, ImageReward, VBench 等常用指标,Cache 研究还会额外关注重建指标(PSNR/LPIPS)。然而,关于“效率”的定义,社区中却存在着某种“隐性的模糊”。 最常见的指标是 延迟(Latency) 和 加速比(Speedup)。这两个指标固然直观,但它们本质上是相对概念: 硬件依赖性: 同样的算法,在 H100 和 4090 上,甚至在不同的负载和显存状态下,延迟差异巨大。 基线的不透明: 加速比是一个极易被“基线(Baseline)”操控的相对指标。 让我们来看一个简单的算术题。假设我们的目标是生成一张质量达标的图: Case A: 你的基线 Solver 设置较为冗余,使用了 50步。你的 Cache 策略通过缓存,实际只计算了 10步(跳过了 40 步)。 Speedup=50/10=5.0× Case B: 你的基线 Solver 设置非常精简高效(例如 DPM-Solver),只用了 30步。你的 Cache 策略同样只计算了 10步(跳过了 20 步)。 Speedup=30/10=3.0× 乍一看,Case A (5.0x) 似乎比 Case B (3.0x) 厉害得多,是一项“重大突破”。但当我们剥离掉基线的干扰,回归到计算本质时,我们会发现:两者都需要 10 次网络推理,实际的推理延迟是几乎一样的。甚至 Case B 由于基线更强,最终画质可能反而优于 Case A。 因此,我认为衡量 Step-Level Cache 最诚实、最硬核的指标,应该是 NFE (Number of Function Evaluations),即 Denoising Network 实际完整运行的次数。这是一个绝对数值,它剥离了硬件和基线的干扰,直指计算成本的核心,同时也被ODE Solver相关研究广泛运用。 ...

2026年2月6日 · 雷明坤

科研工程化 101:服务器与环境配置

从 SSH、Conda、模型下载到 Slurm 任务提交与调试,梳理一套可复现、低摩擦的科研服务器工作流。

2026年2月4日 · 雷明坤

2025 回顾

写给自己的年度复盘:城市、研究、旅行与心态的变化,以及对科研方向的重新校准。

2026年2月2日 · 雷明坤