M6-054M6: Multimodal & Generative ModelsGuidance & Fast Sampling (CFG / DDIM)Medium
Mastery:
Guidance & Fast Sampling (CFG / DDIM): 解释 guidance scale 的权衡。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: s 越大越贴合 prompt 但多样性下降、易过饱和;s 太小则忽略 prompt;需按任务调(常用 5~12)。
📌 Key Takeaways
- •s 小:忽略 prompt、结果多样但不对题
- •s 大:贴合 prompt 但过饱和(色彩过艳、结构僵硬)、多样性低
- •常用 5~12(SD 默认 7.5);需按任务与模型调
📐 Mathematical Derivations
数学机理:<strong>s 的双向效应</strong>——CFG 的组合为 ε̂=ε(∅)+s(ε(c)−ε(∅))。(1) <strong>s 太小</strong>(如 <3)——条件影响弱,生成结果'接近无条件分布'(多样但与 prompt 关联弱);s=1 时完全无引导。(2) <strong>s 适中</strong>(如 7~12)——良好的 prompt 遵循与合理多样性(默认区间)。(3) <strong>s 太大</strong>(如 >15)——(a) <strong>过饱和(oversaturation)</strong>——颜色过艳、对比度过高(因为放大了'超出数据分布的方向',导致像素值饱和);(b) <strong>结构僵硬/重复</strong>——过度优化条件导致'模式坍缩'(不同种子给出相似结果);(c) <strong>不自然</strong>——违背物理/解剖(如多手指、扭曲);(d) <strong>多样性崩塌</strong>。<strong>为什么 s 过大产生伪影</strong>——从 score 视角:s>1 时组合为 (1−s)∇log p(x)+s∇log p(x|c),其中 (1−s)<0 意味着<strong>减去无条件分布</strong>('远离通用图像');s 越大'远离'越多,导致样本落在数据分布的<strong>低密度区域</strong>(不自然、过饱和)。<strong>如何选择 s</strong>——(a) <strong>经验区间</strong>(SD 1.5/SDXL 常用 7~7.5;SD3/Flux 等新模型常用 3.5~5,因为它们训练更好、对引导依赖低);(b) <strong>按任务调</strong>——(i) 需要严格遵循 prompt(如产品图)→ s 大一些;(ii) 需要多样性/艺术性 → s 小一些;(c) <strong>动态 s</strong>——不同时间步用不同 s(如前期大、后期小,避免过饱和);(d) <strong>自动选择</strong>——用'CFG rescale'(对引导后的结果做尺度校正,避免过饱和)或'自适应引导'。<strong>缓解过饱和的技巧</strong>——(a) <strong>CFG rescale(--cfg-rescale)</strong>——把引导后的预测的<strong>标准差</strong>重新缩放到'无条件预测的标准差',避免过饱和;(b) <strong>动态阈值(dynamic thresholding)</strong>(Imagen 的做法)——对预测的 x_0 做分位数截断;(c) <strong>更小的 s + 更好的模型</strong>(新模型对引导的依赖更低)。<strong>与其他旋钮的交互</strong>——(a) <strong>步数</strong>——s 大时可能需要更多步(因为每步'走得更远');(b) <strong>调度</strong>——不同调度的'信噪比分布'影响 s 的效果;(c) <strong>参数化</strong>(ε/v)——影响引导的数值行为。<strong>实践建议</strong>——(a) 从 7.5 起步(旧模型)或 4~5(新模型);(b) 若过饱和则 (i) 降低 s、(ii) 开 CFG rescale、(iii) 用动态阈值;(c) 若忽略 prompt 则提高 s(但注意上限);(d) <strong>记录 s</strong>(因为它显著影响结果,评测时需报告)。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'s>1 意味着减去无条件分布'</strong>——这是理解过饱和的钥匙:s 越大'越远离通用分布',故落到低密度区(不自然)。② <strong>'新模型对引导依赖更低'</strong>——因为训练更好、条件遵循更强;故 s 的默认值在下降(7.5 → 3.5~5)。③ <strong>'CFG rescale 是实用技巧'</strong>——它几乎零成本地缓解过饱和(把引导结果的尺度拉回无条件预测的尺度);应在 s 较大时开启。④ <strong>'多样性 vs 遵循的权衡是根本</strong>——CFG 无法同时最大化两者;故需按应用选点(产品图重遵循、艺术创重多样)。⑤ <strong>'评测必须报告 s'</strong>——不同 s 的结果差异巨大;不报告 s 的评测不可比。⑥ <strong>面试要点</strong>——被问'guidance scale 怎么调',应给出'<strong>s 小忽略 prompt、s 大过饱和与多样性崩塌、常用 7~12(新模型 3.5~5)</strong>'与'<strong>过饱和的机制(减去无条件分布 → 低密度区)+ 缓解(CFG rescale / 动态阈值)</strong>';能指出'新模型 s 默认值下降'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕把 s 调得过大(过饱和、多样性崩塌)
- ✕评测时不报告 s(结果不可比)
🎯 Interviewer Follow-ups
- ?为什么 s 过大产生过饱和?
- ?如何自动选 s?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.