Steps

sampling steps — число итераций генеративного процесса

Раздел
Параметры
Обновлено
11.08.26

Steps — число итераций, за которые sampler переводит шум в изображение. Больше шагов обычно означает больше вычислений, но улучшение быстро выходит на плато. Ускоренные и дистиллированные модели рассчитаны на свой диапазон и не используют настройки базовой модели автоматически.

Коротко

Коротко. На каждом sampling step модель оценивает, как изменить текущий noisy latent. Первые итерации обычно задают крупную структуру, последующие уточняют детали. После определённой точки дополнительные шаги почти не помогают, а иногда меняют удачное изображение к худшему.

Что именно считается шагом

Sampler проходит по расписанию уровней шума. На каждой итерации он обращается к denoiser и обновляет latent.

У разных алгоритмов один записанный step может требовать разного числа оценок сети. Поэтому точнее сравнивать не только steps, но и NFE — number of function evaluations. Два sampler с одинаковым числом шагов могут выполнять разный объём работы.

Steps, sampler и scheduler

Эти параметры связаны:

  • Sampler задаёт численный метод обновления latent.
  • Scheduler распределяет уровни шума по траектории.
  • Steps определяет, на сколько участков разбита траектория.

Число шагов нельзя оценивать отдельно от двух других. Один sampler может быстро выйти на устойчивый результат, другому понадобится иной диапазон.

Что меняется по ходу генерации

Упрощённо:

  • ранние шаги формируют расположение крупных объектов;
  • средние закрепляют форму, свет и цвет;
  • поздние уточняют текстуры и мелкие границы.

Это не строгие независимые стадии. Модель способна перестроить объект и ближе к концу, особенно при сильном guidance или необычном scheduler.

Точка насыщения

При малом числе шагов изображение может остаться грубым или не следовать условию. Затем качество растёт, но всё медленнее. После плато дополнительные итерации в основном тратят время.

Точка зависит от:

  • архитектуры и checkpoint;
  • sampler и scheduler;
  • CFG или другого guidance;
  • размера и сложности сцены;
  • способа distillation;
  • img2img strength и начального шума.

Поэтому универсальный совет «всегда ставить N» не переживает смену модели.

Дистиллированные модели

Некоторые модели и адаптеры специально обучают для короткой траектории. Они могут выдавать связный результат за несколько итераций, потому что это часть их обучения.

Просто уменьшить steps у обычной базовой модели — не то же самое. И наоборот, добавить десятки шагов ускоренному варианту обычно не возвращает качество его основы и может нарушить ожидаемую траекторию.

Наглядный пример

Художник выбирает один prompt, seed и размер, затем строит контактный лист с несколькими значениями steps. Остальные параметры остаются фиксированными.

Он смотрит:

  • когда появляется правильная композиция;
  • на каком шаге перестают улучшаться лицо и мелкие формы;
  • не начинается ли лишняя резкость или изменение цвета;
  • сколько времени добавляет следующий уровень.

Рабочим становится наименьшее значение, которое стабильно проходит критерии на нескольких seed.

Скорость

При неизменном pipeline время denoiser обычно растёт примерно вместе с числом его вызовов. Но весь процесс включает загрузку модели, text encoding, VAE, ControlNet, upscale и сохранение. Поэтому удвоение steps не обязано удвоить полную задержку запроса.

Для короткой генерации постоянные накладные расходы особенно заметны. Измерять лучше после прогрева и отдельно сохранять время sampling.

Steps в img2img и inpainting

В img2img важен ещё denoise strength: он определяет, с какого участка шумовой траектории начинается работа. Интерфейсы могут по-разному переводить сочетание strength и steps в фактическое число вызовов.

Для воспроизводимости сохраняют не только видимый steps, но и sampler, scheduler, strength, версию ноды и модель.

Steps в ComfyUI

KSampler и похожие ноды передают число шагов sampler. Custom samplers могут использовать собственные sigmas, разделять base/refiner или по-разному считать начало и конец траектории.

Если workflow использует два sampler, общая работа — сумма их вызовов, а не число из одной ноды. Удобно подписывать этапы и сохранять промежуточный latent для сравнения.

Частые ошибки

  • Считать больше шагов безусловно лучше. После плато выигрыш исчезает.
  • Переносить число между моделями. Дистилляция и scheduler меняют рабочий диапазон.
  • Сравнивать разные seed. Нельзя понять, помогли шаги или изменилась стартовая случайность.
  • Игнорировать NFE. Алгоритмы делают разное число вызовов на один step.
  • Менять steps вместе с CFG и sampler. Причина изменения теряется.
  • Считать полное время строго линейным. В pipeline есть другие этапы.

Частые вопросы

Сколько steps нужно?

Стартовый диапазон берут из карточки точной модели, затем находят плато на серии seed. Это надёжнее общей таблицы по брендам.

Почему после увеличения стало хуже?

Модель могла уйти от удачного состояния, усилить артефакт или работать вне режима, для которого обучалась. Проверьте sampler, scheduler и guidance.

Steps повышает разрешение?

Нет. Разрешение задаёт размер latent. Дополнительные шаги уточняют генерацию на том же холсте.

Ускоренная модель всегда хуже?

Нет. Она оптимизирована под другой компромисс. Качество сравнивают на нужной сцене, а не по числу шагов.

Главное

Steps — бюджет итераций, а не шкала качества. Хорошее значение находится там, где модель уже решила задачу, а следующий шаг почти ничего не добавляет. Для воспроизводимости число сохраняют вместе с sampler, scheduler, checkpoint и guidance.