Запись архива

Stable Diffusion 3 и MMDiT: почему стало лучше с текстом

Разбираем работу Stability AI от 5 марта 2024 года: как MMDiT, синтетические подписи и стек текстовых энкодеров сделали Stable Diffusion 3 заметно сильнее в prompt following и типографике.

Схема работы MMDiT в Stable Diffusion 3: текстовые токены из CLIP и T5, латенты изображения, совместное attention и декодирование результата

22 февраля 2024 года Stability AI анонсировала Stable Diffusion 3 в режиме early preview, а 5 марта 2024 года выпустила исследовательский материал и препринт Scaling Rectified Flow Transformers for High-Resolution Image Synthesis. Именно этот мартовский срез мы и разбираем здесь: не более поздние версии семейства, а исходную исследовательскую постановку SD3.

Главная новинка работы — мультимодальный diffusion transformer, который в официальных материалах фигурирует как MMDiT или MM-DiT. Но если читать первоисточник внимательно, то ответ на вопрос «почему SD3 лучше работает с текстом» нельзя свести к одной архитектурной замене: в статье сходятся и новый backbone, и более подробные подписи к данным, и несколько текстовых энкодеров, и другой training recipe.

Коротко

  • В SD3 текст перестаёт быть только внешним условием для денойзера: в MM-DiT текстовые и визуальные токены проходят через совместное attention, но при этом обрабатываются разными наборами весов.
  • Улучшение работы с промптами объясняется не только MM-DiT. В той же статье авторы меняют формулировку rectified flow, автоэнкодер, смесь подписей и высокоразрешающий fine-tuning.
  • Самая показательная абляция для темы текста — recaptioning: по данным авторов, смесь из 50% синтетических и 50% исходных подписей подняла общий результат на GenEval с 43.27 до 49.78.
  • В финальном Table 5 авторы сообщают, что их модель depth=38, 1024², w/DPO получила на GenEval 0.74 против 0.67 у DALL·E 3 и 0.55 у SDXL. Это авторское сравнение, а не независимая репликация.
  • Удаление T5 на инференсе экономит память, но хуже всего бьёт по типографике: по данным статьи и официального research-поста, win rate версии без T5 составил 50% по эстетике, 46% по prompt adherence и 38% по typography.

Контекст

Чтобы понять, что именно поменялось в SD3, полезно вспомнить предыдущее поколение. В SDXL Stability AI всё ещё работала в парадигме latent diffusion с большим U-Net backbone, cross-attention к тексту и двумя текстовыми энкодерами. Это дало заметный прирост качества относительно SD 1.x и 2.x, но не сняло старую проблему text-to-image систем: длинные и композиционно сложные промпты, отношения между объектами и особенно встроенный текст оставались узким местом.

Это видно не только по материалам Stability. Авторы бенчмарка GenEval в 2023 году прямо писали, что современные text-to-image модели улучшились, но всё ещё слабы в пространственных отношениях и привязке атрибутов. Параллельно OpenAI в работе про DALL·E 3 утверждала, что один из главных источников проблемы — бедные и шумные подписи в обучающих данных: если recaptioning сделать более подробным, prompt following растёт.

На этом фоне SD3 — это не просто «ещё одна версия Stable Diffusion», а попытка одновременно пересобрать три слоя системы: как модель читает текст, как она движется по траектории генерации и какой текстовый сигнал вообще получает на обучении.

Метод

1. Что такое MMDiT в Stable Diffusion 3

Архитектурно SD3 остаётся latent diffusion-моделью: изображение сначала кодируется автоэнкодером в латентное пространство, а затем денойзер работает уже не по пикселям, а по латентам. Но сам denoiser меняется радикально: вместо U-Net из SDXL используется transformer backbone, выросший из DiT.

Ключевая идея MM-DiT такова. Текст и изображение представлены токенами одной длины скрытого пространства, но для них не используется один общий набор параметров. Авторы пишут, что текстовые и визуальные эмбеддинги «концептуально очень разные», поэтому вводят два отдельных набора весов — по сути, два потока обработки. При этом на шаге attention последовательности объединяются, так что текстовые и визуальные токены могут влиять друг на друга внутри каждого блока.

