第 5 章面试题库:90 秒答案与追问¶
用途:把第 5 章知识压缩成面试语言。
方法:先自己答,再看参考;每题至少练 3 遍。标记:S = 必须熟练;A = 高频;B = 加分。
1. 本章 4 道核心题¶
| 题号 | 题目 | 重要度 | 主材料 |
|---|---|---|---|
| A7 | SD vs DALL·E 2 | S | 5.3 |
| A10 | SDXL 的核心优化 | S | 5.1 |
| A11 | SD3 的核心优化 | S | 5.2 |
| D6 | GAN vs Diffusion | A | 5.3 |
2. A10:SDXL(S)¶
90 秒版¶
“SDXL 不是单点改动,核心是四块:第一,双文本编码器,CLIP-L + OpenCLIP bigG,token 特征拼接,pooled embedding 加到时间步条件;第二,更大的 UNet,提升容量;第三,micro-conditioning,把原图尺寸、裁剪坐标、目标尺寸作为条件,解决多宽高比/裁剪偏差;第四,base + refiner 两阶段,base 出结构,refiner 低强度精修细节。再加上 1024 原生训练、多宽高比 bucketing 和更好的 VAE/数据。它不是只变大,而是文本条件、条件设计和训练一起升级。”
追问 1:micro-conditioning 解决什么?¶
训练随机裁剪导致构图偏移;告诉模型裁剪信息,让它学会补偿。
追问 2:refiner 必须吗?¶
不必须;base 能出图,refiner 主要提升局部细节,代价是延迟/显存。
追问 3:SDXL 解决 77 token 了吗?¶
没有;仍是 77 token,只是双编码器更丰富;长文本靠 SD3 的 T5。
3. A11:SD3(S)¶
90 秒版¶
“SD3 从 SDXL 的 UNet + cross-attention 转向 MMDiT + Rectified Flow。MMDiT 把文本和图像 token 分别投影后拼在一起做联合 self-attention,不同模态用不同 QKV/MLP,双向交互,比单向 cross-attention 表达力更强,也更容易 scale。训练目标改成 Rectified Flow:\(x_t=(1-t)x_0+t\epsilon\),网络回归速度 \(\epsilon-x_0\),采样用 Euler/Heun 解 ODE,轨迹更直、少步更容易。文本侧加了 T5-XXL 补长文本/组合推理,VAE 改成 16 通道改善重建。SD3 Medium 约 2B,Large 约 8B。”
追问 1:MMDiT 和 cross-attn 的区别?¶
Cross-attn 是图像查文本、单向;MMDiT 是联合 attention、双向。
追问 2:Flow 是 Diffusion 吗?¶
同属连续生成模型;Flow 是确定性路径 + 速度回归,采样解 ODE。
追问 3:为什么加 T5?¶
CLIP 77 token/组合性限制;T5 更适合长文本、计数、文字。
4. A7:SD vs DALL·E 2(S)¶
90 秒版¶
“两者都用 CLIP 文本编码器、都用扩散、都用引导,但路线不同。SD 是 Latent Diffusion:VAE 把图像压到 latent,UNet 去噪,文本 token 通过 cross-attention 注入,没有 prior。DALL·E 2 是 unCLIP:先用 prior 把文本嵌入映射到 CLIP 图像嵌入,再用 diffusion decoder 以图像嵌入为条件生成,低分辨率扩散后超分到 1024。SD 开放权重、可控性强,能接 LoRA/ControlNet;DALL·E 2 闭源 API,控制有限。两者不是同一个架构。”
追问 1:DALL·E 2 为什么需要 prior?¶
文本/图像嵌入有模态 gap;prior 学文本到图像嵌入的映射。
追问 2:SD 为什么不需要 prior?¶
它用 cross-attention 直接把文本 token 注入图像特征。
追问 3:两者共同点?¶
CLIP、扩散、CFG、大规模图文对。
5. D6:GAN vs Diffusion(A)¶
90 秒版¶
“GAN 用生成器和判别器对抗训练,学隐式映射,一步出图,快、锐利,但训练不稳定、容易模式坍塌。Diffusion 学逐步去噪,训练目标稳定、模式覆盖通常更好、条件控制自然,但采样慢。实际系统会混合,比如 VQGAN 用 GAN 提升重建,或少步扩散用对抗蒸馏。”
追问 1:为什么 Diffusion 稳定?¶
每步有明确去噪目标,不需要判别器动态信号。
追问 2:Diffusion 一定更好吗?¶
不;实时/特定域 GAN 仍有优势。
追问 3:为什么 Diffusion 慢?¶
多步迭代,每步一次网络;可蒸馏加速。
6. 延伸题:8 个高频追问¶
Q1:SDXL 的 VAE 和 SD1.5 一样吗?¶
都是 4 通道/8 倍,但 SDXL 训练了更好的 VAE;SD3 改用 16 通道。
Q2:SDXL 的 refiner 是什么?¶
一个低强度 img2img 的精修模型,接在 base latent 后。
Q3:MMDiT 为什么用 QK norm?¶
稳定大模型训练,控制 attention logits 尺度。
Q4:Rectified Flow 的采样一定 1 步吗?¶
不一定;通常 1–8 步,取决于模型/训练。
Q5:SD3 还用 CLIP 吗?¶
用 CLIP-L + OpenCLIP bigG,再加 T5。
Q6:DALL·E 2 的 decoder 条件是什么?¶
CLIP image embedding,不是文本 token 级 cross-attn。
Q7:DALL·E 2 为什么先生成低分辨率?¶
降低扩散成本,再用超分到 1024。
Q8:GAN 和 Diffusion 能混合吗?¶
能,VQGAN、对抗蒸馏、扩散教师 + GAN 学生。
7. 追问树:A11¶
SD3
├── 架构:UNet → MMDiT
│ ├── 文本/图像 token 联合
│ └── 不同模态投影
├── 训练:DDPM → Rectified Flow
│ ├── x_t=(1-t)x0+tε
│ └── v=ε-x0
├── 文本:CLIP + T5
└── VAE:4ch → 16ch
8. 15 分钟模拟面试脚本¶
| 时间 | 内容 | 目标 |
|---|---|---|
| 0–2 | 自我介绍 | 建立上下文 |
| 2–5 | A10 | SDXL |
| 5–8 | A11 | SD3 |
| 8–12 | A7/D6 | 路线对比 |
| 12–15 | 追问 + 反馈 | 深度/表达 |
9. 练习方法¶
- 看答案,标关键词;
- 遮住答案,90 秒复述;
- 录音,回听卡壳;
- 找人追问“为什么”。
背“结构 + 3 个关键词 + 1 个公式”,不要背全文。