ComfyUI SPEED теперь ускоряет и модели изображений, не только H3

ComfyUI Wikinews

ComfyUI-SPEED добавляет узлы KSampler: выборка с прогрессивным разрешением работает и на MOSS Image и Krea 2, с калибровкой под модель.

ComfyUI SPEED это пакет семплеров, ранее публиковавшийся как ComfyUI-MiniMax-H3-SPEED. Переименование отражает то, что пакет делает теперь: тот же семплер с прогрессивным разрешением работает на flow-моделях изображений через узлы в формате KSampler, рядом с узлами MiniMax H3, с которых он начинался.
Клип MiniMax H3: слева нативная выборка, справа выборка SPEED с 4 стадиями

Тот же seed и промпт, 5-секундный клип 960x544 на Modal L40S. Слева: обычная выборка, 288 с. Справа: SPEED с допуском 0.05 и 4 стадиями, 182 с.

Что делает пакет

SPEED основан на работе Spectral Progressive Diffusion for Efficient Image and Video Generation Говарда Сяо, Брайана Чао, Лиора Ярива и Гордона Ветцштейна из Стэнфорда. Наблюдение, лежащее в основе: диффузионные модели строят изображение примерно от низких частот к высоким, поэтому на ранних шагах денойзинга преобладают полосы, которые модель ещё не разрешила. Выполнение этих шагов в полном разрешении тратит большую часть вычислений на шум.

Пакет применяет это в ComfyUI без переобучения. Прогон начинается на меньшей сетке, затем латентный тензор поднимается на большую сетку, когда детализация начинает иметь значение. stages задаёт лестницу: 2 стадии идут 0.5 → 1.0, 3 стадии 0.33 → 0.66 → 1.0, а 4 стадии 0.25 → 0.5 → 0.75 → 1.0. Tolerance (Delta), noise_amplitude и noise_decay_exponent определяют, на каком шаге происходит каждое переключение, и меньший допуск переключает позже: безопаснее, но медленнее.

MiniMax H3 держит аудиопоток в полном разрешении независимо от того, на какой стадии находится видеопоток.

Что изменилось с переименованием

Теперь репозиторий называется StanLukuvka/ComfyUI-SPEED вместо StanLukuvka/ComfyUI-MiniMax-H3-SPEED, а changelog собирает эти изменения под версией 2.0.0. Когда пакет был ещё только для H3, этот сайт рассказывал о его наборе семплеров V2.

  • Шесть узлов в двух семействах. SPEED KSampler, SPEED KSampler (Manual) и SPEED KSampler Sigma Harvest принимают model, условие и latent_image, как собственный KSampler в ComfyUI, и сами собирают шум, гид, семплер и расписание сигм. Семейство расширенных узлов сохраняет подключение SamplerCustomAdvanced для MiniMax H3.
  • Flow-модели изображений. MOSS Image и Krea 2 работают через узлы KSampler. Пакет отклоняет не-flow модели, такие как чекпойнты EPS или v-prediction, с ошибкой, как в семплерах, так и в Harvest.
  • Изображение в изображение. denoise работает как в KSampler: первая стадия стартует из закодированного изображения, уменьшенного до размера этой стадии, а Automatic пропускает грубые стадии, которые сокращённое расписание уже прошло.
  • Референсные латенты в моделях редактирования. Модели редактирования, принимающие reference_latents, например Flux 3 Klein, раньше на грубой стадии видели только левый верхний угол референса. Теперь узлы KSampler масштабируют референсные латенты на каждой стадии и восстанавливают их для последней.
  • Никаких встроенных значений по умолчанию. noise_amplitude и noise_decay_exponent теперь начинаются с 0 и завершаются ошибкой, пока вы не выполните калибровку Harvest. Для базового H3 с Euler README приводит эталонные значения 35.4213 и 1.0126.
  • Переименованные узлы. Прежние ID MiniMaxH3* остаются зарегистрированными как устаревшие подклассы, поэтому сохранённые рабочие процессы по-прежнему загружаются, а узлы можно менять по одному.

Именно в Sigma Harvest происходит калибровка под конкретную модель. Он один раз прогоняет ваш семплер и расписание в полном разрешении, без цепочки SPEED, измеряет, как мощность остатка падает с частотой, и подгоняет P(ω) = A·|ω|^-β. Затем Automatic вычисляет границы каждой стадии по этой подгонке, а Harvest сообщает r² и метку health (good при r² 0.7 и выше, fair при 0.4, затем weak, suspect и invalid), чтобы вы знали, стоит ли доверять подгонке.