Практически это означает следующее:

  1. Промпт кодируется не одним энкодером, а тремя: двумя CLIP-моделями и T5.
  2. Изображение кодируется улучшенным автоэнкодером в латенты, которые режутся на патчи 2×2.
  3. Текстовые токены и патчи изображения приводятся к общей размерности и идут в общую последовательность.
  4. Внутри блока attention они видят друг друга, но обновляются через разные наборы весов для разных модальностей.

Это важное отличие от SDXL-подхода, где текст в основном выступал как внешнее условие через cross-attention. В SD3 текст становится частью внутреннего состояния денойзера на всём протяжении генерации.

2. Какие ещё изменения влияют на работу с текстом

Именно здесь начинается самое важное уточнение: если говорить честно, paper про SD3 показывает не «чистый эффект MMDiT», а эффект целого стека изменений.

  • Rectified Flow с новым reweighting. Авторы переходят к rectified flow и дополнительно перевзвешивают траекторию обучения так, чтобы больше внимания доставалось промежуточным шумовым уровням. По их аргументации это помогает и качеству, и few-step sampling.
  • Более ёмкий автоэнкодер. В статье выбирается вариант с d=16 latent channels вместо более узких конфигураций, чтобы верхняя граница качества реконструкции была выше.
  • Синтетические подписи. Stability берёт CogVLM и строит смесь 50/50 из исходных и синтетических описаний. Это напрямую касается того, как модель учится связывать слова, атрибуты и композицию.
  • Несколько текстовых энкодеров. CLIP даёт сильный короткий семантический сигнал, а T5, по логике статьи, особенно полезен для длинных описаний и текста внутри изображения.
  • QK-normalization и high-resolution fine-tuning. При переходе к большим разрешениям авторы добавляют нормализацию запросов и ключей в attention, опираясь на более раннюю ViT-литературу о стабильности обучения.
  • DPO-дообучение. Финальные лучшие строки Table 5 уже включают preference alignment, то есть это не просто «сырая» base-модель.

Иначе говоря, MMDiT — центральная часть истории, но не вся история. Если перенести только архитектуру и не перенести recaptioning, стек энкодеров и режим fine-tuning, результат может оказаться гораздо скромнее.

Результаты

Для темы «почему стало лучше с текстом» особенно полезны не красивые примеры из блога, а две группы результатов из самой статьи: промежуточные абляции про подписи и финальное сравнение на GenEval. Ниже — выборка чисел, которые авторы сами публикуют в статье; это авторские измерения, а не независимая внешняя валидация.

Сравнение Метрика Авторский результат Что это показывает
Исходные подписи vs смесь 50/50 синтетических и исходных GenEval overall 43.27 → 49.78 Более подробный текст обучения заметно улучшает prompt following даже без смены всей остальной системы.
Исходные подписи vs смесь 50/50 GenEval color attribution 11.75 → 24.75 Особенно выигрывают задачи, где нужно правильно привязать атрибут к объекту.
SDXL vs SD3 depth=38, 1024², w/DPO GenEval overall 0.55 vs 0.74 По данным авторов, итоговая SD3-конфигурация лучше справляется с композиционным соответствием промпту.
DALL·E 3 vs SD3 depth=38, 1024², w/DPO GenEval overall 0.67 vs 0.74 Внутри собственного paper Stability показывает превосходство над сильным закрытым конкурентом именно по compositional prompt alignment.
SD3 со всеми энкодерами vs SD3 без T5 на инференсе Win rate версии без T5 эстетика 50%, prompt adherence 46%, typography 38% T5 меньше влияет на «красивость», но заметно важнее для длинных формулировок и написанного текста.

Есть и более тонкий результат. В Table 5 видно, что даже у сильных моделей самые слабые категории — не single object, а position и особенно color attribution. Это хорошо согласуется с тем, что описывали авторы GenEval: модели обычно раньше учатся «что должно быть в кадре», чем «как именно объекты и атрибуты соотносятся друг с другом».

Наконец, официальный research-пост Stability от 5 марта 2024 года отдельно подчёркивает качественный результат по human preference: SD3, по данным компании, равен или лучше ряда state-of-the-art систем по prompt following и typography. Но в практическом разборе полезнее опираться именно на табличные абляции paper, потому что их проще аудировать.

Интерпретация

Наш комментарий

