CFG scale (Classifier-Free Guidance)
CFG scale (Classifier-Free Guidance) — параметр диффузионной генерации, задающий, насколько строго модель следует текстовому промпту. Низкие значения дают свободу и креатив, высокие — точное соответствие запросу, но риск артефактов.
CFG scale (Classifier-Free Guidance scale) — числовой параметр диффузионной генерации, определяющий баланс между следованием текстовому промпту и свободой модели. По сути это «сила убеждения»: насколько настойчиво нейросеть тянет результат к описанию в запросе.
Как работает Classifier-Free Guidance
Метод, предложенный Джонатаном Хо и Тимом Салимансом в 2022 году, на каждом шаге денойзинга делает два предсказания: одно с учётом промпта (conditional), другое — без него (unconditional). Итоговое направление вычисляется по формуле e = e_uncond + CFG × (e_cond − e_uncond). Чем больше CFG, тем сильнее генерация смещается в сторону условного предсказания, то есть промпта.
Влияние значений
- 1–3 — слабое следование: креативно, но промпт учитывается частично
- 5–8 — золотая середина для Stable Diffusion: баланс точности и естественности
- 10–15 — жёсткое следование: детали промпта проявлены, но растёт риск пересвета, кислотных цветов и артефактов
- > 20 — обычно «пережаривает» картинку: контраст зашкаливает, детали ломаются
Взаимодействие с другими параметрами
CFG scale работает в связке с числом шагов (steps), сэмплером и seed. Высокий CFG часто требует больше шагов, чтобы модель успевала «сгладить» агрессивное наведение. При работе в режиме image-to-image CFG влияет на то, насколько сильно промпт перекраивает исходник поверх заданной denoising strength.
CFG и негативный промпт
Значение unconditional-предсказания на практике заменяют на предсказание по негативному промпту. Тогда CFG усиливает не только притяжение к желаемому, но и отталкивание от нежелательного — поэтому при высоком CFG негативный промпт действует особенно заметно.
Отличия по моделям
Оптимальный диапазон зависит от архитектуры. Классический Stable Diffusion любит CFG 7, SDXL — 5–7, дистиллированные и turbo-модели (SDXL Turbo, некоторые FLUX-варианты) работают на CFG около 1–2, так как guidance встроен в обучение. Поэтому единого «правильного» значения нет — его подбирают под конкретную модель.
Практический вывод
Начинайте с рекомендованного для модели значения, меняйте CFG небольшими шагами при фиксированном seed и следите за балансом: если картинка «выгорает» — снижайте, если игнорирует промпт — повышайте.