生成更快,先从换一种走法开始
现在已有完整的预测—更新循环。上排展示五张状态图,之间有四个更新箭头;第一张是起点,不是一次预测产生的结果。在本页每个箭头对应一次模型调用的约定下,五张状态只需四次调用。下排三张状态对应两次调用,才是另一种真正减少计算步骤的计划。少展示两张中间图,不会自动少做任何一次计算。
DDIM 所代表的思路,是在合适的训练构造与参数化下复用预测器,改变更新规则和取用的时刻,研究能否用更少步骤完成生成。它不只是播放时跳帧;实际下一状态的计算已经不同。减少调用可能带来更快推理,也可能增大离散更新误差,必须在相同任务与预算口径下测量质量和耗时。
有一个容易混淆的理论区别:每个时刻的一组样本怎样分布,和一条样本从前一时刻怎样走到后一时刻,并不是同一对象。在相应连续时间设定、正确 score 与满足所需条件时,随机过程和确定过程可以对应相同的时刻边缘分布,却有不同的样本轨迹。分布关系不能被缩成“固定同一个随机起点,二者就走同一条路、得到同一张图”。
“图上两条计划画到同一个终点,已经证明少步一样好吗?” 没有。课堂把终点对齐,是为了比较计划,不能替代误差验证。真实模型给出的方向本身可能不准确,这是模型误差;有限步数求解带来的偏差是数值误差。换一个更好的求解器可以减少后一类,却不会自动消除前一类。
真实系统还应记录网络调用数,而不只记更新步数:有的求解器每步会评估多次,有条件引导也可能需要额外分支。墙钟时间还包含每次调用的工作量、批量和设备条件。本页的四次与两次只是画面明确规定的简单计划,不是某一方法的测速结果。
更少调用是一种价值,但生成还要守住输入要求。下一页把“更听话”与对象完整、候选多样分开检查。
画面怎样推进
第1步
起点加四次更新形成五个状态,在本页约定下对应四次调用。
打开这一停点第2步
改变实际更新计划和时刻可以减少调用,不是少展示几张状态图。
打开这一停点第3步
示意终点对齐不证明质量相等;模型误差、数值误差和实际耗时仍需测量。
打开这一停点学习材料
与当前画面直接相关
少展示两帧,真的少算了两步吗?
五张状态图之间只有四个箭头:在每箭头一次预测的简单计划中,需要四次更新。若只隐藏中间帧,后台仍算这四步,速度没有改变;真正跳步必须选更稀疏的时间网格,并按相应公式计算下一状态,误差也随之改变。
计成本还要说明一次调用做多少工作。四个双分支CFG更新时间需要八份分支预测;实现可将两支合到一次批量前向,得到四次调用,但每次处理两份输入。网络调用数、更新时间、批量与墙钟时间不能混称一个“步数”。
接着读:DDIM如何改变路线与CFG的分支代价。
连续阅读
CLS 05 · 扩散:训练、采样与少步生成
按连续正文理解这条方法的训练信号、使用过程与算例;数学与实践在相关问题旁展开。
先看:第5章,从对象和问题开始
阅读与实践
LAB 09 · 学得去噪器与完整采样
固定初始噪声,仅改采样步数;把网络近似误差与数值步进误差分开。
先看:先看保存结果与读图解释
在 Deepnote 阅读与运行LAB 05 · 扩散的条件均值与流积分
先读本册保存结果,再按实现顺序核对一个算例;最后只改一个变量。
先看:先看保存结果与读图解释
在 Deepnote 阅读与运行来源与进一步阅读
Denoising Diffusion Implicit Models
确认DDIM怎样复用训练目标并改变生成过程;区别真实减少调用与展示跳帧。
先看:第3–4节
相关材料
LAB 05|条件均值、噪声预测与流积分
改变积分步数或方向,区分这个可解玩具问题的数值误差与一般模型质量。
先看:第3节与“只改一个变量”
DERIV 01|SDE 与 ODE 的分布与路径
区分同一时刻的边缘分布与单条路径,核对从逆 SDE 到概率流 ODE 为什么还要改变漂移。
先看:SDE 与 ODE:可以同边缘,却不同路径
