Viggle Turbo v0.3: Qwen-Image 2.1 за 6 и 9 шагов в ComfyUI

ComfyUI Wikinews

Дистилляция Qwen-Image 2.1 от Viggle v0.3 добавляет 9-шаговый режим и официальные ноды ComfyUI, workflow и объединённые веса для генерации и правок за 6 шагов.

Viggle Turbo v0.3 (Hugging Face) это новая версия малошаговой дистилляции Qwen-Image 2.1 от Viggle: 6 шагов без classifier-free guidance вместо 40, а теперь ещё и второй режим на 9 шагов, который отдаёт последние два шага обратно базовой модели. Но более важное изменение для пользователей ComfyUI это упаковка: v0.3 поставляет свои собственные пользовательские ноды, рабочие процессы для text-to-image и редактирования, а также объединённые однофайловые трансформеры в int8, fp8 и GGUF, вместо того чтобы оставлять портирование сообществу.
Панорама 360 градусов в равноугольной проекции, сгенерированная из одной фотографии с помощью Viggle Turbo v0.3

Панорама 360 градусов в равноугольной проекции, собранная из одной перспективной фотографии: сгенерирована в v0.3 за 9 шагов при 2176x1088. Источник: вкладка сравнения demo Space от Viggle.

Что меняет v0.3

Сама дистилляция не изменилась: это LoRA ранга 256 на базовом трансформере Qwen-Image 2.1, сэмплируемая по фиксированному расписанию сигм с true_cfg_scale=1.0 и без негативного промпта. v0.3 смещает баланс, а не метод.

  • 6 шагов, перенастроено. По сравнению с v0.2.1 результаты менее зернистые и чище на плоских поверхностях, а мелкая текстура чуть мягче. Viggle прямо указывает, что это не строгое обновление: если вам больше нравился более чёткий вид v0.2.1, этот адаптер остаётся в репозитории.
  • Новый 9-шаговый режим. Семь turbo-шагов, затем LoRA отключается, и последние два шага завершает неизменённая базовая модель. Детализация тоньше, а мелкий отрисованный текст чаще получается правильным. Это занимает примерно в 1,4–1,5 раза больше времени, чем 6 шагов, что всё ещё примерно в 3,5 раза быстрее базовой модели на 40 шагов.
  • Заявленный потолок. Viggle пишет, что 6 шагов близки к пределу возможностей этого «ученика»: каждый найденный с v0.2.1 выигрыш чем-то платил, более высокая резкость шла с большей зернистостью, а меньшая зернистость с более мягким видом. За этой точкой за качество приходится платить шагами, что и делает 9-шаговый режим.

Режим на 9 шагов

Путь на 9 шагов это не просто более длинное расписание. Пайплайн вычисляет текстовые и референсные K/V один раз и переиспользует их; 7 turbo-шагов заполняют этот кэш, поэтому первому шагу базовой модели приходится пересчитать его до того, как LoRA отключается и управление берёт на себя база. В diffusers это означает step callback и обёртку вокруг forward трансформера, и то и другое показано в карточке модели:

SIGMAS_9 = [1.0, 0.9583, 0.9167, 0.875, 0.75, 0.5, 0.25, 1 / 6, 1 / 12]

6-шаговое расписание сохраняет низкошумовые узлы 0.875, 0.75, 0.5, 0.25 и добавляет шаги только на высокошумовом конце: 5 шагов это [1, 0.875, 0.75, 0.5, 0.25], 7 шагов это [1, 0.9583, 0.9167, 0.875, 0.75, 0.5, 0.25]. Если вместо этого сдвигать низкошумовые узлы, результаты становятся мягче, а передача простого числа шагов без списка сигм не работает.

9 шагов сейчас работают только в diffusers и demo Space. Рабочие процессы ComfyUI реализуют 6-шаговое расписание.

Официальная поддержка ComfyUI

Это та часть, которой не было в v0.2. В релиз теперь входит порт для ComfyUI в папке comfyui/ репозитория модели, протестированный на ComfyUI 0.37.0 с нативной поддержкой Qwen-Image 2.1:

  • viggle_turbo.py добавляет два узла. Скопируйте его в ComfyUI/custom_nodes/ и перезапустите ComfyUI.
  • Viggle Turbo Sigmas предоставляет 6-шаговое расписание с зависящим от разрешения сдвигом пайплайна; используется с euler и BasicGuider вместо scheduler KSampler, без CFG и без негативного промпта.
  • Viggle Turbo LoRA (unmerged) применяет адаптер во время выполнения так же, как diffusers. Штатные загрузчики LoRA объединяют его с весами, и по измерениям Viggle это отбрасывает около 30 процентов обновления этого адаптера в bf16 и добавляет шум на int8. Необъединённый нод стоит на 10–25 процентов больше времени на шаг.
  • Рабочие процессы для text-to-image и редактирования, а также варианты для объединённых однофайловых весов и для GGUF.

