Семплеры и шедулеры
Разбираем два важных механизма улучшения генеративных картинок
Принято считать, что если выбор семплера (а тем более — шедулера) и влияет на результат генерации, то, во‑первых, влияние это минимально, а во‑вторых, достаточное количество шагов нивелирует и без того небольшую разницу между финальными изображениями. Это глубочайшее заблуждение, что я и намерен продемонстрировать в сегодняшней статье.
Читай также по теме генеративных моделей:
- Stable Diffusion XL. Генерируем картинки нейросетью на своем компьютере
- Stable Diffusion XL. Выбираем модели, рефайнеры, лоры и стили
- ReForge. Улучшаем картинки, генерируемые Stable Diffusion
- FLUX.1 и SwarmUI. Генерируем картинки новой открытой моделью
- Фишки FLUX.1. Добиваемся лучших картинок от новой генеративной модели
- Карта мира генеративного ИИ. Выбираем модель и интерфейс, разбираемся с терминами
Семплер и шедулер: что это такое
В контексте генеративного ИИ, особенно при работе с диффузионными моделями, термины sampler и scheduler играют ключевую роль в процессе генерации изображений.
Как создать скульптуру? Взять глыбу мрамора и отсечь все лишнее. Именно по этому принципу работают диффузионные модели искусственного интеллекта, к которым относится и семейство Stable Diffusion. Глыбой мрамора здесь выступает сгенерированный моделью шум, а инструментом, который отсекает лишнее, — семплер. Таким образом, вместо создания изображения с нуля картинка постепенно восстанавливается из шума, а семплер определяет, как именно будет происходить этот процесс.

Семплеры управляют тем, как на каждом шаге генерации выбирается и корректируется шумовое распределение. Разные семплеры дают различные результаты. Грубо говоря, из полена можно вырубить Буратино как стамеской, так и топором; результат будет отличаться.
Какие‑то семплеры оптимизированы на скорость (условный «топор») и могут быстрее восстанавливать изображение (быстрее конвергировать) — как правило, в ущерб качеству картинки или разнообразию результатов. Другие могут давать более детализированные («стамеска») или, наоборот, упрощенные изображения. Какие‑то семплеры требуют меньшего числа шагов (но каждый шаг занимает больше времени), а какие‑то — большего, но изменения картинки на каждом шаге диффузии будут не столь велики.
Для некоторых видов семплеров увеличение числа шагов приведет в итоге к очень похожим результатам, для других результат будет разительно отличаться. Именно по этой причине рекомендации вроде «используйте 20–30 шагов» лишены смысла, если не указан семплер, для которого рекомендуется это число шагов.
Семплеры бывают сходящиеся (конвергентные) и несходящиеся. При использовании сходящегося семплера картинки, сгенерированные с определенным числом шагов, перестают отличаться от изображений, сгенерированных с теми же настройками, но большим числом шагов. Несходящиеся семплеры будут продолжать выдавать вариации изображений при использовании сколь угодно большого числа шагов. Свои особенности применения есть у обоих типов семплеров.
- Сходящиеся (конвергентные) семплеры: Euler, LMS, Heun, DPM2, DPM++ 2M.
- Несходящиеся семплеры: Euler a, DPM2 a и прочие семплеры класса ancestral («a» в конце названия), DPM Fast, DDIM, PLMS, DPM adaptive, Restart, а также все семплеры, в названии которых присутствует SDE (например, DPM++ SDE, DPM++ 2M SDE, DPM++ 3M SDE).
Шедулер (scheduler) — это механизм, ответственный за динамическое изменение ряда параметров на каждом шаге генерации. Он определяет, как на каждом шаге изменяются такие параметры, как уровень шума или шаг обучения. В каком‑то смысле можно сказать, что шедулер задает ритм генерации (грубо говоря, «сперва работаем топором, потом берем стамеску, постепенно уменьшая ее размер»), но это было бы сильным упрощением.

