CodingTour
扩散模型推理计算 Scaling 的新探索

Inference-Time Scaling for Diffusion Models beyond Scaling Denoising Steps

https://arxiv.org/abs/2501.09732

论文表明,推理时 scaling 对扩散模型也是有效的,虽然去噪步骤的增加在达到某个阈值后会趋于平稳,但增加推理时间可以显著提高扩散模型生成的样本质量。

扩散模型的核心思想是从一个初始噪声开始,通过不断地逆向扩散过程使噪声逐步变清晰,最终生成高质量的如图像、音频等数据样本。研究表明,这些噪声并不是等价的,某些噪声能带来更好的生成结果,这使扩散模型除了通过增加去噪步骤实现 scaling 外,有了另一个 scaling 维度 — 在采样过程中搜索更好的噪声,这种方法不仅能有效利用计算资源,也能真正改进模型的性能:

为了实现这种改进,作者提出了建立搜索框架,并为该框架考虑了两个设计轴:

  1. verifiers:验证器,为搜索结果提供反馈
  2. algorithms:搜索算法,用于找到更好的噪声候选项

论文提到了三种验证器:

  • Oracle Verifier
    • FID:使用预计算的 ImageNet Inception 特征统计量(均值和协方差)作为参考,计算生成样本的特征统计量与参考统计量之间的差异,分数越低表示样本质量越高
    • IS:使用预训练的 InceptionV3 模型输出的分类概率,选择对应于条件类别的最高概率作为分数,分数越高表示样本质量越高
  • Supervised Verifier
    • CLIP:使用预训练的 CLIP 模型,通过零样本分类器(zero-shot classifier)或特征相似性来打分,零样本分类器通过提示工程(prompt engineering)生成的嵌入权重,计算生成样本的特征与类别标签的相似度,分数越高表示样本与文本条件的对齐度越高
    • DINO:使用预训练的 DINO 模型的线性分类头,计算生成样本的特征与类别标签的相似度,分数越高表示样本质量越高
  • Self-Supervised Verifier
    • 特征相似性:计算生成样本在低噪声水平下的特征与最终生成样本的特征之间的余弦相似性,分数越高表示样本质量越高

验证器根据不同的标准为接收到的每个样本输出一个作为评分的标量,然后用分数指导搜索算法改进采样。大致步骤:

  1. 生成候选样本:从一组随机噪声中生成候选样本,这些噪声可以是初始噪声,也可以是在采样过程中注入的噪声
  2. 评估候选样本:使用验证器对每个候选样本进行评估,计算每个样本的分数,分数反映了样本的质量和与条件信息的对齐度
  3. 选择最佳噪声:根据验证器的分数,选择得分最高的噪声作为最终生成样本的噪声,可以是简单的 Best-of-N 选择,也可以是更复杂的迭代优化过程
  4. 迭代优化:对于 Zero-Order Search 和 Search Over Paths 等算法,分数不仅用于选择最佳噪声,还用于指导迭代优化过程

论文提到的三种搜索算法:

搜索算法流程
Random Search随机生成一组噪声使用这些噪声生成样本使用验证器为每个样本打分选择得分最高的噪声作为最终生成样本的噪声
Zero-Order Search从一个随机噪声开始在该噪声的邻域内生成一组候选噪声使用验证器为每个候选样本打分选择得分最高的候选噪声作为新的噪声重复步骤 2~4,直到达到预定的迭代次数
Search Over Paths从一组随机噪声开始,生成初始样本在每个初始样本的采样路径上生成一组候选噪声使用验证器为每个候选样本打分选择路径上得分最高的候选噪声作为新的噪声重复步骤 2~4,直到达到预定的迭代次数

总的来说,该团队探索了在扩散模型上进行推理时计算 scaling 的有效性,提出了一种新的框架,通过精心设计的验证器和搜索算法,可以在推理阶段显著提升扩散模型的性能,而不仅仅是增加去噪步骤的数量。该框架在多个基准测试中表现出色,揭示了不同验证器和算法组合在不同任务上的表现差异,强调了为特定任务选择合适验证器的重要性。

这些结果具有重要的实践意义:生成阶段增加计算量,可以显著提升扩散模型生成样本的质量,这种推理时的计算扩展能够充分利用训练阶段投入的大量计算资源,从而实现更高效、更高质量的样本生成。