Noise Schedule
noise schedule — расписание уровней шума по шагам генерации
Noise Schedule — расписание уровней шума по шагам диффузии. На каждом шаге модели нужно знать, **сколько шума** должно быть в изображении сейчас и **сколько** убрать на следующем шаге. Schedule управляет этой кривой: быстро снижает шум в начале (Karras), плавно к концу (Beta), линейно (Linear). Влияет на детализацию, контраст, артефакты. Часто путают со scheduler — это смежные, но не идентичные понятия.
Коротко
Коротко. Noise Schedule — это кривая, по которой шум убывает от шага к шагу. Sampler берёт зашумлённый латент и за N шагов очищает до картинки; schedule говорит, на каком шаге какой уровень шума должен быть. Karras — быстрое падение в начале, мягкая концовка (стандарт). Beta — наоборот, плавное падение к концу. Влияет на контраст, гладкость, насколько модель «дорисовывает» детали в конце.
Что это такое
Дизайнер замечает странное: одни и те же промпт + модель + sampler + seed + steps дают разные картинки в ComfyUI и AUTOMATIC1111. Перебирает настройки. Совпадает всё — кроме одного выпадающего списка с непонятным названием «Schedule type» / «Sigmas». В Comfy стоит «Karras», в A1111 — «Normal».
Меняет в Comfy на «Normal» — получает идентичную картинку из A1111. Разница оказалась в расписании шума — той кривой, по которой sampler «теряет» шум за свои N шагов.
Noise Schedule — невидимая, но критическая часть процесса диффузии. Sampler говорит «возьми шумный латент, сделай шаг denoise»; Schedule говорит на сколько именно убрать шум на этом шаге.
К 2026-му главные расписания:
- Normal / Linear — равномерное убывание. Самое старое, простое.
- Karras — быстрее снижает шум в начале, плавнее в конце. Стандарт качества для большинства моделей.
- Exponential — экспоненциальная кривая, ещё агрессивнее в начале.
- Beta — плавная везде, особенно к концу.
- SGM Uniform — равные интервалы по sigma.
- Polyexponential — эксперименты, для специфичных моделей.
В FLUX используется свой simple schedule, у Stable Cascade — Karras по умолчанию, у SDXL Lightning — Beta для лучших результатов.
Как это работает
Диффузия работает с величиной sigma — стандартным отклонением шума на конкретном шаге. На шаге 0 (начало) sigma максимальная (например, 14.0 для SDXL); на финальном — около 0.
Schedule — это функция sigma(step), которая возвращает значение sigma для каждого из N шагов.
Примеры (для 20 шагов):
- Linear: sigma идёт
[14.0, 13.3, 12.6, 11.9, ..., 0.7, 0.0]— равные шаги. - Karras:
[14.0, 9.5, 6.2, 3.8, 2.2, 1.2, 0.6, 0.3, 0.1, 0.0]— крутое начало, плоская концовка. - Exponential: ещё более крутая кривая в начале.
- Beta:
[14.0, 13.5, 12.8, 11.7, 10.0, 8.0, 5.5, 3.2, 1.5, 0.5]— плавнее в конце.
Sampler и Schedule — отдельные оси настройки:
- Sampler = алгоритм перехода с шага N на N+1 (Euler, DPM++, Heun, …).
- Schedule = последовательность sigma-значений, по которым sampler идёт.
Можно комбинировать любой sampler с любым schedule. Стандартные пары: Euler + Normal, DPM++ 2M + Karras, LMS + Karras.
Пример на практике
Художник тестирует один и тот же промпт dramatic portrait, golden hour, sharp focus, detailed eyes на разных schedule'ах в ComfyUI:
Sampler: DPM++ 2M, 30 шагов, CFG 7.5, seed=42:
- Linear/Normal: Лицо чёткое, детали средние. Контраст обычный. Иногда «плоское» освещение.
- Karras: Чуть мягче переходы, чуть сильнее детализация на глазах и волосах. Больше «художественности». Стандарт для портретов.
- Exponential: Ярче контраст, больше артефактов на коже. Хорошо для драматичных сюжетов, плохо для нежных портретов.
- Beta: Очень плавная картинка, почти «акварельная». Отлично для FLUX.dev, который тренировался с Beta-расписанием.
Разница между Linear и Karras на хороших моделях — заметна, но не катастрофична. На плохо оптимизированных моделях (старые SD 1.4) Karras может дать сильное улучшение качества.
В ComfyUI schedule выбирается в самом ноде KSampler отдельной опцией. В AUTOMATIC1111 — комбинированные пресеты: «DPM++ 2M Karras» это sampler=DPM++ 2M + schedule=Karras.
С чем часто путают
- Noise Schedule и Scheduler — Scheduler в SD-сообществе часто означает то же, что и Schedule. Но в академических текстах Scheduler = алгоритм диффузии целиком, Schedule = только кривая sigma. Использование размыто.
- Schedule и Sampler — Sampler это как делать шаг (математика). Schedule — на сколько делать шаг (уровень шума). Перпендикулярные оси.
- Karras и DPM++ Karras — Karras это schedule. DPM++ Karras — это пара (DPM++ sampler) + (Karras schedule).
- Schedule и Steps — Steps — сколько шагов всего. Schedule — как распределить шум между этими шагами.
- Noise Schedule и Negative Prompt — никак не связаны. Schedule про математику, negative — про текст.
Частые ошибки и заблуждения
- «Karras всегда лучше». Не всегда. Для FLUX лучше Beta или Simple. Для специфичных тонко-настроенных моделей — Linear. Karras — хороший по умолчанию, но не универсальный.
- «Schedule не имеет значения». Имеет. Разница между Linear и Karras на 30 шагах — заметна на глаз. Для качественной работы стоит подобрать.
- «Чем больше шагов, тем меньше важен schedule». На большом числе шагов разница сглаживается, но не исчезает. На 100 шагах Karras всё равно даёт чуть больше деталей, чем Linear.
- «Schedule можно менять между шагами». Нельзя. Расписание задаётся целиком до старта sampling'а и не меняется. Поменять — это другой sampling-цикл.
- «Schedule зависит от seed'а». Не зависит. Schedule — детерминированная функция от количества шагов и параметров модели.
Связанные термины
- Sampler — отдельная ось, работает поверх schedule.
- Scheduler — часто синоним schedule в обиходе.
- Steps — определяет количество точек на кривой.
- Sigma — переменная, по которой строится кривая.
- KSampler — нода ComfyUI, объединяющая sampler + schedule.
- DPM++ 2M — самый частый sampler в паре с Karras.
- FLUX simple schedule — специфичное расписание для FLUX-моделей.
Частые вопросы
Какое расписание выбрать по умолчанию?
Для SD 1.5 / SDXL — Karras. Для FLUX.dev — Beta или Simple. Для FLUX.schnell — Simple.
Чем Karras лучше Linear? Karras крутая в начале, плоская в конце. Это совпадает с физикой диффузии: композиция меняется быстро, детали — медленно. Karras обычно даёт чуть больше детализации.
Можно ли использовать кастомное расписание?
Да. ComfyUI позволяет через ноду Custom Sigmas передать произвольный список sigma-значений. Полезно для экспериментов с очень короткими (3–5 шагов) пайплайнами.
Schedule влияет на скорость? Нет. Количество шагов одно и то же; меняется только распределение sigma по этим шагам. Время sampling'а почти идентичное.
Что такое «sigma_max» и «sigma_min»? Параметры schedule: максимальное и минимальное значение sigma (начало и конец кривой). По умолчанию они задаются моделью и обычно не меняются.
Зачем тогда столько разных расписаний? Каждое лучше для своего сценария: Karras для деталей, Beta для плавных переходов, Exponential для контраста. Karras стал стандартом, остальные — для тонкой настройки.
Главное
Noise Schedule — это расписание убывания шума в процессе диффузии. Sampler делает шаги по этому расписанию: берёт sigma на шаге N, идёт к sigma на шаге N+1. Karras — стандарт качества для SD 1.5 и SDXL: крутое падение в начале, плавная концовка, лучшая детализация. FLUX тренировался с Beta/Simple расписаниями — для него использовать их. Schedule и Sampler — перпендикулярные оси: алгоритм шага vs сколько шуму убрать. Хороший набор по умолчанию: DPM++ 2M Karras для большинства моделей. Стоит экспериментировать только когда базовый набор не даёт нужного результата.