Теперь перейдем к конкретным типам семплеров.
Все иллюстрации сгенерированы моделью tangbohuKalosXl_vx в разрешении 1024 на 1024 с последующим удвоением разрешения в Hires Fix. Использовался фиксированный сид 4001446319, CFG = 7. Текстовый запрос:
simple watercolor painting of a child girl wearing a hanfu dress playing with a kitten, with pagoda and foggy mountains in distant background
Для тестирования семплеров использовался фиксированный шедулер Align Your Steps (AYS). Тестирование различных шедулеров проводилось с фиксированным семплером Эйлера. Целью тестирования была демонстрация того, как выбранный семплер и шедулер может влиять не только на композицию, но и на стиль изображения.
Семплеры
Устаревшие семплеры
Семплеры, в названии которых есть DDIM, DDPM и PLMS, появились на ранней стадии развития генеративных моделей; DDIM и PLMS вошли еще в репозиторий Latent Diffusion. Пользоваться ими сейчас бессмысленно: так, для конвергенции с использованием семплера DDIM требуется порядка тысячи шагов, а у DDPM и PLMS нет каких‑либо зримых преимуществ перед более простыми (и намного более быстрыми) семплерами из числа описанных ниже.
info
Если ты решишь поэкспериментировать с DDIM, то используй его в связке с семплером под названием ddim_uniform или DDIM (зависит от используемого веб‑интерфейса).
Большая часть современных семплеров (и ряд шедулеров — в частности, Karras) были описаны в репозитории k-diffusion, опубликованном Катериной Кроусон (crowsonkb). О них мы поговорим более подробно.
Обычные дифференциальные уравнения: семплеры класса ODE
Здесь все просто: эти семплеры всего лишь решают систему дифференциальных уравнений. Самый известный из них — семплер, использующий метод Эйлера (Euler), разработанный в... 1768 году, задолго до возникновения компьютеров. Если ты интересуешься математикой, то формулы можно подсмотреть в Википедии.

Метод Эйлера считается простейшим из доступных алгоритмов. Он не самый быстрый, не самый точный и не самый креативный, но выдает стабильный результат, и его поддерживает большинство моделей, включая Flux.
К классу ODE, кроме метода Эйлера, относятся Heun — более точная, но более медленная версия алгоритма — и LMS (Linear multi-step method), который также теоретически может выдавать более точный результат.

Обрати внимание, насколько результат работы Heun напоминает результаты Euler.
Все эти семплеры относятся к сходящимся (конвергентным); изображения, сгенерированные с числом шагов, превышающим определенный порог, будут практически неотличимы, поэтому дальнейшее увеличение числа шагов для этого класса алгоритмов лишено смысла.
Семплеры класса ancestral
Выше я привел скриншот, на котором перечислены доступные в WebUI ReForge семплеры. Обрати внимание: названия некоторых из них заканчиваются на «a» (как, например, выбранный на скриншоте семплер Эйлера — классический вариант, который поддерживает большинство моделей).

Такие семплеры добавляют стохастический (случайный) элемент на каждом шаге генерации. Каждый следующий шаг в генерации изображения добавляет небольшое количество случайного шума, что позволяет как разнообразить результат, так и улучшить точность. Название происходит от термина ancestral sampling («наследуемый семплинг»), где каждое следующее состояние «наследуется» от предыдущего с добавлением шума.
Легко заметить, что семплеры этого класса не являются сходящимися (конвергентными). Увеличение числа шагов с определенного момента не приводит к улучшению картинки, а лишь изменяет мелкие детали. С этим попытались справиться разработчики семплеров класса SDE.
DPM, DPM++ и их производные
Семплеры классов DPM (Diffusion Probabilistic Model solver) и DPM++ (улучшенная версия DPM) были разработаны для повышения качества и детализации изображений за меньшее количество шагов. В базовой версии DPM (без плюсов) процесс диффузии разбит на множество мелких шагов, что обеспечивает высокую точность генерации за счет высокого количества итераций. DPM++ использует методы более высокого порядка, что позволяет сводить изображение с меньшим количеством шагов без ухудшения результатов.
Расшифровать названия семплеров просто (понять — сложнее). Так, название DPM++ 3M SDE расшифровывается следующим образом:
- DPM++ — улучшенная (++) версия диффузионного вероятностного моделирования DPM (Diffusion Probabilistic Model). DPM++ может работать в одноступенчатом (S) и многоступенчатом (M) режимах;
- 3M — третий (3) порядок многоступенчатого (M) метода (third-order multistep method). В теории использование производных третьего порядка обещает повышенную по сравнению с методами более низкого порядка точность генерации;
- SDE — сокращение от стохастических дифференциальных уравнений (Stochastic Differential Equations), которые используются для моделирования случайных процессов. Если в названии семплера присутствует SDE, такой семплер — несходящийся.
DPM++ 2S a расшифровывается так:
- DPM++ — уже знаем;
- 2S — второй (2) порядок одноступенчатого (S — single-step) метода. Использует производные второго порядка;
- a — ancestral, указывает на использование стохастического метода, который добавляет случайный шум на каждом шаге генерации. Если в названии семплера присутствует окончание a, такой семплер — несходящийся.
Если сравнивать разные варианты DPM++ между собой, то станет заметно, что DPM++ SDE работает вдвое медленнее, чем DPM++ 2M SDE или DPM++ 3M SDE, но и требует вдвое меньшего числа шагов для схождения картинки. Достоинство это или недостаток — зависит от сценария использования. В большинстве генераций, использующих повышение разрешения методом Hires Fix и последующую детализацию в ADetailer/uddetailer, удобнее использовать более быстрые и короткие шаги (DPM++ 3M SDE).
Семплеры DPM++ дают более детализированное по сравнению с Euler и Euler a изображение. Это касается как текстур (например, текстур ткани и кожи), так и множества мелких деталей. Такая детализация может работать как в плюс, так и в минус. Семплеры DPM++ рекомендуют использовать при генерации резких фотореалистичных изображений, в то время как Euler лучше подходит для генерации более «мягких» фотографий, а также изображений в стиле 3D, 2,5D и аниме.
Пример: работа семплера третьего порядка DPM++ 3M SDE в сравнении с DPM++ 2S a.


