扩散模型,例如DDPM和DDIM变体,以其生成高质量图像、音频及其他数据类型的能力而著称。与其他生成方法相比,它们通常能产生具有更好样本质量和分布覆盖度的结果。然而,这种高质量却要付出很大的计算代价,主要体现在生成(采样)阶段。扩散模型的核心机制涉及一个反向过程,该过程迭代地精炼一个噪声样本$x_T \sim \mathcal{N}(0, I)$,使其恢复到数据分布中的样本$x_0$。这个过程通常需要多次评估模型的神经网络(通常是U-Net或Transformer),在反向序列$T, T-1, \dots, 1$中的每个时间步$t$评估一次。标准的实现可能对DDPM使用1000个时间步。虽然像DDIM这样的更快采样器可以通过沿着轨迹进行更大的跳跃将步数减少到50-200步,但这仍然代表着大量的序列化网络评估。考虑生成一张图像。如果每次网络评估需要几毫秒,那么进行1000次评估则每张图像需要几秒钟。即使是50步,虽然是显著的改进,但与那些能够通过一次前向传播生成样本的模型相比,仍然是一个障碍。这种迭代、序列化的依赖性使得跨时间步的并行化变得不可能,从根本上限制了推理速度。这种多步采样过程造成了几个实际限制:延迟: 生成样本需要时间,对于高分辨率输出或长序列来说,通常需要几秒甚至几分钟。这种延迟限制了在实时或交互式应用中的使用,因为用户期望即时反馈。想象一下,如果尝试基于标准扩散模型构建一个交互式图像编辑器或实时音频合成工具,延迟会使其无法使用。计算成本: 每个采样步骤都需要通过通常大型神经网络的一次前向传播。将这些成本累积到多个步骤,会导致总体计算需求很高(GPU时长,能源消耗)。这影响了这些模型大规模部署或在资源受限硬件(如移动设备或嵌入式系统)上部署的可行性。训练本身已经资源密集;高推理成本又增加了另一层开销和部署复杂性。吞吐量: 序列化特性限制了样本的生成速率。这影响了需要高吞吐量的应用,例如为训练其他模型生成大型合成数据集,或为视频生成渲染帧。{"data": [{"type": "bar", "x": ["DDPM (典型)", "DDIM (快速)", "目标 (一致性)"], "y": [1000, 50, 2], "marker": {"color": ["#4dabf7", "#38d9a9", "#74b816"]}}], "layout": {"title": "每样本的相对推理步骤", "xaxis": {"title": "采样方法/目标"}, "yaxis": {"title": "网络评估大致次数(对数刻度)", "type": "log", "tickvals": [1, 10, 100, 1000], "range": [0, 3.1]}, "template": "plotly_white"}}不同方法在每样本生成中所需网络评估的大致比较。请注意Y轴的对数刻度,这显示了更快方法所追求的数量级差异。标准扩散采样的迭代特性与其他生成框架中常见的单步推理之间存在显著差距,这推动了对加速采样过程的研究。虽然像DDIM和更高级的ODE求解器(我们将在稍后讨论)等技术比原始DDPM提供了显著的加速,但即便如此,对更快生成的追求仍然很高,理想情况是接近单步推理,同时不显著降低扩散模型出色的质量。这就是一致性模型背后的主要动机。目标是开发一种方法,能够在一到少数几个步骤内将噪声直接映射到高质量样本,从而有效绕过传统扩散采样中固有的缓慢迭代精炼过程。后续章节将详细说明如何定义和利用“一致性特性”,以实现生成速度的显著提升。