При работе с диффузионными моделями понимание механики сэмплеров и планировщиков имеет решающее значение для достижения оптимальных результатов. Эти компоненты влияют на то, как шум удаляется из латентного пространства, формируя качество и характеристики конечного результата. В этом руководстве подробно объясняется, как работают сэмплеры, почему они важны, а также приводятся практические шаги по выбору наилучших комбинаций сэмплера и планировщика для ваших рабочих процессов.
Содержание
Что такое сэмплеры?
Сэмплеры — это алгоритмы, которые управляют процессом диффузии, основой генерации изображений в диффузионных моделях. В общих чертах диффузионные модели начинают с поля случайного шума и итеративно уточняют его, чтобы получить связное изображение. Сэмплеры определяют, как происходит это уточнение, контролируя процесс удаления шума на каждом шаге.
Как работают сэмплеры
- Представление латентного пространства:
Диффузионные модели работают в латентном пространстве — многомерном представлении изображения. Изначально латентное пространство заполнено случайным шумом. - Итеративное уточнение:
Сэмплер работает, итеративно удаляя шум из латентного пространства с помощью ряда математических операций. Эти операции определяются алгоритмом сэмплирования, который задаёт темп и способ удаления шума. - Добавление шума (необязательно):
Некоторые сэмплеры, например ancestral-сэмплеры, добавляют дополнительный шум на каждом шаге. Такой стохастический подход вносит случайность, позволяя модели исследовать более разнообразные возможности и прорабатывать более мелкие детали. - Сходимость и расходимость:
- Сходящиеся сэмплеры: постепенно уточняют латентное пространство, чтобы последующие шаги близко напоминали предыдущие, давая более гладкие и предсказуемые результаты.
- Расходящиеся сэмплеры: вносят случайность, позволяя последующим шагам отклоняться от предыдущих, что может дать более естественные или детализированные результаты.
- Финальное декодирование:
После завершения процесса уточнения латентное пространство декодируется с помощью специфичного для модели декодера (например, декодера DAE) для получения конечного изображения.
Почему сэмплеры важны
Сэмплеры критически важны, поскольку они напрямую влияют на:
- Качество изображения: гладкость, проработка деталей и наличие артефактов зависят от используемого сэмплера.
- Совместимость с моделью: не все сэмплеры работают с каждой диффузионной моделью. Выбор несовместимого сэмплера может привести к плохим результатам или даже к непригодным для использования выходным данным.
- Время обработки: некоторые сэмплеры требуют больше вычислений, чем другие, что влияет на время, необходимое для генерации изображения.
Популярные сэмплеры: объяснение