SDE: щепотка случайности
Семплеры, в названии которых есть SDE, основаны на стохастических дифференциальных уравнениях (SDE). Алгоритмы SDE добавляют шум на каждом шаге генерации, но, в отличие от семплеров ancestral, этот шум не полностью случайный, а вычисляется на основе системы уравнений.
Таким образом, семплеры можно условно разделить по типу шума, добавляемого на каждом шаге генерации. Сходящиеся (конвергентные) семплеры шум не добавляют. Семплеры класса ancestral вводят случайный шум на каждом шаге генерации. В семплерах SDE шум псевдослучайный; он определяется дифференциальными уравнениями, что делает генерацию более предсказуемой по сравнению с семплерами ancestral, но менее предсказуемой по сравнению с конвергентными семплерами.
На практике семплеры класса SDE не являются конвергентными; изменение числа шагов при прочих равных условиях может серьезно изменить композицию итогового изображения. Посмотри, как меняется картинка, сгенерированная семплером DPM++ SDE с 40 и 80 шагами (все остальные параметры идентичны).


Практический вывод: если картинка, сгенерированная одним из таких семплеров, тебя в целом устраивает, но есть какие‑то мелкие огрехи, попробуй немного увеличить или уменьшить число шагов. Зачастую ты получишь похожую картинку, но уже без дефекта.
Специализированные семплеры
С появлением технологий ускоренной генерации — таких как LCM, Turbo, Lightning, Hyper, Flash, TCD, DMD2 — возникла необходимость в специализированных семплерах. С обычными настройками такие модели могут не работать вообще или работать некорректно. Так, модель LCM требует использовать одноименный семплер, модели Turbo проектировались для работы с одноименным шедулером, технология Lightning предполагает использование шедулера SGM Uniform. Более современные версии ускоренных моделей, как правило, не требуют использования специфических комбинаций семплера и шедулера.
Впрочем, разработчики ремиксов уже научились частично обходить ограничения, и даже такие модели стало возможным использовать с привычными комбинациями семплера и шедулера.
Особняком стоят некоторые специализированные модели. Так, модель CosXL, которая в рамках архитектуры SDXL предлагает расширенный динамический диапазон и глубокий черный цвет, требует использовать Cosine-Continuous EDM VPred (в WebUI ReForge подключается автоматически при загрузке модели CosXL; в Comfy нужно доустановить ноду ModelSamplingContinuousEDM), а модель Playground 2.5 требует безальтернативного использования EDM (поддерживается на сегодня только в Comfy/SwarmUI). Эти вещи не относятся к стандартному выбору семплера и шедулера; вместо этого в новой версии WebUI Forge нужно использовать расширение Advanced Model Sampling.
Лучшее — враг хорошего?
Новые семплеры и шедулеры появляются постоянно. Их разработчики решают самые разные задачи. В числе улучшений могут быть как повышенная скорость генерации (на самом деле — генерация картинки за меньшее число шагов, но вовсе не обязательно за меньшее время), так и более точный результат с меньшим количеством брака (такое обещали разработчики шедулера Align Your Steps; о нем мы еще поговорим в соответствующем разделе).
Насколько это работает в действительности? По‑разному. Так, разработчики семплера UniPC обещали много полезных вещей, но проверку реальностью алгоритм не прошел: он доступен и поддерживается в большинстве моделей, но результаты, хоть они и отличаются от работы других алгоритмов, нельзя с уверенностью назвать «лучшими».

