Steps
sampling steps — число итераций генеративного процесса
Steps — число итераций, за которые sampler переводит шум в изображение. Больше шагов обычно означает больше вычислений, но улучшение быстро выходит на плато. Ускоренные и дистиллированные модели рассчитаны на свой диапазон и не используют настройки базовой модели автоматически.
Коротко
Steps — число шагов генерации. На каждом шаге сэмплер использует прогноз модели, чтобы обновить зашумлённое состояние. В латентной диффузии это сжатое представление изображения — латент. Первые итерации обычно задают крупную структуру, последующие уточняют детали. После определённой точки дополнительные шаги почти не помогают, а иногда меняют удачное изображение к худшему.
Что именно считается шагом
Сэмплер проходит по расписанию уровней шума. На каждой итерации он обращается к модели удаления шума и обновляет состояние.
У разных алгоритмов один шаг в интерфейсе может требовать разного числа оценок сети. Поэтому точнее сравнивать не только steps, но и NFE — число оценок функции модели. Два сэмплера с одинаковым числом шагов могут выполнять разный объём работы.
Steps, sampler и scheduler
Эти параметры связаны:
- Sampler задаёт численный метод обновления латента.
- Scheduler распределяет уровни шума по траектории.
- Steps определяет, на сколько участков разбита траектория.
Число шагов нельзя оценивать отдельно от двух других. Один сэмплер может быстро выйти на устойчивый результат, другому понадобится иной диапазон.
Что меняется по ходу генерации
Упрощённо:
- ранние шаги формируют расположение крупных объектов;
- средние закрепляют форму, свет и цвет;
- поздние уточняют текстуры и мелкие границы.
Это не строгие независимые стадии. Модель способна перестроить объект и ближе к концу, особенно при сильном влиянии текстовых условий или необычном расписании шума.
Точка насыщения
При малом числе шагов изображение может остаться грубым или не следовать условию. При увеличении числа шагов качество часто растёт, а затем меняется всё меньше. Но это не обязательная гладкая кривая: отдельные значения могут давать хуже или лучше соседних.
Большее число шагов обычно означает новое разбиение всей траектории, а не продолжение прежней картинки несколькими шагами в конце. Первые десять шагов двадцатишагового запуска могут отличаться от полного запуска на десять шагов.
Точка зависит от:
- архитектуры и checkpoint;
- sampler и scheduler;
- CFG или другого guidance;
- размера и сложности сцены;
- способа дистилляции — обучения ускоренной модели;
- img2img strength и начального шума.
Поэтому универсальный совет «всегда ставить N» не переживает смену модели.
Дистиллированные модели
Некоторые модели и адаптеры специально обучают для короткой траектории. Они могут выдавать связный результат за несколько итераций, потому что это часть их обучения.
Просто уменьшить steps у обычной базовой модели — не то же самое. И наоборот, добавить десятки шагов ускоренному варианту обычно не возвращает качество его основы и может нарушить ожидаемую траекторию.
Наглядный пример
Например, художник фиксирует описание, seed и размер, затем собирает рядом результаты запусков с несколькими значениями steps. Остальные параметры остаются фиксированными.
Он смотрит:
- когда появляется правильная композиция;
- при каком общем числе шагов перестают улучшаться лицо и мелкие формы;
- не начинается ли лишняя резкость или изменение цвета;
- сколько времени добавляет следующий уровень.
Рабочим становится наименьшее значение, которое стабильно проходит критерии на нескольких seed.
Скорость
При неизменной схеме время работы модели обычно растёт примерно вместе с числом её вызовов. Но весь процесс включает загрузку модели, кодирование текста, VAE, ControlNet, увеличение изображения и сохранение. Поэтому удвоение steps не обязано удвоить полную задержку запроса.
Для короткой генерации постоянные накладные расходы особенно заметны. Измерять лучше после прогрева и отдельно сохранять время самого сэмплирования.
Steps в img2img и inpainting
В img2img важна ещё сила изменения — denoise strength: она связана с начальным уровнем шума и выбранным участком траектории. Интерфейсы переводят эту настройку в шаги по-разному. В обычном KSampler ComfyUI при уменьшении denoise сначала может строиться более длинное расписание, из которого берётся конец с заданным числом переходов. Формула «фактические шаги = steps × denoise» для него не подходит.
Для воспроизводимости сохраняют не только видимый steps, но и sampler, scheduler, strength, версию ноды и модель.
Steps в ComfyUI
KSampler и похожие ноды передают число шагов сэмплеру. Продвинутые схемы могут передавать собственную последовательность уровней шума, делить работу между base и refiner или иначе считать границы.
Если workflow использует два сэмплера, общая работа — сумма их вызовов, а не число из одной ноды. Удобно подписывать этапы и сохранять промежуточный latent для сравнения.
Частые ошибки
- Считать больше шагов безусловно лучше. После плато выигрыш исчезает.
- Переносить число между моделями. Дистилляция и scheduler меняют рабочий диапазон.
- Сравнивать разные seed. Нельзя понять, помогли шаги или изменилась стартовая случайность.
- Игнорировать NFE. Алгоритмы делают разное число вызовов на один шаг.
- Менять steps вместе с CFG и sampler. Причина изменения теряется.
- Считать полное время строго линейным. В цепочке обработки есть другие этапы.
Частые вопросы
Сколько шагов нужно?
Стартовый диапазон берут из карточки точной модели, затем находят плато на серии seed. Это надёжнее общей таблицы по брендам.
Почему после увеличения стало хуже?
Модель могла уйти от удачного состояния, усилить артефакт или работать вне режима, для которого обучалась. Проверьте sampler, scheduler и guidance.
Steps повышает разрешение?
Нет. В обычной схеме разрешение определяется размером латента и декодированием VAE. Дополнительные шаги уточняют генерацию на том же холсте.
Ускоренная модель всегда хуже?
Нет. Она оптимизирована под другой компромисс. Качество сравнивают на нужной сцене, а не по числу шагов.
Главное
Steps — бюджет итераций, а не шкала качества. Полезное значение — то, при котором качество устраивает на нужных сценах, а увеличение бюджета уже не оправдывает затраты. Для воспроизводимости число сохраняют вместе с sampler, scheduler, checkpoint и guidance.