Если убрать маркетинговый слой, главная мысль работы такая: SD3 стал лучше с текстом не потому, что transformer «магически понял язык», а потому что разработчики сделали текст первоклассным участником denoising-процесса.

В U-Net-схеме типа SDXL текст часто ведёт себя как внешняя подсказка, которая модулирует генерацию. В MM-DiT текстовые токены находятся внутри общей вычислительной трассы вместе с визуальными токенами. Раздельные веса уменьшают риск того, что модель будет слишком рано усреднять несовместимые статистики текста и изображения, а совместное attention не даёт модальностям полностью разойтись.

Но ещё важнее другое: paper SD3 фактически подтверждает тезис из работы OpenAI про DALL·E 3. Архитектура важна, однако качество текстового supervision не менее важно. Самая убедительная абляция в статье — это не сравнение с DALL·E 3, а скачок GenEval после замены части обычных подписей на более подробные синтетические.

Для практиков отсюда следует неприятный, но полезный вывод. Если вы строите собственный text-to-image стек, адаптер или instruction-tuned генератор, то простая замена U-Net на «что-то трансформерное» не гарантирует прироста в prompt following. Без recaptioning, сильного текстового стека и аккуратной high-resolution training recipe вы можете получить более дорогую архитектуру без соответствующего выигрыша в понимании промпта.

Ограничения и критика

  • Эффект MMDiT в финальной конфигурации частично спутан с другими изменениями. В статье есть сравнение backbone-архитектур, но итоговые лучшие результаты уже включают и новые подписи, и high-resolution fine-tuning, и DPO. Поэтому утверждение «всё улучшение дал именно MMDiT» было бы слишком сильным.
  • GenEval измеряет важную, но узкую сторону качества. Бенчмарк полезен тем, что проверяет композиционные свойства промпта, однако он не равен общей полезности модели. Сами авторы GenEval описывают ограничения детекторов и цветовых классификаторов, особенно на необычных стилях и out-of-distribution изображениях.
  • Human preference в материалах Stability менее прозрачен, чем табличные benchmark-результаты. Official blog summarises победы по aesthetics, prompt following и typography, но для внешнего аудита удобнее воспроизводимые открытые бенчмарки, чем фирменные pairwise-опросы.
  • Исторический срез важен. Этот разбор относится к состоянию SD3 на 5 марта 2024 года. Нельзя автоматически переносить те же выводы на более поздние варианты семейства или на более маленькие релизные модели.
  • Даже сильные результаты не означают, что проблема текста решена полностью. В той же Table 5 у лучших моделей остаются сравнительно слабые зоны в spatial relations и attribute binding. То есть SD3 улучшает ситуацию, но не закрывает её окончательно.

Вывод

Короткий ответ на вопрос из заголовка такой: в Stable Diffusion 3 стало лучше с текстом потому, что текст перестал быть только внешней подсказкой к генератору. MMDiT сделал языковой сигнал частью внутренней динамики denoiser, а более подробные подписи, T5 и новый training recipe дали этой архитектуре материал, с которым она может работать.

Поэтому главный урок paper не в том, что «transformer победил U-Net» сам по себе. Более точная формулировка — prompt following в text-to-image моделях улучшается, когда одновременно переделывают архитектуру, текстовый supervision и режим обучения.

Источники

FAQ

Это просто DiT, переименованный для маркетинга?

Нет. SD3 наследует идеи DiT, но добавляет раздельные наборы весов для текстового и визуального потоков при совместном attention. Именно это и образует MM-DiT/MMDiT.

Получается, весь прирост дал только новый backbone?

Нет. По самой статье видно, что заметную долю прироста дают более подробные синтетические подписи, стек из CLIP и T5, high-resolution fine-tuning и DPO. Сводить всё к одной архитектуре было бы неточно.

Почему T5 вообще важен, если уже есть CLIP?

По данным авторов, без T5 почти не страдает эстетика, умеренно проседает prompt adherence и сильнее всего проседает typography. Это косвенно говорит, что T5 особенно помогает там, где нужен длинный и детальный языковой контекст.

Можно ли считать SD3 полностью решившей проблему текста в изображениях?

Нет. Даже в лучших строках Table 5 остаются слабые места в spatial relations и attribute binding. SD3 улучшает работу с текстом, но не делает её безошибочной.

Читайте также