扩散模型 diffusion model 怎么入门

模型与算力

给零基础的人拆解扩散模型的加噪去噪原理,并给出一条能自己跑起来的入门路径和资料挑选方向。

你可能在生图工具里天天见「扩散模型」这个词,但一打开论文就被马尔可夫链、变分下界、噪声调度表劝退。这篇不讲公式推导,先把「它到底在干什么」用加噪和去噪两句话说清,再给你一条从跑通现成模型到看懂原理的学习顺序,顺带说清哪些资料值得花时间、哪些是给已经入门的人看的。

你在生图工具里天天刷到「扩散模型」这个词,一打开论文就被马尔可夫链、变分下界、噪声调度表劝退,这很正常。先把结论放前面:它干的事用两句话就能说清——训练时把一张图一步步加噪,直到变成纯随机噪声;同时让模型学会反过来,从噪声一步步倒推回图像。生成的时候,就从一团随机噪声出发,反复去噪,最后得到一张图。

它和识别类模型的区别在于,它学的不是一个标签,而是一整条从噪声回到图像的路径。所以出图要迭代很多次,延迟和算力消耗天然比一次前向的分类模型高,这点在你挑工具、挑硬件、估成本的时候是有实际影响的。下面按「先跑通、再补原理、最后定标准、最后挑资料」的顺序讲一遍。

先用一句话说清它在干什么

把「加噪」和「去噪」这两件事想明白,扩散模型的骨架就清楚了。前向过程是固定的,不需要学,就是往图上不断叠随机噪声;反向过程才是模型真正要学的,它要预测每一步该怎么去掉一点噪声。训练目标说白了就是让预测的去噪方向和真实方向尽量一致。

前向加噪
按固定规则把图像一步步变成噪声,这一步没有可训练参数,只负责造训练数据
反向去噪
模型学习从带噪图像里估出该去掉的噪声,生成时反复调用它
噪声调度
决定每一步加多少噪声、总共加多少步,训练和采样都可能各用一套
条件控制
把文字、边缘、姿态等信号塞进去,影响每一步去噪往哪个方向走

为什么它慢?因为出图不是一次计算完事,而是要迭代几十步,每步都过一次模型。步数、分辨率、是否用条件控制,都会直接影响耗时。具体到某家服务的延迟和价格区间,别记我这里的说法,到 /price-watch 核对当时的数字更靠谱。

零基础的学习顺序:先跑通,再回头补原理

零基础最容易犯的错,是先啃数学再碰代码,结果卡在符号里出不来。建议反过来:先用现成模型把手感建立起来,知道自己每一步在调什么,再回头看原理,理解速度会快很多。

  1. 第一步:跑通现成模型选一个能本地或在线跑的扩散模型,完成一次出图。目标是能改提示词、能调步数、能换随机种子,看着结果变化。验证标准:同一个提示词换种子,出图明显不同,说明你确实在控制生成过程。
  2. 第二步:只补三块概念前向加噪、反向去噪、噪声调度。不要扩展,先把这三块能用自己的话讲一遍。验证标准:能解释为什么步数增加通常更精细但更慢,而不是越多越好。
  3. 第三步:看条件控制搞清楚文字、边缘、姿态这些东西是怎么影响去噪方向的。验证标准:同一条提示词加上不同的控制输入,出图结构发生可预期的变化。
  4. 第四步:再回去读原理这时候看论文里的公式,你会发现每个符号对应的是你已经在操作的东西,而不是天书。

什么情况下这套顺序不适用?如果你压根不需要自己搭流程,只是想用工具出图,那你不用懂原理,直接到 /tools 挑顺手的工具就行,硬啃理论是浪费时间。

学到什么程度算够用

入门不是学到某个章节就毕业,而是能用几条标准判断自己够不够用。下面这三条是操作层面的,做不到就说明还没到。三条都过,日常使用和选工具基本不会踩坑。

判断标准能做到什么样做不到会怎样
步数与耗时能说清步数、耗时、出图精细度之间的取舍关系盲目拉高步数,白等时间还以为在提升质量
问题归因遇到「模型不听话」能分清是提示词、控制条件还是采样设置的问题每次都靠乱改参数碰运气,效率极低
读页面信息能读懂一个模型页面标注的输入输出、限制和适用场景只看效果图就下单或选型,后面返工

不适用的地方也要说清楚:这三条只覆盖「用」的层面。如果你想自己训练、微调或者改网络结构,那还得补数学推导和代码能力,那是另一条路,别用这三条来衡量自己够不够。

资料怎么挑,别从最难的那本开始

  • 优先选带可运行代码的教程,理论卡住时先看它跑出来什么,再回看解释,理解成本低很多。
  • 论文按「综述 → 原始方法 → 你关心的改进方向」的顺序读,一上来读改进版最容易迷路。
  • 术语卡住随手查站内词典类页面,别在一个词上耗半小时,很多概念在上下文中自然就懂了。
  • 用「有没有覆盖条件控制这类主流做法」判断资料是否过时,只讲最早期版本、完全不提条件控制的可以直接跳过。
  • 同一主题别同时开三份教程,选一份跑通再换,来回横跳是最常见的时间黑洞。

挑模型和资料的时候,如果涉及价格、可用性、服务是否靠谱,别凭印象。模型的输入输出限制、当时的报价,到 /models 和 /price-watch 核对当时的数字;如果打算用中转服务,先去 /sites 看可信度信息,再决定要不要接进自己的流程。

下一步先把一个现成扩散模型跑通一次,再回来对照那三条判断标准。想省挑工具的力气,直接从站内工具目录和模型资料库看起,数字和现状都以页面当时显示为准。

常见问题

完全没数学基础能学扩散模型吗?

能用、能改、能看懂大致原理,但推不动公式。建议先按「跑通—理解加噪去噪—看懂控制条件」这条路走,把生成当黑盒用起来;等真有需要再补概率和微积分。记住目标不同要的深度不同,做应用和做研究不是一条线。

学扩散模型需要自己的显卡吗?

入门阶段不一定。先租卡或直接用在线平台跑小规模实验就够,等你确定要长期折腾再考虑本地配置。具体要多大显存、按什么量化跑,去 /models/deploy 按你要试的模型算一遍,别凭感觉买卡。

扩散模型和现在的大语言模型是一回事吗?

不是。大语言模型基本是一次前向逐 token 出结果,扩散模型是从噪声出发反复迭代去噪,迭代次数直接决定耗时。所以两者在延迟、算力开销和调参方式上差别很大,不能拿调大模型的直觉来调它,概念区分可以先在 /ai-dict 对照一遍。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。