С настройками int8 по умолчанию, включёнными r128 LoRA и усилителем промпта рабочие процессы достигают пика примерно в 26 ГБ VRAM при 1248x832. В карточке модели также отмечено, что порт для ComfyUI в основном написан с помощью ИИ-ассистента по коду, поэтому шероховатости ожидаемы, а исправления приветствуются.

Объединённые однофайловые трансформеры

Если вы предпочитаете вообще не загружать LoRA, v0.3 также поставляет базовый трансформер, в который адаптер ранга 256 уже объединён в fp32 и один раз квантован. Файлы помещаются в models/diffusion_models/; версии GGUF требуют ComfyUI-GGUF, а при любом варианте всё ещё нужен Viggle Turbo Sigmas из пользовательского нода. Таким способом доступен только 6-шаговый режим.

ФорматРазмерЗагрузчик ComfyUILPIPS v0.3LPIPS v0.2.1
GGUF Q8_07.7 ГБUnet Loader (GGUF)0.0510.054
int8, рецепт convrot от Comfy-Org7.3 ГБЗагрузить модель диффузии0.0570.060
GGUF Q6_K6.0 ГБUnet Loader (GGUF)0.0550.067
fp8 e4m3fn, только веса7.3 ГБЗагрузить модель диффузии0.0680.070
GGUF Q5_K_M5.1 ГБUnet Loader (GGUF)0.0760.083
GGUF Q4_K_M4.3 ГБUnet Loader (GGUF)0.1000.118
int8 плюс r128 LoRA (рабочие процессы с LoRA)8.0 ГБЗагрузить модель диффузии0.0410.044

LPIPS это среднее расстояние VGG от Viggle до diffusers, работающего с LoRA ранга 256, по 96 отложенным запросам с одинаковыми промптом, входами, seed и шумом; меньше значит ближе. Для масштаба: ComfyUI и diffusers различаются примерно на 0.03–0.04 без загруженной LoRA.

Объединённые веса близки к пути с LoRA, но не идентичны ему. Примерно в 8 из этих 96 запросов сборки int8 или Q8_0 дают другую композицию или одежду, против 3–5 в рабочем процессе с LoRA. Q4_K_M заметно сильнее отклоняется: 23–29 из 96, и Viggle рекомендует его только тогда, когда ничего большего не помещается в память.

Базовая модель на 40 шагов против 6 и 9 шагов

Примеры ниже взяты из вкладки Comparison в собственном demo Space от Viggle. Во всех столбцах используются одинаковые промпт, входы, seed и шум.

Базовая модель, 40 шаговViggle Turbo v0.3 за 6 шаговViggle Turbo v0.3 за 9 шагов
Базовая модель, 40 шаговv0.3, 6 шаговv0.3, 9 шагов

Референс персонажа, перенесённый в сцену с настилом в мангровом лесу, 1344x1760. Результат за 6 шагов самый чистый из двух turbo-столбцов; 9 шагов возвращают часть мелкой текстуры.

9-шаговый режим нацелен на два места, где 6-шаговый «ученик» всё ещё уступает базовой модели: плотный отрисованный текст и мелкие детали. Вертикальный скриншот приложения с большим количеством мелкого текста интерфейса при 1536x2720 это разумный стресс-тест, и вкладка сравнения запускает один из таких.

Базовая модель, 40 шагов, на плотном скриншоте приложенияViggle Turbo v0.3 за 9 шагов на том же скриншоте
Базовая модель, 40 шаговv0.3, 9 шагов

Дистилляция также работает с максимум 3 референсными изображениями в diffusers, и групповой портрет из шести изображений ниже проверяет этот путь: шесть личностей, один промпт, один интерьер бара.

Базовая модель, 40 шагов, на групповом портрете из шести референсовViggle Turbo v0.3 за 6 шагов на том же групповом портрете
Базовая модель, 40 шаговv0.3, 6 шагов

Скорость

Те же сравнения, секунды на изображение, как указано в demo Space:

СлучайРазрешениеБаза, 40 шаговv0.3, 6 шаговv0.3, 9 шагов
Портрет по референсу1344x176014.0 с2.9 с4.0 с
Групповой портрет из шести референсов1248x188825.8 с5.9 с8.8 с
Плотный скриншот приложения1536x272026.9 с4.9 с6.8 с
Панорама 360 градусов2176x108814.3 с2.9 с4.1 с

Чего он по-прежнему не умеет

Карточка модели необычно прямо говорит об оставшемся разрыве. Сложное редактирование это по-прежнему то место, где «ученик» отстаёт: композиция по нескольким референсам, замена лиц и инструкции с сохранением личности могут давать дублированных или «призрачных» персонажей и дрейф личности. Мелкий или длинный отрисованный текст искажается чаще, чем у базовой модели, и 9 шагов помогают, но не исправляют это. Цвета получаются на несколько процентов менее насыщенными. Вывод в 2K, вывод RGBA, редактирование по маске и редактирование с более чем 3 референсами проверяются только на глаз во вкладке сравнения, без заявленных бенчмарков.

Комментарии

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

Загрузка комментариев…
Viggle Turbo v0.3: Qwen-Image 2.1 за 6 и 9 шагов в ComfyUI | ComfyUI Wiki