Noise Schedule

noise schedule — расписание уровней шума по шагам генерации

Раздел
Сэмплеры
Обновлено
18.05.26

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 LightningBeta для лучших результатов.

Как это работает

Диффузия работает с величиной 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 для большинства моделей. Стоит экспериментировать только когда базовый набор не даёт нужного результата.