InstantFusion: эстафета между генераторами изображений
Три генератора изображений, которые обучали независимо друг от друга, на разных данных и с разными архитектурами, хранят картинку внутри почти одинаково. Команда исследователей заметила это и построила на наблюдении InstantFusion: интерфейс, который позволяет начать генерацию в одной модели, а закончить в другой, не переобучая ни одну из них.
Выгода измеримая. Qwen-Image, один из сильнейших открытых генераторов, рисует картинку 18,84 секунды. Если подключить к нему через InstantFusion быстрый FLUX.2-Klein, время падает до 2,545 секунды, то есть в 7,4 раза. Обратная задача тоже решается: слабую модель можно подтянуть к сильной, передавая ей сигналы прямо во время денойзинга.
Что такое InstantFusion
InstantFusion соединяет траектории денойзинга разных генераторов через общее латентное пространство. Каждая модель остаётся замороженной и получает только небольшой кодировщик-переводчик, который переводит промежуточное состояние из внутреннего формата одной модели в формат другой. Весь интерфейс занимает 1,532 миллиона параметров, и ни один лишний шаг денойзинга при этом не добавляется. Работа выложена на arXiv 9 октября 2026 года, эксперименты шли на четырёх генераторах: SD3, FLUX.1, Qwen-Image и Z-Image.
Чужие латентные пространства оказались совместимы
Генерация изображений в диффузионных и flow-моделях устроена как постепенное превращение шума в картинку, шаг за шагом. У каждой модели при этом свой внутренний формат: Qwen-Image работает с тензорами [1,16,1,128,128], SD3 и FLUX.1 с [1,16,128,128]. Разные токенизации, разные параметризации, разные рецепты обучения, поэтому неудивительно, что такие модели принято считать несовместимыми и запускать по отдельности.
Первое наблюдение авторов: несмотря на все различия, промежуточные состояния разных моделей организованы пространственно похожим образом, а плотность информации в них сопоставима. Второе получилось нагляднее. Исследователи останавливали SD3 на середине денойзинга и передавали промежуточное состояние SD3.5 или FLUX.1, чтобы те закончили работу. Внутри одного семейства передача проходила бесшовно, между семействами появлялись локальные артефакты, но центральный объект и грубая композиция кадра сохранялись.
Отсюда вывод: напрямую состояния не взаимозаменяемы, но кодируют частично общую структуру. Схожие выводы встречались и раньше: другие работы находили линейные соответствия между латентными пространствами независимо обученных моделей. Но они сопоставляли отдельные статические состояния и не проверяли, согласовано ли движение моделей по траектории денойзинга. Именно эту динамику и приходится выравнивать отдельно.
Как работает общий латентный интерфейс
Для каждой модели обучают свой Latent AutoEncoder, LAE. Кодировщик переводит промежуточное состояние в общее пространство, декодировщик возвращает его в формат целевой модели. Общее пространство узкое: 32 канала против 16 нативных, 64 скрытых канала и эмбеддинг уровня шума размером 128. Блоки построены по схеме time-conditioned residual, их по три в каждом LAE, и каждый знает, на каком этапе денойзинга он работает, подстраивая преобразование под этот этап. В кодировщике предусмотрено skip-соединение: исходное состояние передаётся в обход преобразования, чтобы при восстановлении можно было опереться на него и не потерять мелкие детали.
Обучение шло на 50 000 парах изображение-текст из датасета VisPrompt. Backbone-модели заморожены, обучаются только LAE, на восьми GPU в BF16 со стартовым learning rate 10 в минус четвёртой. За разные свойства отвечают три функции потерь: reconstruction сохраняет информацию при переводе, alignment сводит состояния разных моделей в одну точку общего пространства, dynamics выравнивает скорости движения вдоль траектории. Четвёртый, слабый член регуляризует нормы представлений, чтобы они не разъезжались по масштабу.
Почему выровнять состояния недостаточно
Даже после выравнивания состояний их дальнейшее движение расходится. На UMAP-визуализациях парные состояния из разных моделей ложатся близко друг к другу, а вот одношаговые смещения остаются разделёнными: косинусная близость высокая для состояний и заметно ниже для смещений. Проще говоря, точки сведены в одно место, но каждая модель из этой точки движется в свою сторону.
Поэтому к интерфейсу добавляется выравнивание динамики: MSE между одношаговыми смещениями, посчитанными в общем пространстве. Абляции показывают, что без этого компонента конструкция ломается. Уберите выравнивание динамики, и обучение при кросс-архитектурной дистилляции расходится, хотя состояния формально выровнены. Уберите реконструкцию, и перевод работает, но картинка теряет детали. Нужны все компоненты сразу.
Когда передавать эстафету
Момент передачи нельзя выбрать вручную: оптимальный шаг отличается для каждой пары моделей, а передать слишком рано не получится, потому что отправитель ещё не собрал из шума устойчивые структуры и получателю нечего продолжать. Поэтому момент выбирается онлайн.
Критерий опирается на предсказание: на каждом шаге модель-отправитель оценивает, каким будет финальное чистое изображение. Если два соседних предсказания согласованы между собой, структура стабилизировалась и можно переключаться. Порог задаётся одним параметром, никакой ручной настройки под конкретную пару не требуется. Контрольная проверка: чистая картинка, предсказанная в выбранный момент, уже содержит грубую композицию финального результата.
Ускорение: начать сильной моделью, закончить быстрой
Дорогая модель отвечает за ранние шаги, где закладывается композиция, быстрая заканчивает детали. Qwen-Image в паре с Z-Image-Turbo выдаёт картинку за 4,373 секунды против 18,84 у одиночного Qwen-Image, в паре с FLUX.2-Klein за 2,545 секунды.
Качество по GenEval-v2 при этом падает: 33,34 и 27,19 против 41,73 у полного Qwen-Image. GenEval-v2 проверяет точность следования промпту, так что часть этой точности теряется. Зато OneIG-Bench, который оценивает нюансы вроде разнообразия и проработки деталей, у обоих гибридов выше: 0,5386 и 0,5467 против 0,4849. Размен понятный: скорость против строгости, и для черновиков или массовой генерации такой размен выглядит оправданным.
Для сравнения, более ранний каскадный метод T-Stitch на той же задаче обваливает GenEval-v2 до 7,76, потому что работает только с моделями, состояния которых напрямую взаимозаменяемы.
Метод складывается с другими ускорениями. С кэшированием DiCache гибрид Qwen-Few-Step + Qwen-Image разгоняется с 10,64 до 5,70 секунды, а GenEval-v2 меняется с 32,70 на 32,46, то есть почти не меняется. Лишних вызовов денойзера интерфейс не добавляет: в трёхмодельном конвейере 50 шагов просто делятся как 17+17+16. Латентность гибридов ожидаемо оказывается между их компонентами: FLUX.1 в паре с SD3 это 7,16 секунды против 3,61 у SD3 и 10,70 у FLUX.1.
Качество: усиление слабых моделей и композиция
Вторая группа применений не про скорость, а про качество. Слабая модель в паре с сильной заметно прибавляет: SD3 с Qwen-Image набирает 35,06 на GenEval-v2 против своих 22,14, прирост 12,92 пункта. FLUX.1 с Qwen-Image: 36,54 против 22,86, плюс 13,68. Оба гибрида при этом уступают чистому Qwen-Image (41,73), но заметно превосходят свою слабую половину.
Дистилляция между архитектурами тоже стала возможной. Раньше on-policy distillation требовала, чтобы учитель и ученик были из одного семейства, а теперь сигнал передаётся напрямую через общее пространство: SD3-ученик подтягивается с 26,27 до 26,46 по HPSv2, получая подсказки от Qwen-Image с его 27,92. Учится при этом только LoRA ранга 64 на стороне ученика, до 50 эпох, всё остальное заморожено.
Третий сценарий: композиция предпочтений. Если есть два эксперта, обученных под разные награды, их можно соединить без совместного обучения, переключаясь между ними через общее пространство. Гибрид GenEval-v2 + HPSv2 набирает 30,97 и 30,68, обходя прямое смешивание velocity-полей (29,39 и 27,40) и почти догоняя модель, обученную на обе награды сразу (30,49 и 28,41).
Наконец, каскады из трёх моделей. Все шесть порядков SD3, FLUX.1 и Qwen-Image протестированы, и интерфейс выдерживает любую перестановку. Итоговое качество зависит от того, какая модель начинает процесс: лучший результат у схемы с Qwen-Image в начале (33,13 на GenEval-v2), худший у SD3 → FLUX.1 → Qwen (19,99).
Зачем это нужно сейчас
Составные пайплайны, где генерацию ведут несколько моделей подряд, существуют давно: от каскадных схем до планировщиков вроде OMS-DPM и T-Stitch. Все они работают только с моделями, чьи состояния напрямую взаимозаменяемы, то есть как правило внутри одного семейства. InstantFusion снимает это ограничение: интерфейс обучается один раз и дальше соединяет любые пары из поддерживаемого набора, без отдельного маппинга под каждую комбинацию.
Предел прочности и ограничения
Один проход через общее пространство почти незаметен для картинки: PSNR выше 31 дБ, SSIM выше 0,94. Но ошибки накапливаются при повторных циклах: после пяти проходов PSNR опускается до значений от 22,7 до 23,4 дБ, после десяти до значений от 19,1 до 20,1. Для многоступенчатых конвейеров это означает, что число передач стоит держать небольшим.
Есть и структурные ограничения. Формулировка опирается на общий автоэнкодер и совместимую параметризацию времени у всех участников; модели с разными автоэнкодерами пока не поддерживаются, и это главный нерешённый случай. Второе ограничение практическое: гибридный инференс требует держать в памяти несколько замороженных backbone-моделей одновременно, так что память и диск расходуются пропорционально размеру конвейера. Оптимизацию динамической загрузки и выгрузки авторы называют одной из главных задач на будущее.
Часто задаваемые вопросы
InstantFusion заменяет обучение новых моделей?
Нет. Интерфейс ничего не переобучает: все генераторы заморожены, обучается только небольшая надстройка, около 1,5 млн параметров. Если нужна одна сильная модель с нуля, этот подход не поможет. Если нужно собрать систему из нескольких готовых, он даёт инструмент, которого раньше не было. Дистилляция через интерфейс это дополнительный этап, который запускается отдельно.
Можно ли соединить любые две модели?
Пока нет. Нужен общий автоэнкодер и совместимая временная параметризация, поэтому в экспериментах участвуют четыре модели на близких VAE. Внутри этого ограничения комбинации свободные: пары, тройки и любые порядки перестановок работают. Расширение на разные автоэнкодеры авторы называют направлением будущей работы.
Не портится ли картинка при передаче?
Одиночная передача почти незаметна: PSNR выше 31 дБ, SSIM выше 0,94, а предсказание на моменте переключения уже содержит грубую композицию финала. Артефакты копятся при многократных переводах туда-обратно, поэтому в каскадах стоит ограничивать число передач. В экспериментах трёхмодельные конвейеры с двумя передачами показывают стабильные результаты.
Чем это отличается от объединения моделей?
Объединение смешивает веса двух сетей и требует совместимых архитектур. InstantFusion не трогает веса вообще: модели остаются собой, а вся связка живёт в отдельном лёгком интерфейсе. Поэтому он работает и с моделями разных семейств, которые смешать напрямую невозможно.
Итог
InstantFusion показывает, что генераторы изображений, обученные в изоляции друг от друга, говорят на почти одном внутреннем языке. Лёгкий интерфейс на 1,5 млн параметров переводит между ними состояние денойзинга на лету: ускоряет дорогие модели, усиливает слабые, соединяет экспертов и переносит знания между архитектурами. Практический вывод простой: если в пайплайне несколько генераторов, их больше не обязательно запускать по отдельности.
Близкие по теме разборы: DanceOPD, где похожую задачу объединения генераторов решают иначе, внутри одной модели, и история о том, как FID перестал быть надёжной метрикой генерации картинок. Первоисточник: InstantFusion: A Shared Latent Interface for Heterogeneous Image Generators.