| Имя сэмплера | Описание | Вариант использования | Преимущества | Недостатки |
|---|---|---|---|---|
| Euler | Простой и быстрый сэмплер, использующий метод Эйлера для удаления шума. | Базовые рабочие процессы, быстрые тесты и модели низкой сложности. | Быстрый и вычислительно эффективный. | Может давать менее детализированные или менее качественные результаты. |
| Euler_Cfg_PP | Сэмплер Euler в сочетании с CFG (руководство без классификатора) для лучшего контроля. | Сценарии, требующие точного управления генерацией изображений. | Обеспечивает лучший контроль над конечным результатом. | Немного медленнее базового сэмплера Euler. |
| Euler_Ancestral | Вариант Euler, добавляющий случайность для более разнообразных результатов. | Творческие рабочие процессы, требующие разнообразия результатов. | Даёт разнообразные и уникальные результаты. | Может вносить шум или несогласованность в результаты. |
| Euler_Ancestral_Cfg_PP | Сочетает Euler Ancestral с CFG для управляемых, но разнообразных результатов. | Творческие рабочие процессы с контролируемой случайностью. | Эффективно балансирует разнообразие и контроль. | Может быть медленнее и требовать больше вычислений. |
| Heun | Сэмплер, использующий метод Хойна для более точного удаления шума. | Сценарии, требующие большей точности, чем Euler. | Даёт более гладкие и проработанные результаты. | Немного медленнее Euler из-за повышенной точности. |
| DPM_2 | Сэмплер модели вероятностной диффузии с шумоподавлением (DPM) второго порядка. | Высококачественные рабочие процессы, требующие детализированных результатов. | Даёт высококачественные результаты с мелкими деталями. | Требует много вычислений и работает медленнее. |
| DPM_2_Ancestral | Добавляет случайность в сэмплер DPM_2 для разнообразных результатов. | Творческие рабочие процессы, требующие разнообразия результатов. | Даёт разнообразные результаты при сохранении качества. | Может давать несогласованные результаты. |
| DPM_Fast | Более быстрый вариант DPM, разработанный для скорости. | Рабочие процессы, требующие быстрых результатов с приемлемым качеством. | Быстрее других вариантов DPM. | Может жертвовать деталями и качеством ради скорости. |
| DPM_Adaptive | Динамически регулирует процесс удаления шума во время диффузии. | Сложные рабочие процессы, требующие адаптивного уточнения. | Даёт сбалансированные и адаптивные результаты. | Требует много вычислений. |
| DPM++_2S_Cfg_PP | Управляемый сэмплер DPM++, оптимизированный для высококачественных результатов. | Рабочие процессы, ориентированные на точность и требующие управляемого уточнения. | Даёт очень проработанные и детализированные результаты. | Медленнее и требует тщательной настройки. |
| DPM++_SDE | Сэмплер DPM++ на основе стохастических дифференциальных уравнений (SDE). | Сценарии, требующие контроля шума и гладких результатов. | Даёт гладкие результаты без артефактов. | Требует много вычислений и работает медленнее. |
| DPM++_2M | Сэмплер DPM++ второго порядка с несколькими шагами. | Высококачественные рабочие процессы, требующие многошагового уточнения. | Даёт детализированные и высококачественные результаты. | Требует много вычислений. |
| DDIM | Сэмплер неявных диффузионных моделей с шумоподавлением (DDIM) для более быстрого вывода. | Сценарии, требующие более быстрых результатов с приемлемым качеством. | Быстрее традиционных диффузионных сэмплеров. | Может давать несколько менее детализированные результаты. |
| Uni_PC | Сэмплер, использующий методы Uni-PC (равномерный предиктор-корректор). | Рабочие процессы, требующие сбалансированного удаления шума. | Даёт сбалансированные и предсказуемые результаты. | Ограниченная гибкость в сложных рабочих процессах. |
| Uni_PC_BH2 | Вариант Uni-PC с улучшенными возможностями удаления шума. | Высокоточные рабочие процессы, требующие гладких результатов. | Даёт более гладкие и проработанные результаты, чем Uni-PC. | Требует много вычислений. |
| IPNDM | Сэмплер итеративной вероятностной модели диффузии шума. | Итеративные рабочие процессы, требующие точного контроля шума. | Даёт очень детализированные и проработанные результаты. | Медленнее из-за итеративной обработки. |
| DEIS | Эффективный сэмплер вывода на основе диффузии. | Сценарии, требующие эффективного и быстрого вывода. | Быстрый и вычислительно эффективный. | Может жертвовать качеством ради скорости. |
| Gradient_Estimation | Сэмплер, ориентированный на оценку градиентов во время диффузии. | Исследовательские рабочие процессы, требующие анализа градиентов. | Предоставляет подробную информацию о градиентах. | Не оптимизирован для генерации изображений общего назначения. |
Что такое планировщики?
Планировщики управляют процессом сэмплирования, определяя, как шум удаляется на каждом шаге. Если сэмплеры задают алгоритм, используемый для уточнения, то планировщики определяют темп и схему удаления шума.

