核心思路,按发生顺序讲
训练是正着跑的。拿一张真图,加一点噪声,再加一点,一直加到只剩雪花。在每个噪声档位上,网络看到这张带噪图,被要求预测「加进去的噪声是什么」。整个训练目标就这么简单,而它比对抗博弈好优化得多,这也是这条路线能扩展到几十亿张图的原因。
生成就是把这架梯子倒着爬:
- 从一片随机噪声出发,由种子固定。
- 结合提示词的条件,问网络「你看到的噪声是什么」。
- 减掉这份预测的一部分,落到一个稍微干净些的状态。
- 按你设定的步数重复。
- 从潜空间解码回像素。
有两个后果在日常使用里最要紧。第一,画面在很早就定了:构图和主体在前几步内基本落定,后面的步数主要在处理纹理。所以构图不对,加步数是救不回来的。第二,正因为步数很多,可插手的时机也很多,你手上所有的控制手段都来自这里。
每个参数究竟在动什么
| 参数 | 作用 | 常用范围 |
|---|---|---|
| 步数 | 去噪迭代多少次 | 20 到 40;蒸馏模型 1 到 8 |
| 引导强度 CFG | 每一步提示词的拉力 | 多数图像模型 4 到 8 |
| 种子 | 起始噪声场 | 需要复现就固定它 |
| 重绘幅度 | 输入图被推回噪声多远 | 做变体 0.2 到 0.4,重造 0.6 以上 |
| 调度器 | 步长分布与噪声重注入方式 | 跟模型走 |
最常见的两个误解,都来自把步数和引导当成「画质滑块」。步数是收敛预算,不是画质档位:图已经收敛之后,再加步数只会得到一张一样的图和一份更高的账单。引导是一个取舍,不是强度:往上拉换来的是跟随度,付出的是对比度、饱和度和硬边缘。
视频扩散是另一道题
视频扩散模型要去噪的是一叠互相自洽的帧。逐帧独立去噪会得到闪烁,所以这些模型要么加时序层,要么在自编码器里把时间当成第三个压缩轴,要么用能跨帧做注意力的 Transformer 主干。
这解释了视频生成为什么贵得多、单次时长为什么被压在几秒内,也解释了为什么一段片子靠后的帧比靠前的帧漂移更严重。同时它也点明了最锋利的那个控制手段:给一张首帧,等于把「长什么样」这个决定整个从模型手里拿走,只留给它解运动。
怎么把这些落到实操上
参数跟着模型走,不要跟着经验值走。 一个 turbo 版在 30 步、CFG 8 下的表现,会比它自己在 6 步、CFG 2 下更差。模型说明页存在是有原因的。
先诊断,再重摇。 发糊、没画完,是步数不够;烧焦、过饱和,是引导太高;跑题,是引导太低或提示词长过了文本编码器的上限;构图不对,问题在种子或缺少控制图,而不在参数。
一次只改一个变量,并且固定种子。 种子放开的情况下,每次对比都掺进了一片新噪声,这是得出关于某个参数的错误结论的最快方式。