Измеренные ускорения

Новые данные по H3 заменяют прежний 10-секундный клип на 5-секундный клип с латте-артом в 960x544, выполненный на Modal L40S с одной калибровкой Harvest (A 35.4213, β 1.0126). Обычная выборка заняла 288 с в сессиях с допуском 0.01 и 0.05 и 276 с в сессии с 0.005, и каждое ускорение измеряется относительно своей сессии.

Допуск2 стадии3 стадии4 стадии
0.005238 с (1.16x)236 с (1.17x)227 с (1.22x)
0.010238 с (1.21x)226 с (1.27x)224 с (1.29x)
0.050206 с (1.40x)194 с (1.48x)182 с (1.58x)

Та же пара рядом: слева обычная выборка, справа SPEED с допуском 0.05 и 4 стадиями.

Автор сообщает, что ни в одном из десяти клипов H3 нет цветовой вспышки, и что налив, латте-арт и надпись сохраняются в каждом прогоне. Это ниже, чем 2.41x, которые тот же репозиторий сообщал для своего предыдущего клипа H3 на RTX 5080, поэтому рассматривайте множитель как свойство клипа, GPU и калибровки, а не метода.

Изображения это гораздо более короткие прогоны, и цифры там меньше:

МодельНативноAutomatic, 3 стадии, допуск 0.05Manual, 0.5x до половины шагов
MOSS Image, 1344x768, 20 шагов, CFG 522 с18 с (1.26x)14 с (1.54x)
Krea 2 raw, fp8, 1216x832, 52 шага, CFG 3.5283 с215 с (1.31x)183 с (1.55x)
MOSS Image: слева нативно, справа SPEED с 3 стадиями

MOSS Image в 1344x768, тот же seed и промпт. Слева: нативно, 22 с. Справа: SPEED с 3 стадиями, 18 с.

Krea 2: слева нативно, справа SPEED с 3 стадиями

Krea 2 в 1216x832, 52 шага. Слева: нативно, 283 с. Справа: SPEED с 3 стадиями, 215 с. Автор отмечает, что строки Krea 2 это одиночные прогоны на карте с 8 ГБ, запускающей модель на 13 ГБ, поэтому они различаются на десятки секунд.

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

Композиция против скорости

noise_policy определяет, откуда берётся дополнительная высокочастотная детализация при каждом переключении. coupled_full_grid повторно использует поле шума, которое использовал бы обычный прогон SamplerCustomAdvanced, поэтому тот же seed сохраняет ту же композицию, и на клипах H3 это экономило лишь 5-10 процентов. direct_coarse создаёт собственное заполнение: он меняет картинку при заданном seed и экономил 15-30 процентов на тех же клипах.

Рабочие процессы

В репозитории есть три примера графов: в каждом на одном наборе загрузчиков стоят узлы Harvest, Automatic и Manual, и активен только Automatic.

Граф H3 запускает расширенные узлы с Euler, simple-планированием на 20 шагов, 3 стадиями и допуском 0.005. Два графа для изображений запускают узлы KSampler с Euler: 20 шагов для MOSS Image и 52 шага для Krea 2, 3 стадии и допуск 0.05.

Ограничения

  • Принимаются только flow-модели (CONST) изображений, как в семплерах, так и в Harvest.
  • noise_mask и денойзинг с маской не поддерживаются.
  • В расширенных узлах latent_image должен быть пустым на старте; изображение-в-видео идёт через keyframe-условие H3, которое пакет сам масштабирует и восстанавливает.
  • Каждая стадия это отдельный вызов семплера, поэтому многошаговые семплеры перезапускают свою историю при каждом изменении разрешения. Давайте каждой стадии минимум 2 шага.
  • Некоторые семплеры по-прежнему ведут себя неправильно на H3: dpm_fast и dpm_adaptive никогда не завершают денойзинг, а uni_pc ломается, когда стадия получает один шаг.

Доступность

На момент написания у репозитория было 110 звёзд. Анонс вышел в r/StableDiffusion; независимого воспроизведения цифр по моделям изображений на момент написания опубликовано не было.

Комментарии

Войдите через GitHub, чтобы участвовать в обсуждении.

Загрузка комментариев…
ComfyUI SPEED теперь ускоряет и модели изображений, не только H3 | ComfyUI Wiki