Семплер Restart, интересный тем, что с определенной периодичностью «откатывает» генерацию на несколько шагов назад, должен был исправлять небольшие огрехи отрисовки мелких деталей. По скорости работы этот семплер похож на DPM++ SDE, по точности результата, пожалуй, его превосходит, предлагая при этом максимально высокую в сравнении с семейством DPM++ детализацию.
Restart — универсальный семплер; его можно использовать для создания как фотореалистичных, так и рисованных изображений. Его применение в ADetailer может позволить исправить мелкие дефекты изображения, которые в недостаточной степени корректируются другими семплерами.

Чрезвычайно интересны вариации метода Эйлера — семплеры Euler Smea Dy и Euler Negative.
Семплеры, в названии которых есть слово Negative, в процессе генерации изображения учитывают отрицательные значения градиентов, что в теории позволяет улучшить качество конечного изображения.
Ниже — пример генерации Euler Negative (шедулер AYS). Обрати внимание на стиль изображения; он заметно отличается от работы всех других семплеров.

Уникальную нишу занимает семплер Euler Smea Dy, использующий геометрические методы навигации в трехмерном пространстве для приближения к исходному изображению. Особенность этого семплера в том, что он может значительно уменьшать структурные искажения и проблемы с конечностями (да‑да, всё те же многострадальные пальцы рук). Увы, полностью решить проблему с руками в рамках архитектуры SDXL пока не удалось никому, но этот семплер действительно улучшает качество прорисовки рук по сравнению с аналогами.
В то же время — и это легко читается между строк даже в «рекламном проспекте» разработчиков — эти улучшения достигаются за счет более плавных линий и градиентов, упрощения картинки и снижения микроконтраста. Если использовать Euler Smea Dy для генерации фотореалистичного изображения, то акцент будет сдвинут максимально в сторону фотографии с софт‑эффектом. А вот аниме этот семплер рисует отлично: плавные линии и градиенты — это в целом именно то, что надо. Таким образом, я могу рекомендовать этот семплер для следующих целей:
- рисование кистей рук в ADetailer (просто выбери в настройках ADetailer отдельный семплер и шедулер);
- генерация картинок в стиле аниме;
- создание фотореалистичных изображений с рассеянным освещением, в стиле ретро и стилистике софт‑фото.
В процессе тестирования я обнаружил интересную особенность семплеров класса Dy (в частности, Euler Smea Dy). Они, согласно документации, работают, делая выборку на пониженном разрешении (то есть размер картинки «втискивается» в «зону комфорта» модели). Поэтому семплер Euler Smea Dy можно использовать для получения изображения в более высоком по сравнению со стандартом разрешении. Мне удалось добиться стабильно высокого качества генерации в разрешении 1024 на 1536 точек, что довольно далеко за пределами стандартных возможностей SDXL. Правда, при дальнейшем повышении разрешения функцией Hires.fix (например, в 1,4 раза) трюк уже не работает, и в качестве Hires sampling method теперь нужно установить обычный Euler. С использованием этой комбинации (Euler Smea Dy для генерации и Euler для повышения разрешения) на выходе — детальная и чистая картинка.

Обрати внимание: Euler Smea Dy относится к агрессивным семплерам. При его использовании в Hires Fix и ADetailer тебе, возможно, придется серьезно снизить значение Denoise; в противном случае могут проявиться нежелательные мутации.
Ниже — пример Euler Smea Dy. Обрати внимание, насколько проще стала картинка.

А вот сравнение (из репозитория).

