Стохастика против адаптивности: исследование эффективности сэмплеров в ComfyUI

Habr AI · оригинал

Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Исследователи проанализировали математические основы сэмплеров диффузионных моделей, доказав, что стохастический метод SA-Solver превосходит детерминированные аналоги при ограниченном бюджете вычислений. Эксперименты показали, что адаптивные алгоритмы шага уступают стандартным эвристическим планировщикам, а высокая сила классификаторной экстраполяции нивелирует преимущества методов высокого порядка.

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

В экосистеме ComfyUI пользователи часто выбирают сэмплеры интуитивно, не осознавая, что за каждым алгоритмом стоит строгая математика численного интегрирования дифференциальных уравнений. Авторы исследования совместно с Егором Юзвинским поставили перед собой задачу разобраться в двух ключевых аспектах: возможности извлечения оценки локальной погрешности без дополнительных вычислительных затрат и причинах ограниченного потенциала встроенного сэмплера SA-Solver.

Первое важное открытие касается схемы «предиктор–корректор» Адамса. В классической вычислительной математике оценка погрешности требует дополнительных вызовов функции, что увеличивает нагрузку на GPU. Однако в контексте диффузионных моделей производная, рассчитанная для коррекции, все равно необходима на следующем шаге как часть истории состояния. Это позволяет получать точную оценку локальной ошибки усечения абсолютно бесплатно, без увеличения количества вызовов нейросети (NFE). Авторы реализовали это в ноде Trajectory Probe, которая сохраняет метрики траектории и погрешности в файлы .safetensors.

Второй практический результат связан с «вызволением» сэмплера SA-Solver. В ядре ComfyUI этот алгоритм имеет жестко зашитые параметры силы стохастики (eta = 1.0) и фиксированное окно применения шума. Реализованная авторами нода Adaptive SA Sampler позволяет гибко настраивать эти параметры. Эксперименты на модели Anima при бюджете в 10 шагов показали, что стохастический подход обеспечивает лучшую макро-геометрию по сравнению с детерминированным Euler, сохраняя при этом значительно больше микротекстуры. Оптимальным диапазоном для параметра eta оказался интервал от 1.6 до 1.8, где достигается наилучший баланс между потерей геометрии и приобретением деталей.

Исследование также включает честный разбор неудачных гипотез. Адаптивное изменение шага интегрирования, которое в теории должно оптимизировать вычисления, на практике уступило стандартному эвристическому планировщику ComfyUI. Оказалось, что полиномиальные расписания лучше учитывают скорость изменения дисперсии латентов, чем локальная ошибка ODE. Кроме того, расширение окна применения шума не дало прироста качества, а методы 4-го порядка потеряли свое преимущество при высоких значениях CFG, так как ошибка усечения тонет в шуме классификаторной экстраполяции.

Профилирование выявило скрытые вычислительные затраты популярных сэмплеров. Если некоторые алгоритмы действительно требуют один вызов нейросети на шаг, то другие, такие как heun или dpmpp_sde, потребляют почти вдвое больше ресурсов. Отдельно отмечена проблема сэмплера uni_pc в моделях типа Flow-Matching, где он демонстрирует колоссальную ошибку из-за несовместимости с типом шума. Результаты работы доступны в виде кастомного ноды, использующего только стандартные библиотеки PyTorch и NumPy.