资料摘要:SD3(MMDiT)
Stability AI 的 Stable Diffusion 3 技术报告。两大贡献:① 系统化改进 Rectified Flow 训练的噪声采样(提出偏向感知相关尺度的 logit-normal / mode / CosMap 时间步采样器);② 提出 MM-DiT(多模态扩散 Transformer)——文本流与图像流各持一套权重、在注意力处联合,实现双向信息流动。规模化到 8B 参数,验证损失随规模平滑下降且强相关于生成质量。ICML 2024。 SD3 - Scaling Rectified Flow Transformers for High-Resolution Image Synthesis
核心要点
- MM-DiT 双流架构:文本、图像两种模态各自拥有独立权重(独立 LayerNorm、调制、Q/K/V 投影、MLP),但在每个 block 的注意力处把两条流的 Q、K、V 拼接做一次联合注意力,再切回各流。相比单向 cross-attention 的 DiT,实现文本↔图像双向信息流动,在同等 CC12M 训练下优于 DiT / UViT / CrossDiT。
- Rectified Flow + 感知加权噪声采样:在 61 种「训练形式化 × 采样器」组合的大规模对照中,rf/lognorm(0.00, 1.00)(RF + 位置 0、尺度 1 的 logit-normal 时间步采样)综合排名第一。核心洞察是让训练更多采样中间时间步(噪声与数据难以区分、去噪任务最难处),而非均匀采样。
- 可预测的规模化:从 depth 15 一路扩到 depth 38(约 8B 参数),验证损失随模型规模与训练步数平滑下降、无饱和,且与 GenEval、T2I-CompBench、人类偏好(ELO)强相关——验证损失可作为下游质量的代理指标。
- 更大模型采样步数更少:depth-38 在 5 步 / 50 步下 CLIP 分仅降 2.71%,而 depth-15 降 4.30%;采样路径随规模变直变短。
- 高分辨率关键工程:QK-RMSNorm 抑制高分辨率 bf16 混合精度下的注意力 logit 爆炸;分辨率相关的**时间步平移(timestep shift, α=3.0)**将低分辨率的噪声计划迁移到 1024²。
- 旗舰 8B 模型在 Parti-prompts 人类评测中在视觉质量、提示遵循、排版三方面均优于 SDXL / SDXL-Turbo / Pixart-α / Playground v2.5 / Ideogram v1.0 / DALL-E 3。
详细笔记
动机
- 扩散模型的前向过程可统一写作 。不同「形式化」(LDM-linear、cosine、EDM、Rectified Flow)本质是不同的 计划与损失加权。
- Rectified Flow(RF) 用连接数据与噪声的直线路径 ,理论上采样路径最短、可少步。但此前 RF 在大规模 T2I 上未被充分验证,且默认的均匀时间步采样并非最优。
- 架构上,原始 DiT 用单向 cross-attention 把文本条件”喂”给图像 token;作者认为文本、图像应作为平等的两条流双向交互。
方法一:Rectified Flow 与噪声采样
对照的形式化:Rectified Flow(预测速度,加权 )、EDM、Cosine、(LDM-)Linear,以及 ε-prediction / v-prediction × 线性/余弦计划。
为 RF 引入的三类时间步采样器(决定训练时如何在 上采 ):
| 采样器 | 形式 | 作用 |
|---|---|---|
| Logit-Normal | 对 logit(t) 取正态 | 位置 偏向数据(负)或噪声(正);尺度 控制宽度。中间时间步被更多采样 |
| Mode(重尾) | 上恒正 | 偏中点、 偏两端; 退化为均匀(此前 RF 用法) |
| CosMap | 匹配 cosine 计划的 log-SNR |
结论(ImageNet + CC12M,61 组):以非支配 Pareto 排名,rf/lognorm(0.00, 1.00) 综合第一(rank 1.54);rf/lognorm(1.00,0.60)、rf/lognorm(0.50,0.60)、rf/mode(1.29) 紧随。RF 在减少采样步数时性能退化最小。
方法二:MM-DiT 架构
潜空间:在预训练自编码器(LDM 式)的潜空间工作;本文将潜通道数从 4 提到 16(depth-16 AE 重建 FID 1.06,显著优于 4 通道的 2.41)。
三个冻结文本编码器并用:
- CLIP-L/14、CLIP-G/14 —— 提供 pooled 向量与序列
- T5-XXL —— 提供长序列语义
- pooled CLIP 拼成调制向量 (与时间步一起驱动 AdaLN 式调制);三者的序列 token(77+77+77)拼成上下文 ,进入 token 序列。
图像侧:潜表示 切 2×2 patch + 位置编码 → 长 的 token 序列。
MM-DiT block(核心):
- 文本流、图像流各有独立的 LayerNorm、调制参数、Q/K/V 线性层、MLP。
- 两流的 拼接后做一次联合注意力:,算完再按模态切回。
- 可选对 Q、K 加 RMS-Norm 稳定训练。
- 骨干规模参数化:hidden = 、MLP 扩展 、注意力头数 = ( = depth)。
灵活文本编码器:训练时每个编码器以 46.3% 概率 dropout,使 T5 可在推理时移除——去掉 T5 对多数提示影响可忽略,仅在长文本/精细排版上掉点(排版胜率降到约 38%)。
骨干对照(CC12M):Vanilla DiT < UViT < CrossDiT < MM-DiT(2 套权重) ≈ MM-DiT(3 套)。最终选 2 套权重变体。
方法三:规模化与高分辨率
- 规模化:depth 15 → 38(~8B),256² 训 500k 步,batch 4096。验证损失对图像与视频均平滑下降,无饱和,且强相关于 GenEval / T2I-CompBench / 人类偏好。最大训练用 FLOPs。
- 字幕:原始字幕与 CogVLM 合成字幕 50/50 混用,GenEval 从 43.27 → 49.78。
- QK-Normalization:RMSNorm(Q,K) + AdamW 防止高分辨率下注意力 logit 爆炸。
- 宽高比:按 分桶采样 + 构造 2D 位置网格后中心裁剪。
- 分辨率相关时间步平移:由噪声不确定性分析导出 ,等价于 log-SNR 平移 ;人类实验偏好平移 ,1024² 训练与采样取 α=3.0。
引用与数据
- 时间:2024.03(arXiv),ICML 2024
- arXiv:2403.03206
- 作者:Patrick Esser, Robin Rombach 等 17 人(Stability AI)
- 规模:最大 depth 38 ≈ 8B 参数
- GenEval 总分:SDXL 0.55 / DALL-E 3 0.67 / 本文 d38-512² 0.68 / +DPO 0.71 / d38-1024²+DPO 0.74
- DPO:1024² 后加 Direct Preference Optimization 进一步提升(512² 0.68→0.71)
- 视频扩展:Kinetics 上 2× 时间 patch + 全时空注意力,16 帧 256²,验证损失同样相关人类偏好
对话洞见
通读时厘清的核心理解点(2026-07-09)
- 【最关键】“图像输入”不是目标图,而是当前带噪潜表示 ——用户问:推理时明明没有图,为什么 block 一开始就有图像流输入?讨论结论:MM-DiT 的图像流输入的是”正在被去噪的画布”。训练时画布 = 真图 + 噪声();推理时画布从纯高斯噪声 起步,反复过 MM-DiT 预测速度场 、逐步去噪到 再解码。破除了”扩散模型推理要有输入图”的直觉误解。
- 时间步如何编码(Sinusoidal Encoding):标量时间 → 正弦编码升维(多频率 sin/cos,低频定位、高频区分相近时刻)→ MLP → 与 pooled 文本向量融合成 → 驱动每层 AdaLN 调制。正弦编码本身只负责”把一个数字变成含多尺度频率的向量”。
- 文本的双路表示:文本被抽成两种用途不同的表示——① pooled 全局向量(CLIP-L/G)走 AdaLN 调制旁路;② 序列 token(CLIP-L/G + T5-XXL,77×3)走联合注意力主路。因 T5 只贡献序列那一路,推理时移除 T5 仅在长文本/排版掉点,pooled 调制不受影响——这正是”灵活文本编码器”能成立的原因。
- MM-DiT ≈ 两个并排的 Transformer:用户归纳”注意力文本图像一起做、MLP 各自做”——讨论确认并精化:从输入到 LayerNorm、调制、Q/K/V 投影全是两套独立权重;只有注意力那一次 softmax 把两流 拼起来算(唯一汇合点);算完切回,MLP 各回各家。只共享注意力,因为那是跨模态对齐必须发生的地方。
- 归一化辨析:BatchNorm(沿 batch 统计、依赖批大小、训练/推理不一致,故本模型不用)/LayerNorm(沿单样本特征、Transformer 标配)/RMSNorm(去掉减均值与 bias 的精简版,SD3 用在 QK 上防高分辨率 bf16 注意力 logit 爆炸)/AdaLN(scale/shift 不是学死的,而由条件 现场生成,实现逐步、逐提示的自适应调制)。
- 为什么写 而非直接学 scale:调制参数由 Linear 从 算出且零初始化;写成 使”MLP 输出 0”对应”×1 恒等直通”而非”抹成 0”,网络学的是相对中性值的偏移量(残差式重参数化),起步稳定。
- AdaLN-Zero:把生成 gate 的 Linear 权重与 bias 全零初始化,使 在初始时 → 每个 block 贡献为 0 → 整个深层网络初始即恒等映射,之后逐块渐进学习偏移,大幅稳住深层训练(同 ResNet 末层 BN 零初始化、Fixup 的思想)。DiT 论文中 AdaLN-Zero > 普通 AdaLN > cross-attention > in-context。
首次 ingest 时的讨论
- 用户提出的疑问:MMDiT 是什么、是不是一篇论文?——讨论结论:MMDiT 不是独立论文,而是 SD3 技术报告《Scaling Rectified Flow Transformers…》中提出的核心架构模块;这篇报告同时贡献了 Rectified Flow 的噪声采样改进与 MM-DiT 架构两件事。
- 批判性判断:
- MM-DiT 相对原始 DiT 的”创新”更像是工程化的自然演进——把单向 cross-attention 换成双流联合注意力,思想不复杂,但在工业级规模上被证明有效,属于”规模化验证型”贡献而非全新范式。
- 论文最扎实的部分其实是噪声采样器的大规模对照实验(61 组)与验证损失↔下游质量强相关这一可复用结论,比 MM-DiT 架构本身更具方法论价值。
- “3 个文本编码器 + 46.3% dropout 使 T5 可选”是很务实的部署取舍:换来推理显存弹性,代价仅在长文本/排版场景。
- 延伸线索:
- 已有 资料摘要:DiT(原始 DiT),本页补上 MMDiT 演进;后续可 ingest FLUX(MM-DiT 的商业化后继)与 SiT(DiT→流匹配)以补全谱系。
- 音频侧 资料摘要:UniSonate、资料摘要:TangoFlux 已借用 MM-DiT 双流思想,可在 MMDiT(多模态扩散 Transformer) 中横向对照。
相关
- Wiki 目录
- MMDiT(多模态扩散 Transformer)
- DiT(Diffusion Transformer)
- 资料摘要:DiT — 原始 Diffusion Transformer,MMDiT 的前身
- DiT 论文全景
- 条件流匹配(CFM)
- 资料摘要:TangoFlux — 音频侧 Rectified Flow + MMDiT/DiT
- 资料摘要:UniSonate — 音频侧 MM-DiT 双流变体