一句话定义
CFG(Classifier-Free Guidance)= 每步去噪时同时算"有条件"与"无条件(负)"两个方向,按 ε = ε(c−) + s·(ε(c+) − ε(c−)) 放大两者的差值——s 就是 cfg 参数,它是"听提示词的力度"旋钮,也是"炸图"的头号元凶。
为什么重要
- 解释了负面提示词为什么"有效"(CLIP 与条件编码:文字如何变成方向 的续篇)。
- 不同家族的 cfg 习惯值差异巨大(SD 系 5-8、Flux=1、Turbo 1-2),照搬参数是新模型翻车的常见原因。
- 过曝/过饱和的修复(RescaleCFG、降 cfg)是排障高频操作(故障排查手册:症状→原因→修法)。
前置知识
CLIP 与条件编码:文字如何变成方向(正负条件)、KSampler 全参数解剖:seed/steps/cfg/denoise(KSampler 参数)。
核心概念
- 无条件项 ε(c−):并不真是"无条件",而是把负面提示词编码后的方向;sd 系经典实现里,空白负面 ≈ 无条件基线。
- 差值放大:
cfg=7意味着"正负差异放大 7 倍"——提示词的每个特征都被强调 7 倍。 - 家族差异:
- SD1.5/SDXL:cfg 4-8 为主战场,负面提示词必需; - Flux:经 guidance 蒸馏,cfg=1(无负引导),由独立的 FluxGuidance 节点控制"引导值"(dev 推荐 3.5 左右,见 Flux 架构与工作流:cfg=1 的新物种); - LCM/Turbo 蒸馏:cfg 1-2。
原理与机制
每步: ε_pos = MODEL(x, t, c+) ε_neg = MODEL(x, t, c−)
ε = ε_neg + cfg · (ε_pos − ε_neg)
cfg=1 → 纯正条件(无引导) → 蒸馏家族的常态
cfg↑ → 服从性↑ 但分布外偏移↑ → 过曝、高对比、撕裂过高引导的本质:放大的差值向量把采样点推出模型训练分布,表现为颜色溢出、锐化过度、"塑料感"。RescaleCFG 节点(见 模型采样补丁:ModelSampling/RescaleCFG/FreeU)通过压缩离群幅度缓解,但根治靠降 cfg 或换引导策略。
公式 / 模型 / 图示
cfg=1 无引导,服从性弱,多样性最高
cfg=5-8 SD 系甜点:服从与自然的平衡
cfg=12+ 强服从,高风险区(炸图/过曝)
Flux: cfg 恒 1,"引导"由 FluxGuidance 的 guidance 值承担(蒸馏进模型)直观类比
cfg 是甲方改稿的强势程度:1 = 画师自由发挥;5-8 = 明确需求下保留画师发挥;15+ = 每一笔都要按甲方说的来——结果就是画师崩溃,画面用力过猛。负面提示词是"需求单上的禁止事项",cfg 决定这些禁止事项被放大多大声。
实例与案例
- 画面"酱油色、高饱和":先把 cfg 从 8 降到 6,或加 RescaleCFG(multiplier≈0.7);比调提示词立竿见影。
- Flux 出图灰淡?那不是 cfg 问题——Flux 固定 cfg=1,调
FluxGuidance的 guidance(2.5-4),并在提示词里直接描述想要的对比度。 - 负面"擦不掉"某个元素:降低该元素出现概率的正确顺序:改正面描述 → 负面提权 → 局部重绘清除;单纯堆负面收益有限。
常见误区
- "cfg 越高越清晰":高 cfg 换来的是"服从"不是"清晰";清晰度归 steps/sampler/分辨率管。
- 在 Flux/Turbo 上调 cfg:恒为 1,调它无意义(甚至破坏蒸馏);用对应的引导节点。
- 负面提示词当橡皮擦:它只是把整体方向拉离负面;精准移除对象请用重绘或 region 控制。
- RescaleCFG 当万能滤镜:它治"过曝症状",不治"引导过头"的根因。
自测题
- 写出 CFG 公式,并解释 cfg=1 时发生什么。
- 为什么 SD 系"没有负面提示词"效果通常更差?
- 过曝图的第一处置动作是什么?
- FluxGuidance 的 guidance 与 cfg 是什么关系?
参考答案
- ε = ε_neg + cfg·(ε_pos − ε_neg);cfg=1 时 ε=ε_pos,即纯正条件引导,负方向不参与。
- 没有负面项时差值缩小、引导力弱,提示词服从性下降;基线负面对比之下结果更"脏"。
- 降 cfg(如 8→6),或叠 RescaleCFG 压缩离群幅度,再查提示词权重。
- 二者是不同参数:cfg 在蒸馏家族恒为 1;guidance 是蒸馏进模型的引导强度,由 FluxGuidance 节点调节(常用 2.5-4)。
与其他知识点的关系
- 提示词工程:权重、结构与负面写法 的权重语法与 cfg 在每一步叠加生效。
- 模型采样补丁:ModelSampling/RescaleCFG/FreeU 的 RescaleCFG/ModelSampling 是本页问题的工程补丁。
- Flux 架构与工作流:cfg=1 的新物种 是"cfg=1 家族"的代表案例。
延伸阅读
- Classifier-Free Guidance 原论文:arxiv.org/abs/2207.12598
- ComfyUI 文档 Guidance 相关节点说明
前置知识
CLIP 与条件编码:文字如何变成方向KSampler 全参数解剖:seed/steps/cfg/denoise
关联知识点
提示词工程:权重、结构与负面写法模型采样补丁:ModelSampling/RescaleCFG/FreeUFlux 架构与工作流:cfg=1 的新物种