Сэмплер (Sampler) — что это, как работает и какие бывают
Сэмплер (его также называют планировщиком или солвером) — это алгоритм, которым диффузионная модель превращает случайный шум в изображение, убирая понемногу шума на каждом шаге. Он решает, сколько шагов сделать и насколько крупным будет каждый, — и этим задаёт баланс между скоростью генерации и качеством картинки.
Что такое сэмплер в генерации изображений?
Сэмплер — это численный метод, который управляет обратным процессом /glossary/diffusion-модели. Модель обучена предсказывать шум в слегка зашумлённой картинке; сэмплер многократно применяет это предсказание, проходя путь от чистого шума обратно к чёткому изображению. Разные сэмплеры — это разные способы решить одно и то же базовое уравнение, поэтому они приходят к разным результатам с разной скоростью. В инструментах вроде /alternatives/stable-diffusion вы выбираете сэмплер по имени — Euler, DDIM, DPM++ 2M Karras — вместе с числом шагов. Сэмплер не меняет того, что модель знает; он меняет, насколько эффективно и плавно знания модели превращаются в пиксели.
Как работает сэмплер
Каждая диффузионная модель задаёт расписание шума — план того, сколько шума есть на каждом из, скажем, тысячи временны́х шагов. Сгенерировать изображение — значит пройти это расписание в обратную сторону. На каждом шаге сэмплер спрашивает модель «сколько здесь шума?», вычитает его часть и переходит к следующей, менее зашумлённой точке. Математически это обыкновенное или стохастическое дифференциальное уравнение, а сэмплер — просто его решатель: солвер первого порядка вроде Euler делает простые прямые шаги, а солверы более высокого порядка вроде DPM++ 2M оценивают кривизну и делают более крупные и точные шаги, поэтому их нужно меньше. Пометка «Karras» означает более умное распределение этих шагов, предложенное в статье 2022 года.
Математику см. в статье про DDIM по адресу arxiv.org/abs/2010.02502 и в статье EDM (Karras и др., 2022) по адресу arxiv.org/abs/2206.00364.

Какие бывают сэмплеры
Несколько сэмплеров встречаются снова и снова. Различаются они в основном скоростью, тем, добавляют ли они свежий шум на каждом шаге, и числом необходимых шагов:
- Euler — простой быстрый сэмплер первого порядка, который чисто сходится; надёжный вариант по умолчанию.
- Euler a (ancestral) — добавляет случайный шум на каждом шаге, поэтому картинка продолжает меняться по мере роста числа шагов и никогда полностью не «устаканивается»; хорош для творческого разнообразия.
- DDIM — детерминированный сэмплер из статьи 2020 года; быстрый и стабильный, популярен для img2img и анимации.
- DPM++ 2M Karras — сэмплер высокого порядка, дающий отличное качество всего за 20–30 шагов; современный выбор по умолчанию.
- UniPC — единый предиктор-корректор, способный давать хорошие изображения всего за 5–10 шагов.
- LCM / Turbo — сэмплеры на основе consistency-моделей для генерации за 1–8 шагов; немного жертвуют качеством ради почти мгновенного результата.
Как связаны сэмплер, шаги и CFG?
Сэмплер — один из трёх связанных параметров. Шаги задают, сколько итераций расшумления делает сэмплер: больше шагов обычно означает больше деталей до момента, когда прирост становится незаметным, и нужное число зависит от сэмплера — солверу высокого порядка их требуется гораздо меньше. CFG (classifier-free guidance) управляет тем, насколько строго модель следует вашему /glossary/prompt, и не зависит от сэмплера. Ancestral-сэмплеры вроде Euler a иначе взаимодействуют с сидом (seed), потому что их добавляемый шум означает, что результат продолжает меняться даже при большом числе шагов. Поменять сэмплер, оставив сид, промпт и число шагов прежними, — чистый способ увидеть его эффект. Эти настройки соседствуют с вашим промптом и любой загруженной /glossary/lora.
Как Twin AI работает с сэмплерами
Twin AI устроен так, что вам никогда не нужно вручную выбирать сэмплер, число шагов или планировщик. Когда вы генерируете в /create/photo или /use-cases/image-generator, Twin сам подбирает хорошо настроенный сэмплер и бюджет шагов под каждую модель, так что вы получаете качественное изображение, не открывая ни одной панели настроек. Шаблоны в /photoshoots настроены от начала до конца, а поскольку Twin запускает несколько моделей изображений, их результат можно сравнить — например в /compare/midjourney-vs-flux — не заучивая названия сэмплеров каждой из них. Всё оплачивается российской картой или через СБП, VPN не нужен. Начните бесплатно в /create/photo.
FAQ
Что такое сэмплер в Stable Diffusion?
Сэмплер — это алгоритм, который пошагово убирает шум, превращая случайный шум в изображение. В Stable Diffusion вы выбираете его по имени — например Euler, DDIM или DPM++ 2M Karras — вместе с числом шагов; он управляет балансом скорость–качество, а не тем, что знает модель.
Какой сэмплер лучший?
Единственного «лучшего» сэмплера нет, но DPM++ 2M Karras — популярный современный выбор по умолчанию, потому что даёт качественные изображения всего за 20–30 шагов. Euler и DDIM — надёжные быстрые варианты, а сэмплеры LCM или Turbo лучше подходят, когда нужен почти мгновенный результат.
Чем сэмплер отличается от планировщика (scheduler)?
Эти термины часто используют как синонимы. Строго говоря, планировщик задаёт расписание шума по шагам, а сэмплер — это решатель, который проходит его в обратную сторону; в большинстве инструментов они объединены в одно меню «sampler» или «scheduler».
Сколько шагов сэмплирования нужно?
Зависит от сэмплера. Сэмплеры высокого порядка вроде DPM++ 2M Karras отлично выглядят на 20–30 шагах, DDIM часто использует 20–50, а consistency-сэмплеры вроде LCM работают за 1–8. После некоторого предела лишние шаги лишь добавляют время без видимого улучшения.
Нужно ли выбирать сэмплер в Twin AI?
Нет. Twin AI сам подбирает настроенный сэмплер и число шагов под каждую модель, так что достаточно обычного описания. Просто загрузите фото или введите промпт в /create/photo.