MMDiT(多模态扩散 Transformer)
DiT 的多模态变体:文本流与图像流各持一套权重,仅在注意力处拼接做联合自注意力,实现两模态双向信息流动。出自 Stable Diffusion 3。
是什么
MMDiT(Multimodal Diffusion Transformer,也写作 MM-DiT)是 DiT(Diffusion Transformer) 的多模态骨干变体,由 Stability AI 在 Stable Diffusion 3 中提出(见 资料摘要:SD3(MMDiT))。
它把文本 token 与图像(latent patch)token 视为平等的两条流:
- 模态特异权重:每个 block 中,文本流与图像流各自拥有独立的 LayerNorm、AdaLN 调制参数、Q/K/V 投影和 MLP —— 因为两种模态的表示分布差异大,共享权重会互相拖累。
- 联合注意力:唯一”打通”两流的地方是注意力。把两流的 拼接后做一次联合自注意力,算完再按模态切回各自的流:
其中 为图像流、 为文本流。这样既保留模态特异表达,又实现文本↔图像的双向交互。
为什么重要
- 超越单向 cross-attention:原始 DiT / PixArt 用 cross-attention 把文本条件单向注入图像。MMDiT 的双向联合注意力在同等 CC12M 训练下优于 DiT、UViT、CrossDiT。
- 工业级文生图的主流骨干:SD3 之后被 FLUX 沿用,成为 2024 年后高分辨率 T2I 的事实标准骨干。
- 可规模化:随参数量(SD3 到 8B)与训练步数,验证损失平滑下降且强相关于生成质量,无饱和。
- 跨模态外溢:其”双流分权 + 联合注意力”思想被音频领域借用(资料摘要:UniSonate 的文本/音频双流、资料摘要:TangoFlux 的 MMDiT/DiT 骨干)。
工作原理
MMDiT 通常与 条件流匹配(CFM) / Rectified Flow 训练目标配套,而非传统 DDPM 噪声预测。单个 MM-DiT block 的数据流:
MMDiT block 架构.excalidraw
⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: ‘Decompress current Excalidraw file’. For more info check in plugin settings under ‘Saving’
Excalidraw Data
Text Elements
指向原始笔记的链接
关键步骤:
- 条件编码:图像潜表示切 2×2 patch 成图像 token;文本经 CLIP-L、CLIP-G、T5-XXL 三个冻结编码器,pooled CLIP → 调制向量 ,序列 token → 文本流。
- 双流调制:时间步 与 通过各流独立的 AdaLN 生成 scale/shift,分别调制文本流与图像流。
- 联合注意力:两流 拼接 → 一次注意力 → 切回;可选 QK-RMSNorm 稳定高分辨率训练。
- 各走各的 MLP:注意力后两流分别过自己的 MLP,进入下一个 block。
历史与演进
| 阶段 | 工作 | 与 MMDiT 的关系 |
|---|---|---|
| 前身 | 资料摘要:DiT(2022,ICCV 2023) | 用 Transformer + adaLN-Zero 替代 U-Net,单向条件注入 |
| 提出 | SD3(2024,资料摘要:SD3(MMDiT)) | 双流分权 + 联合注意力,配 Rectified Flow |
| 商业后继 | FLUX(Black Forest Labs) | 沿用 MM-DiT 骨干 |
| 规模化 | μP for DiT(2025) | 将 μP 扩展到 18B MMDiT |
| 音频迁移 | UniSonate、TangoFlux | 借用双流联合注意力思想到文本/音频 |
完整 DiT 家族谱系见 DiT 论文全景。
常见误解
- ❌ MMDiT 是一篇独立论文 → 它是 SD3 技术报告《Scaling Rectified Flow Transformers for High-Resolution Image Synthesis》中提出的架构模块,报告还并列贡献了 Rectified Flow 噪声采样改进。
- ❌ 只是把文本 token 拼进图像序列 → 关键在于两流各持独立权重,仅在注意力处融合;若共享权重就退化为普通 DiT。
- ❌ MMDiT = 双向 cross-attention → 它用的是联合自注意力(拼接后单次 attention),不是插入的独立交叉注意力层。
与相邻概念的区别
| 概念 | 区别 |
|---|---|
| DiT(Diffusion Transformer) | DiT 是通用扩散 Transformer 骨干(单向条件注入);MMDiT 是其多模态双流变体 |
| cross-attention 条件注入 | 单向(文本→图像);MMDiT 联合注意力是双向 |
| 条件流匹配(CFM) / Rectified Flow | 生成建模框架/训练目标;MMDiT 是与之配套的骨干网络 |
相关
- 资料摘要:SD3(MMDiT)
- DiT(Diffusion Transformer)
- 资料摘要:DiT
- DiT 论文全景
- 条件流匹配(CFM)
- 资料摘要:UniSonate — 音频侧 MM-DiT 双流变体
- 资料摘要:TangoFlux — Rectified Flow + MMDiT/DiT
- Wiki 目录