Как работают планировщики
Планировщики управляют процессом сэмплирования следующим образом:
- Стратегия удаления шума:
Определение того, удалять ли одинаковое количество шума на каждом шаге или динамически регулировать скорость. - Регулировка шагов:
Контроль над тем, как процесс уточнения развивается по мере увеличения числа шагов. Например:- Равномерные планировщики удаляют фиксированное количество шума на каждом шаге.
- Динамические планировщики по мере развития процесса удаляют всё меньше шума, что позволяет вносить более тонкие корректировки на поздних шагах.
- Повышение производительности сэмплера:
Сочетание сэмплеров с подходящим планировщиком может значительно улучшить качество изображения и уменьшить артефакты.
Популярные планировщики: объяснение
| Планировщик | Описание | Вариант использования | Преимущества | Недостатки |
|---|---|---|---|---|
| Normal | Планировщик по умолчанию, применяющий стандартный равномерный процесс удаления шума. | Базовые рабочие процессы и генерация изображений общего назначения. | Прост в использовании и широко совместим с большинством сэмплеров. | Может давать зашумлённые результаты или артефакты, если не сочетается с оптимальным сэмплером. |
| Karras | Динамический планировщик, постепенно регулирующий удаление шума и часто улучшающий результаты. | Продвинутые рабочие процессы, требующие высококачественных результатов без артефактов. | Уменьшает артефакты и улучшает качество изображения. | Может требовать тонкой настройки для конкретных сэмплеров. |
| Exponential | Постепенно уменьшает шум по экспоненциальной схеме, уделяя особое внимание ранним шагам. | Сценарии, в которых уточнение на ранних этапах имеет решающее значение. | Даёт более плавные переходы в латентном пространстве. | Может испытывать трудности с проработкой мелких деталей на поздних шагах. |
| SGM_Uniform | Планировщик, адаптированный для стохастических градиентных методов и применяющий равномерное удаление шума. | Подходит для стохастических рабочих процессов и моделей, оптимизированных для методов SGM. | Обеспечивает последовательное удаление шума на всех шагах. | Может не хватать гибкости для моделей, требующих динамической регулировки шума. |
| Simple | Простой планировщик с минимальной сложностью. | Быстрые тесты и рабочие процессы, где предпочтительна простота. | Быстрый и простой в настройке. | Ограниченные возможности оптимизации для высококачественных результатов. |
| DDIM_Uniform | Планировщик, разработанный для DDIM (неявные диффузионные модели с шумоподавлением) с равномерным удалением шума. | Рабочие процессы на основе DDIM, требующие последовательного снижения шума. | Обеспечивает совместимость с сэмплерами DDIM. | Может плохо работать с сэмплерами, отличными от DDIM. |
| Beta | Использует бета-распределение для контроля удаления шума, уделяя особое внимание определённым шагам. | Сценарии, требующие особого акцента на определённых этапах процесса диффузии. | Обеспечивает больший контроль над схемой удаления шума. | Требует детальной настройки и понимания бета-распределений. |
| Linear_Quadratic | Сочетает линейные и квадратичные схемы удаления шума. | Сложные рабочие процессы, требующие сочетания постепенного и агрессивного снижения шума. | Балансирует плавные переходы и резкие уточнения. | Может давать несогласованные результаты, если не сочетается с подходящим сэмплером. |
| KL_Optimal | Планировщик, оптимизированный с помощью KL-дивергенции для минимизации шумовых артефактов. | Высокоточные рабочие процессы, требующие минимального шума и артефактов. | Даёт высококачественные результаты без артефактов. | Требует много вычислений и может потребовать тщательной настройки. |
Karus Scheduler
- Как это работает: динамически регулирует скорость удаления шума в зависимости от числа шагов, оптимизируя процесс уточнения для получения более гладких результатов.
- Преимущества: улучшает производительность сэмплера, особенно для таких сэмплеров, как
dpmpp_2m. - Ограничения: может потребовать экспериментов, чтобы найти наилучшие настройки для конкретных рабочих процессов.
Практический рабочий процесс: выбор сэмплеров и планировщиков
Пошаговый процесс
- Выбрать сэмплер:
- Начните со стандартного сэмплера, например Euler, для получения гладких и предсказуемых результатов.
- Переключитесь на Euler Ancestral или UniPC для более естественных или высококонтрастных результатов.
- Поэкспериментируйте с сэмплерами семейства DPM для сложных задач.
- Проверить совместимость:
- Убедитесь, что сэмплер совместим с вашей диффузионной моделью. Например, избегайте LMS с Juggernaut XL.
- Выполнить рабочий процесс:
- Запустите процесс генерации изображений с выбранным сэмплером.
- Наблюдайте за результатами, отмечая артефакты, сходимость или расходимость.
- Настроить планировщик:
- Если результат зашумлён или содержит много артефактов, переключитесь на динамический планировщик, например Karus.
- Запустите рабочий процесс повторно и сравните результаты.
- Сравнить результаты:
- Используйте панель очереди, чтобы переключаться между изображениями, созданными разными комбинациями сэмплера и планировщика.
- Оцените различия в детализации, контрасте и проработке артефактов.
Пример: сравнение сэмплеров и планировщиков
Настройка сценария
- Промпт: “A vibrant sunset over a mountain range with clouds, realistic style.”
- Фиксированный seed: 599869489844012
- CheckPoint: Realistic Vision 5.1
- Шаги: 50
- Масштаб CFG: 7.5
- Разрешение: 512×512
Таблица сравнения
| Комбинация сэмплера и планировщика | Описание результата | Сильные стороны | Слабые стороны |
|---|---|---|---|
| Euler + Normal | Создаёт базовое изображение с чётким закатом и горами, но без мелких деталей. | Быстрый и вычислительно эффективный. | Облака могут выглядеть плоскими, а цветам может не хватать яркости. |
| Euler_Ancestral + Karras | Создаёт более яркое изображение с мягкими, случайно сформированными облаками. | Добавляет изображению разнообразие и художественную выразительность. | Может вносить небольшие несогласованности в формы гор. |
| DPM++_2M + Exponential | Создаёт очень детализированное и реалистичное изображение с чёткими краями гор и гладкими облаками. | Даёт высококачественные фотореалистичные результаты. | Требует много вычислений и работает медленнее. |
| DDIM + Linear_Quadratic | Даёт сбалансированное изображение с хорошей детализацией и плавными переходами между элементами. | Быстрее вариантов DPM++ при сохранении приличного качества. | Может уступать в предельной проработке сэмплерам DPM++. |
| DPM++_2S_Cfg_PP + KL_Optimal | Создаёт потрясающе реалистичный закат с замысловатыми деталями облаков и чёткими текстурами гор. | Обеспечивает наивысшую проработку и результат без артефактов. | Требует значительных вычислительных ресурсов и большего времени обработки. |
| DPM_Fast + Beta | Даёт достаточно детализированное изображение с хорошими цветами и текстурами. | Быстрее большинства сэмплеров на основе DPM. | Может жертвовать деталями и резкостью ради скорости. |
| Gradient_Estimation + Karras | Создаёт художественное изображение с градиентными переходами между закатом и горами. | Идеально подходит для творческих или исследовательских рабочих процессов. | Может не подходить для фотореалистичных результатов. |
| DEIS + Normal | Быстро создаёт умеренно детализированное изображение приемлемого качества. | Чрезвычайно быстрый и вычислительно эффективный. | Облака и горы могут выглядеть чрезмерно упрощёнными. |
Пример визуального сравнения
1. Euler + Normal
- Результат: базовое изображение с видимыми горами и облаками, но без замысловатых текстур.
- Вариант использования: быстрое прототипирование или тестирование.

