一致性模型是加快扩散模型生成过程的一大进展。它们的主要优势在于学习一个函数 f(xt,t),该函数能将概率流 ODE 轨迹上的任意点 xt 直接映射到其起点 x0,理论上使得单步生成样本成为可能。然而,如同机器学习 (machine learning)中的许多优化方法,这种显著的加速并非没有代价。在推理 (inference)速度(函数评估次数,即NFE)与生成样本的感知质量之间存在一种固有的权衡。
单步生成:极致加速
一致性模型的理想情况是单步生成。给定一个噪声样本 xT∼N(0,I)(其中 T 为最大时间),理论上,我们只需评估一次一致性函数:x^0=f(xT,T),即可直接得到样本 x0。
与传统DDPM或DDIM采样器所需的数百或数千步相比,这显著降低了计算成本。然而,在这一单步中获得的质量很大程度上取决于一致性函数 f 的学习情况,无论是通过从教师扩散模型进行蒸馏,还是通过独立训练。
在实践中:
- 学得的函数 f 是一个近似。训练中的不足、模型容量的限制或数据分布的复杂性意味着 f(xt,t) 可能无法将每个点 xt 完美地映射到其轨迹的精确起点 x0。
- 与高质量扩散模型经多步生成的样本相比,单步样本有时会呈现细微的伪影、略低的细节逼真度或较差的连贯性。
- 尽管可能存在不足,但质量通常非常不错,适用于对生成速度有高要求的应用,例如实时交互或生成大量初始草稿。
少步优化:弥补不足
为了在保持显著速度优势的同时提升单步质量,一致性模型可用于少步生成过程。这通常涉及一种迭代优化过程,类似于DDIM采样,但使用的是一致性模型 f。
A common approach for K-step sampling involves:
- 选择一个时间步序列 T=tK>tK−1>⋯>t1>t0=0。
- 从 xtK∼N(0,I) 开始。
- 从 k=K 迭代到 1:
- 使用一致性函数估计起点:x^0=f(xtk,tk)。
- 执行一步(类似于DDIM步,可能涉及添加噪声),根据 x^0 和 xtk 得到 xtk−1。例如,一种简单方法可以直接使用估计的 x^0 并添加与 tk−1 相对应的适当缩放噪声以得到 xtk−1。更精细的方法可能会融合 xtk 和 x^0。
即使步数较少(例如 K=2 到 10),这种优化过程也常常能显著提升样本质量。每一步都有助于纠正前一次估计的误差,通过多次运用所学的一致性性质,有效地使样本更接近高保真度。这让用户可以在速度-质量谱系中进行选择,通过少量步数达到符合其需求的平衡。
权衡的可视化
函数评估次数与样本质量之间的关系可以通过图表说明。质量常用弗雷歇起始距离(FID)等指标衡量,该指标值越低表示与训练数据的感知相似度越好。
FID 分数通常随函数评估次数的增加而降低(改善)。一致性模型在单步中即可达到不错的质量,并通过少量优化步骤迅速提升,在极低NFE计数下明显优于标准扩散模型。标准扩散模型需要更多步才能达到相近或更优的质量。
影响平衡的因素
有几个因素决定了特定一致性模型实现在此速度-质量曲线上的位置:
- 训练质量: 教师模型(在蒸馏中)的逼真度或独立训练方案的有效性直接影响学得一致性函数 f 的准确性。更好的训练带来更好的单步质量。
- 模型架构: 用于一致性模型的网络容量和设计起着作用。更大或更精细的架构可能更准确地学习一致性映射,但会增加每次评估的成本。
- 数据集复杂度: 与简单数据集相比,生成高分辨率、多样化图像通常能从多步优化中获得更多益处。
- 优化步数: 这是最直接的控制机制。选择 1、2、5 或 10 步可以根据应用需求明确地平衡速度与质量。
实际考量
部署一致性模型时,NFE的选择取决于应用场景。
- 实时生成或交互系统: 单步生成可能是唯一可行的选择,需要接受相应的质量水平。
- 离线批量生成: 使用 2-10 步优化可显著提升质量,同时计算时间仍远低于传统扩散。
- 与替代方案比较: 尽管DPM-Solver++等高级采样器也降低了标准扩散模型的NFE(通常降至15-30步),但一致性模型进一步拓宽了这一界限,特别是对于个位数NFE的情况。模型蒸馏(第6章涉及)提供了另一种实现更快推理 (inference)的途径,有时与一致性技术互补。
总之,一致性模型提供了一种强大的机制,可大幅降低基于扩散的生成模型的采样计算成本。虽然单步生成提供了最大的加速,但可能涉及质量上的妥协。少步优化技术允许灵活平衡,在大幅提升质量的同时,相比传统迭代扩散采样保持显著的速度优势。理解这种权衡对于在实践中有效使用一致性模型非常重要。