一、一句话理解 Diffusion:从噪声"雕刻"出图像
想象一块大理石——米开朗基罗说"雕像本来就在石头里,我只是把多余的部分去掉"。Diffusion 模型做的事一模一样:
- 先给它一张完全随机的噪声图(就像一块原石)
- 再给它一个文字指令(雕刻方向,例如"一只戴眼镜的柴犬")
- 模型执行 N 步去噪,每一步都"擦掉一点不该有的噪声",让图像越来越清晰
- N 步之后,图像浮现
为什么要分成很多步?因为一次性从纯噪声变出完整图像太难——把任务拆成"每步只优化一点点",每一步的模型负担都很小,训练和推理都稳定。这是 Diffusion 能压 GAN 一头的核心原因之一。
二、训练阶段 vs 推理阶段
两阶段镜像,理解任何一端另一端就通了:
训练时模型学的是"给我一张带噪声的图,你告诉我里面有多少噪声";推理时把这个能力反复调用,每调一次减掉一部分,图就出来了。推理步数(steps)本质就是"调多少次",20-30 步一般就够——不是越多越好,到一定步数后收益递减。
三、Latent Diffusion:SD 之所以能跑在家用显卡上
原始的 Diffusion 直接在像素空间去噪——512×512×3 有 78 万维,VRAM 和时间都顶不住。Stable Diffusion 的关键突破:先用一个 VAE 把图像压到 latent 空间(8×64×64 ≈ 3 万维),在那里做 diffusion,最后再用 VAE 解码回像素。
四、为什么 Diffusion 打败了 GAN
| 维度 | GAN | Diffusion |
|---|---|---|
| 训练稳定性 | 难,动辄崩溃(mode collapse) | 稳定,loss 单调下降 |
| 样本多样性 | 有 mode collapse 风险 | 天生覆盖整个分布 |
| 文本控制 | 难加入 text condition | classifier-free guidance 原生支持 |
| 可控性 | 靠 z 空间插值,难精确 | ControlNet / LoRA / Inpaint 生态完整 |
| 速度 | 单次 forward 就出图,快 | 要 N 步,慢(但有 LCM/Turbo 加速) |
Diffusion 唯一输的就是推理速度,但工业上能做很多事情来弥补——这也是后面 LCM、Turbo、投机采样这些技巧出现的原因。
五、模型家族全景(2024-2026 主流)
| 模型 | 架构 | text encoder | 分辨率甜点 | 显存门槛 | 定位 |
|---|---|---|---|---|---|
| SD 1.5 | U-Net | CLIP-L | 512 | 4-6GB | 古董但生态最全,LoRA/插件几万个 |
| SDXL 1.0 / Turbo | U-Net(更大) | CLIP-L + CLIP-G | 1024 | 8-12GB | 质量跃升,商用主力 |
| SD3 / 3.5 Medium/Large | DiT(MMDiT) | CLIP-L+G + T5-XXL | 1024 | 12-24GB | Stability AI 新一代,长 prompt 强 |
| Flux.1 [dev] / [schnell] | DiT(改进) | CLIP-L + T5-XXL | 1024-2048 | 16-24GB | Black Forest Labs,当前最强开源 |
| Pony V6 / Illustrious | SDXL 微调 | CLIP-L + CLIP-G | 1024 | 8-12GB | 二次元/NSFW 专精 |
| Hunyuan DiT / Wan | DiT | 多语 | 1024 | 12-24GB | 国产,中文理解好 |
| LCM / Turbo / Lightning | 蒸馏版 SDXL | 同上 | 1024 | 8GB | 1-4 步出图,实时场景 |
① 4-6GB 老卡、只想玩玩 → SD1.5 + Realistic Vision / AnythingV5
② 8-12GB 主流卡、商用质量 → SDXL(Juggernaut/DreamShaper)或 Pony(二次元)
③ 16GB+ 想要当前最强画质 → Flux.1 dev
④ 实时/批量低延迟 → SDXL Lightning(4 步)或 LCM
六、Checkpoint / VAE / Refiner / Base:词汇表
七、ComfyUI vs WebUI(AUTOMATIC1111):为什么选 ComfyUI
| 维度 | WebUI (A1111/Forge) | ComfyUI |
|---|---|---|
| 界面 | 表单 + 滑块,上手 5 分钟 | 节点图,上手半小时 |
| 可重现 | 靠截图+参数记忆 | 工作流 = JSON,可版本控制 |
| 灵活度 | 固定 pipeline | 任意拼 pipeline,Flux/视频/新模型第一个接入 |
| 性能 | 慢,重启频繁 | 图节点缓存,同参数秒出 |
| API | 有但粗糙 | 原生 HTTP/WS,prompt JSON 直接跑 |
| 社区 | 最大,插件多 | 增长最快,新特性率先 |
| 适合 | 小白玩票 | 工程化、生产、自动化 |
这本教程主轴是 ComfyUI——但原理部分在哪个 UI 都通用。
八、一张图看清 ComfyUI 的"最小"文生图工作流
这张图你先不用细看——第 2 章会带你手把手搭。现在建立印象:模型 + 正反 prompt + 空 latent(画布) + 采样器 是一切 SD 图像生成的四大件。
九、显存、硬盘、模型大小账
| 资源 | 最低 | 舒服 | 豪华 |
|---|---|---|---|
| VRAM | 4GB(SD1.5 fp16) | 12GB(SDXL + 1-2 LoRA) | 24GB+(Flux dev / 视频) |
| RAM | 16GB | 32GB | 64GB(大模型切换) |
| 硬盘 | 50GB(两三个 checkpoint) | 500GB(10+ checkpoint + LoRA 库) | 2TB+(视频/Flux 生态) |
ComfyUI 有
--lowvram / --medvram / --novram 三档;GGUF/NF4 量化版 Flux 能把 12GB 模型塞进 6GB;社区还有 MultiGPU 节点做跨卡分片。实在不行,用云——第 12 章讲 RunPod Serverless 起价 $0.00044/秒。
十、本章小结 + 下一章预告
① Diffusion = 反复"预测噪声 + 减去一部分",从随机噪声雕出图像。N 步推理,文字 prompt 在每一步决定方向。
② Stable Diffusion 的突破是 latent diffusion——在压缩后的 latent 空间里做去噪,家用显卡就能跑。
③ 模型家族按升级顺序:SD1.5 → SDXL → SD3 / Flux。选型看显存和用途,不追最新。
④ ComfyUI 相比 WebUI 的核心优势:工作流 = JSON,可版本化、可 API 调用、灵活度极高——工程化的唯一解。
下一章我们装 ComfyUI,跑第一张图——你会看到上面这个"模型 + 正反 prompt + 空 latent + 采样器"四大件真实长什么样。