2. Euler_Ancestral + Karras
- Результат: яркие цвета со случайно сформированными облаками, тяготеющие к художественной интерпретации.
- Вариант использования: творческие рабочие процессы, где разнообразие в приоритете.

3. DPM++_2M + Exponential
- Результат: очень детализированные горы и облака с плавными переходами и реалистичными световыми эффектами.
- Вариант использования: высококачественная фотореалистичная генерация изображений.

4. DDIM + Linear_Quadratic
- Результат: сбалансированное изображение с хорошей детализацией и плавными градиентами, подходящее для общего использования.
- Вариант использования: более быстрые рабочие процессы без значительной потери качества.

Ключевые выводы
Быстрые сэмплеры (Euler, DEIS):
Отлично подходят для быстрых результатов, но могут уступать в детализации и проработке.
Полезны для прототипирования или сред с ограниченными ресурсами.
Высококачественные сэмплеры (варианты DPM++):
Создают реалистичные, детализированные изображения, но требуют много вычислений.
Идеально подходят для финального производства или рабочих процессов, требующих высокой точности.
Творческие сэмплеры (ancestral-варианты):
Вносят случайность и разнообразие, что делает их идеальными для художественных результатов.
Могут жертвовать согласованностью или реалистичностью ради креативности.
Влияние планировщика:
Normal: стандартные результаты без значительных улучшений.
Karras: повышает яркость и уменьшает артефакты.
Exponential: плавные переходы и раннее уточнение.
Советы по оптимизации выбора сэмплера и планировщика
- Эксперименты — ключ к успеху:
Протестируйте несколько комбинаций сэмплера и планировщика, чтобы найти оптимальное сочетание для вашей модели и варианта использования. - Понимать требования модели:
Изучите совместимость вашей диффузионной модели с конкретными сэмплерами и планировщиками. Например, сэмплерам семейства DPM для наилучших результатов часто требуются динамические планировщики. - Использовать ancestral-сэмплеры для разнообразия:
Если ваша цель — генерировать разнообразные и естественные результаты, рассмотрите возможность использования ancestral-сэмплеров, таких как Euler Ancestral. - Использовать динамические планировщики:
Сочетайте сэмплеры с динамическими планировщиками, например Karus, чтобы повысить производительность и уменьшить артефакты.
Заключение
Сэмплеры и планировщики — основа диффузионных моделей, формирующая качество и характеристики генерируемых изображений. Понимая их механику и экспериментируя с комбинациями, вы сможете раскрыть весь потенциал своих рабочих процессов. Независимо от того, уточняете ли вы гладкие результаты с помощью сходящихся сэмплеров или прорабатываете замысловатые детали с помощью ancestral-вариантов, правильный планировщик может сыграть решающую роль.