LLM2022· ICCV 2023· CLASSIC

DiT: Scalable Diffusion Models with Transformers

Peebles & Xie (NYU/UC Berkeley)

把 U-Net 换成 Transformer——证明 diffusion 也遵循 scaling law;Sora / SD3 / FLUX 都跟进。

arXiv:2212.09748
#diffusion#transformer#generative

核心贡献

  • 01Latent patch + adaLN-Zero 模块注入 timestep/class
  • 02FID 随 GFLOPs / 参数量稳定下降——diffusion 也 scale
  • 03DiT-XL/2 在 ImageNet 256×256 上 FID 2.27(SOTA at time)
  • 04为 Sora、SD3、PixArt、FLUX 等后续工作的架构基础

U-Net 是 CV 时代遗产,convolution + skip connection,scaling 表现不如 Transformer。DiT 把 latent 切 patch,做标准 Transformer 但条件信息(t、class)通过 adaLN-Zero 注入:先 zero-init affine 让初始模块等价 identity,训练时再慢慢吃进 condition。结果:参数/FLOPs 翻倍 FID 单调下降,符合 Transformer scaling 直觉。

面试视角

DiT vs U-Net 实际差别? 同 FLOPs 下 DiT 更好;但小模型/低算力 U-Net 仍有优势(inductive bias 强)。adaLN-Zero 为啥比 cross-attn 好? AdaLN 注入条件是 element-wise,cross-attn 是 token-wise——前者参数少、收敛快。Sora 是不是 DiT? OpenAI 没明说,但技术报告暗示是 DiT 的视频版(spacetime patches)。SD3 / FLUX 在 DiT 上加了什么? MM-DiT:text 和 image token 拼在同一序列里走 joint self-attention,跨模态信息流动更充分。为什么必看? 想理解 2024+ 任何 SOTA 生成模型都绕不开 DiT。

相关论文