www
Подробнее об этих семплерах — в репозитории Koishi-Star.
Шедулеры
Помимо семплера, ты можешь выбрать и шедулер. Значение Automatic означает выбор наиболее подходящего (прописанного в файле sd_samplers_kdiffusion.
) шедулера для конкретного семплера. Так, для семплеров DPM++ 2M, DPM++ SDE, DPM++ 2M SDE, DPM++ 2S a, DPM2, Restart оптимальным считается шедулер Karras; для DPM++ 3M SDE — Exponential. Для остальных семплеров (Euler, Euler a, LCM и так далее) шедулер по умолчанию не прописан и широкой публике неизвестен; вероятно, используется Uniform.
Uniform: отправная точка
При использовании шедулера Uniform плотность шагов денойзинга (обратной диффузии) равномерна по всей временной шкале генерации. Каждый шаг денойзинга получает одинаковый вес, и процесс генерации шума или его удаления на каждом шаге происходит с постоянной скоростью, без учета динамики изменения деталей изображения.
Uniform — самый простой метод; в большинстве случаев альтернативные шедулеры его превосходят. Если ты все же решишь его использовать, то в WebUI он доступен с обозначением Normal.
Вариация этого шедулера — SGM Uniform (Stochastic Gradient Method, стохастический метод градиентного спуска). В частности, пользователи сообщают, что семплер Euler в комбинации с шедулером SGM Uniform и DPM++ 2M SGM Uniform лучше всего работает с моделью SD3 Medium.
Наконец, закрою этот раздел описанием шедулера Simple. Его создал разработчик ComfyUI в качестве развлечения. Он хотел добиться простейшего решения, при котором сохранялась бы работоспособность. В этом семплере плотность шагов зависит исключительно от номера шага.
Karras
Шедулер Karras — один из первых алгоритмов, использующих нелинейное распределение шагов. Это позволило оптимизировать процесс генерации изображений: улучшить качество картинки и уменьшить количество требуемых для ее генерации шагов. Именно этот шедулер стал стандартом де‑факто благодаря отсутствию ярко выраженных особенностей. Он хорошо работает со средним числом шагов и отлично — с большим (как мы помним, достаточность числа шагов определяется в первую очередь семплером).
Экспоненциальный шедулер
В работе Fast Sampling of Diffusion Models with Exponential Integrator описано использование экспоненциального шедулера. В экспоненциальном шедулере плотность шагов распределяется по экспоненте и каждая следующая итерация экспоненциально уменьшает величину шага: в начале процесса шаги изменяются очень быстро, но по мере продвижения изменение плотности шагов замедляется.
В шедулере Polyexponential комбинируется несколько экспоненциальных функций для получения разных профилей изменения шагов. Exponential проще — с фиксированной экспоненциальной скоростью уменьшения шагов; Polyexponential потенциально может быть более точным.
Шедулеры Karras и Exponential выдают похожий результат. Изначально использовать Karras предполагалось с семплерами семейства DPM++, за исключением DPM++ 3M SDE, для которого предлагался шедулер Exponential. Сейчас же у нас есть возможность использовать любые шедулеры в связке с любыми семплерами, даже самыми старыми, чем мы и воспользуемся.
Ниже — сравнение генерации Euler a шедулером Karras и Exponential.


Align Your Steps
Метод был предложен разработчиками Nvidia в июле 2024 года. В опубликованном исследовании приводятся многочисленные сравнения работы шедулера на разных моделях. Разработчики говорят о лучшем качестве картинки и более точной детализации при меньшем числе шагов генерации в сравнении с другими шедулерами.
На практике наблюдаются статистически значимые улучшения в качестве картинки (то есть необязательно в этом конкретном изображении — но при генерации пачки из десяти штук с этим шедулером количество брака, как правило, будет меньше). Наиболее явно преимущества AYS проявляются на небольшом числе шагов (до 40 шагов при использовании семплера Euler). Дальнейшее увеличение числа шагов нивелирует преимущества метода. Тем не менее его можно рекомендовать в качестве опции по умолчанию, если используемая модель не требует иных настроек.
info
При использовании Align Your Steps рекомендуется включить опцию Skip Early CFG (в WebUI она называется Ignore negative prompt during early sampling), что улучшает качество генерации. Достаточно пропустить CFG только на первом шаге, установив значение ползунка в 0,05 (или другое значение в зависимости от числа шагов).
Примеров здесь не будет: все изображения в этой статье (за исключением тех, на которых демонстрируются различия между шедулерами) сгенерированы с использованием AYS.
Beta
Beta — еще один инновационный шедулер, представленный в июле 2024 года корейскими разработчиками. Если практически все традиционные шедулеры используют более крупные шаги в начале генерации с последующим уменьшением шага (уменьшение шагов как раз и описывается той или иной математической функцией), то в методе Beta применяется другой способ распределения плотности шагов.
По заявлению разработчиков, наиболее важны ранние (крупные детали) и поздние (мелкие, высокочастотные детали) этапы генерации изображения. Соответственно, шедулер Beta фокусирует вычислительные ресурсы на первых и последних шагах, что должно, с одной стороны, стимулировать более точное следование запросу (ранние этапы, общая композиция и крупные детали), а с другой — уменьшить влияние типичных для Stable Diffusion проблем с мелкими деталями (пресловутые пальцы рук).
Таким образом, шедулер Beta не предназначен для ускорения генерации, но хорошо работает при относительно большом числе шагов.
Обрати внимание: Beta — чрезвычайно агрессивный шедулер. При его использовании в Hires Fix и ADetailer тебе необходимо серьезно снизить значения Denoise, а лучше — не использовать Beta в этих сценариях вовсе (благо в обоих случаях можно свободно указать альтернативную связку семплера и шедулера).
Beta хорошо подходит к классическим семплерам. Вот пример работы Beta совместно с семплером Euler a.

