标准回答
出发点:把多步积分压成一步映射
扩散/Flow 模型采样慢,是因为要沿概率流 ODE(probability flow ODE)的轨迹从纯噪声逐步积分回数据点,每步一次网络前向,总共几十到上千步。一致性模型(Consistency Models)的思路是绕过逐步积分,直接学习这条轨迹的「解」。
核心:一致性函数
定义一致性函数 $f(x_t, t)$,目标是把概率流 ODE 同一条轨迹上任意时刻的带噪点 $x_t$,都映射到该轨迹的起点——即 $t\to 0$ 的干净样本。训练施加「自一致」约束:同一轨迹上相邻(或任意)两个时间点经过 $f$ 后输出应一致,并用边界条件钉住 $t=0$ 处输出等于自身。学好后,从纯噪声 $x_T$ 一次调用 $f$ 即可得到样本,实现单步生成。
训练方式与多步细化
可从一个训练好的扩散模型蒸馏(用其 ODE 求解器产生轨迹上的配对点做监督),也可独立从零训练。为兼顾质量,可做 few-step 采样:先一步到样本,再加噪到某中间时刻、再映射回,迭代 2~4 步即可显著提升保真度,在速度与质量间灵活权衡。
常见误区
⚠️ 常见踩坑
一致性模型不是「把扩散步数调小」那么简单——它学的是从任意噪声点直达轨迹起点的映射;也别混淆 consistency distillation(从现成扩散蒸馏)与 consistency training(独立训练)两条路径。
追问
追问 1:一致性模型和 DDIM 等快速采样器有什么本质区别?
DDIM/DPM-Solver 仍是在数值求解概率流 ODE,只是用更高阶、更稀疏的步长把步数降到 10~50 步,本质还是「多步积分」。一致性模型直接学一个把轨迹上任意点映射到起点的函数,目标是 1 步出图,是把求解过程「摊销」进网络,而非更聪明地积分。
追问 2:consistency distillation 和 consistency training 有何不同?
追问 3:为什么 few-step 比单步质量更好?
单步要求网络一次性把纯噪声精确映射到数据流形,误差较大。few-step 做「映射—再加噪到中间 t—再映射」的迭代,每轮在更接近数据的分布上细化,逐步纠正误差,因此 2~4 步即可明显提升保真度,代价是多几次前向。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。