Если же ты попытаешься использовать связку из агрессивного семплера и агрессивного шедулера Beta, результат будет непредсказуем. Может получиться как очень интересное изображение, так и брак.
Сравни результат с семплером Euler Negative. В первом случае шедулер Karras, во втором — Beta.


В общем, Beta — очень необычный шедулер. Его обязательно стоит попробовать, причем не один раз, на разных моделях и различных видах изображений.
Шпаргалка
Статья была длинная, а словосочетания «многоступенчатый метод третьего порядка диффузионного вероятностного моделирования» и «полиэкспоненциальный профиль изменения плотности шагов» способны напрочь отключить мозг доверчивого читателя. Поэтому здесь — краткая выжимка.
Важно: ты можешь выбрать любую комбинацию из семплера и шедулера. Старые семплеры прекрасно работают с современными шедулерами.
Семплеры:
- Euler a — несмотря на почтенный возраст (256 лет, практически юбилей!), метод Эйлера все еще на коне и вполне способен дать фору новичкам. Универсальный семплер, довольно быстрый, с относительно невысокой детализацией.
- DPM++ 3M SDE — прекрасный семплер для фотореалистичных изображений; пожалуй, не стоит использовать его для аниме (впрочем — дело вкуса).
- Restart — применим там, где нужна максимальная детализация. Относительно медленный семплер, но и не требующий большого числа шагов.
- DPM++ SDE — медленный семплер с высокой детализацией. Для фотореалистичных изображений.
- Euler Negative, Euler Negative Dy — вариации на тему Euler, превосходящие его по качеству, но не по скорости. Степень детализации аналогична обычному Euler, но точность, пожалуй, повыше.
- Euler Smea Dy — специфический семплер, подходит для аниме, ретрофото и фото с мягким фокусом. Агрессивен; при использовании в Hires Fix стоит снизить значение Denoising strength. Незаменим в ADetailer для исправления пальцев рук (не поленись и используй!).
Шедулеры:
- Karras — золотая середина, стандарт де‑факто для современных семплеров, но работает и с Euler. Универсален и очень неплох.
- Exponential — очень похож на Karras, но проще. Предназначался для использования с семплером DPM++ 3M SDE, но работает и с другими.
- Align Your Steps — более совершенный по сравнению с Karras вариант. Совместим со всеми семплерами; его можно установить по умолчанию.
- Beta — уникальный, далекий от универсальности шедулер, в котором плотность шагов максимальна в самом начале и самом конце генерации. В теории это дает как высокую точность (начало генерации), так и детализацию (ее конец). На практике результат как минимум необычен; стоит попробовать на разных сюжетах. Относится к агрессивным шедулерам (не стоит использовать его в Hires Fix и ADetailer).
Дополнительные подробности
Хороших статей по семплерам и шедулерам на русском языке мне найти не удалось, но на английском их достаточно. Мое внимание привлекли две:
- Complete guide to samplers in Stable Diffusion — Félix Sanz (felixsanz.dev)
- Stable Diffusion Samplers: A Comprehensive Guide — Stable Diffusion Art (stable-diffusion-art.com)
Также рекомендую глянуть тред на «Реддите»: Ever wondered what those cryptic sampler names like «DPM++ 2s a Karras» actually mean? Look no further.
В этих статьях дается теоретическая база с примерами. К сожалению, в них рассмотрены только классические варианты алгоритмов; нет ни новых шедулеров (Align Your Steps, Beta, Exponential, SGMUniform), ни новых семплеров (CFG++, ODE, Euler Dy, Euler Negative, Euler Smea Dy). Тем не менее эти статьи важны, так как дают базовое представление о том, какие бывают варианты.