DALL·E 2、Stable Diffusion 与 Imagen 对比:怎么选
DALL·E 2 在 CLIP 嵌入空间加扩散先验,Stable Diffusion 在潜空间降噪,Imagen 靠冻结 T5 做像素级联,SD3 用整流流 Transformer 收尾。
四篇论文与一个分水岭问题
这些模型都在回答同一个问题:扩散到底在哪做?潜在扩散模型(LDM,2021)的答案是”在预训练自编码器压缩出来的潜空间里,因为像素级扩散训一次要烧掉数百个 GPU 日”。DALL·E 2(2022)的答案是”在 CLIP 的图文联合嵌入空间里,因为这个空间本身就编码了语义和风格”。Imagen(2022)的答案是”在 64×64 的像素空间里,因为瓶颈在语言编码器而不在扩散模型”。到了 Stable Diffusion 3(2024),潜空间保留,其余几乎全换:噪声日程换成整流流,U-Net 换成文本与图像各自持权的 Transformer。
后续的发布策略、分辨率路线、能不能在图里拼对单词,全都从这几个选择里长出来。
关键数字
| 测量项 | LDM(SD 的基础) | DALL·E 2(unCLIP) | Imagen | Stable Diffusion 3 | 同一口径? |
|---|---|---|---|---|---|
| COCO 256×256 零样本 FID ↓ | 23.31,加无分类器引导(强度 1.5)后 12.63 | 10.39(扩散先验) | 7.27 | 未做主推指标;报告 CLIP 特征 FID 加人类偏好 | 大体同榜,但引导强度各调各的 |
| 先验消融,测试集 FID ↓ | 不适用 | 完整 unCLIP 栈 9.16,文本嵌入解码器 7.99,文本嵌入直接喂解码器 16.55 | 不适用 | 不适用 | 仅 DALL·E 2 内部 |
| 先验形式 | 无 | 扩散先验胜过自回归:10.39 对 10.63 | 无 | 无 | 是 |
| 主干 | 14.5 亿参数 U-Net,交叉注意力注入条件 | 35 亿参数 GLIDE 式 U-Net 解码器 | 20 亿参数 Efficient U-Net 底座 | MM-DiT Transformer,8 亿到 80 亿参数 | 否 |
| 文本编码器 | BERT tokenizer 上加一个小 Transformer,与模型一起训 | 冻住的 CLIP 文本嵌入,另学一个先验把它映成 CLIP 图像嵌入 | 冻住的 T5-XXL,训练全程不看一张图 | 两个 CLIP 编码器加 T5-XXL;推理时 T5 可省 | 否 |
| 分辨率路径 | 单个 256×256 模型 | 解码器出 64×64,700M 与 300M 两个上采样器走到 1024 | 级联:20 亿底座出 64×64,6 亿到 256,4 亿到 1024 | 原生 1024×1024 | 否 |
| 人类偏好证据 | 无 | 同等真实感下多样性优于 GLIDE 各变体 | DrawBench 上胜 DALL·E 2、LDM、GLIDE、VQ-GAN+CLIP;图文对齐被评为与 COCO 参考图持平 | 80 亿模型在 PartiPrompts 的质量、遵循提示词、排版三项上胜过 DALL·E 3、Midjourney v6、Ideogram | 各用各的评测员 |
读这张表要读它缺什么:FID 那一列是三个早期系统唯一共用的指标,但引导强度并不统一(LDM 的 12.63 带引导,DALL·E 2 与 Imagen 各按自己调好的设置报数)。Imagen 的 7.27 是表上最强的数字,但它的作者同时做了 DrawBench 人类评测,恰恰因为他们不相信 FID 能盖棺定论。SD3 走得更远,干脆不再主推 COCO FID,改用人类偏好给自己打分。
分歧一:扩散在哪里做
LDM 的论点是经济学。像素级降噪要在完整分辨率的张量上反复跑几百次大网络;把过程挪进自编码器潜空间(文生图模型用 8 倍下采样),训练与采样的成本同时下降,感知损失保证解码回像素时不丢细节。成本直接反映在 FID 上:不引导的 LDM 在 COCO 零样本只有 23.31,同一个 14.5 亿模型加上强度 1.5 的无分类器引导就降到 12.63,与 GLIDE 的 12.24、Make-A-Scene 的 11.84 同场竞技,训练算力却只用了零头。
DALL·E 2 赌的是相反的方向:不压缩图像,压缩语义。CLIP 已经把图像和配文映射到同一个嵌入空间的邻近位置,unCLIP 就把它反过来用:先验从配文生成 CLIP 图像嵌入,扩散解码器再把这个嵌入渲染成像素。论文自己的消融证明先验是承重墙:完整 unCLIP 栈测试集 FID 9.16,只用文本嵌入的解码器是 7.99(FID 略好,但人类评测 57.0% 偏爱完整栈),而把文本嵌入直接喂给 unCLIP 解码器则崩到 16.55。省掉先验,省不到点子上。
先验本身也用扩散而不用自回归:COCO FID 10.39 对 10.63,更省算力质量还更高。这是两个决定(“要加先验”和”先验用扩散做”),都有实测数字支撑,不靠品味。
分歧二:谁来读提示词
第二条轴是文本编码器。LDM 用一个基于 BERT tokenizer 的小 Transformer,与图像模型联合训练,对 LAION 规模的标注够用,但事后看是整条链上最弱的一环。DALL·E 2 靠冻住的 CLIP 文本编码器,但文本嵌入与图像嵌入并不重合,不得不用先验搭桥。Imagen 的核心发现是这条轴比降噪器重要得多:把冻住的 T5-XXL 加大,对保真度和图文对齐的提升超过把 64×64 的扩散 U-Net 加大,而 T5-XXL 在 Imagen 训练全程没见过一张图。理解提示词(从句、属性、关系),瓶颈在语言模型能力,不在扩散能力。
实际结果就是 Imagen 的对齐在 FID 派容易翻车的地方站住了:人类评测员认为 Imagen 样本的图文对齐与 COCO 参考图本身持平;在 200 条提示词的 DrawBench 上,质量与对齐两项都胜过 DALL·E 2、LDM、GLIDE 和 VQ-GAN+CLIP。
SD3 的回答是不做选择:两个 CLIP 编码器叠上 T5-XXL,消融精确量出 T5 的身价:拿掉它,对完整版模型的胜率在视觉美感上掉到 50%(没影响),在遵循提示词上掉到 46%(略有影响),在渲染文字上掉到 38%(影响很大)。SD3 成名的排版能力,大头其实是 T5 的功劳。
分歧三:怎么到高分辨率
这些模型没有一个是单次生成 1024×1024 的。LDM 的文生图模型是单个 256×256 系统(更高分辨率靠拼接条件与微调,是后来的事)。DALL·E 2 与 Imagen 都走级联:DALL·E 2 的解码器出 64×64,后面两个扩散上采样器(7 亿与 3 亿参数)依次升到 256 和 1024,训练时故意破坏条件图像来换稳健;Imagen 同一思路,但每一级都保留文本条件并加噪声条件增强,64×64 底座的瑕疵不会干净地传进成图。
SD3 打破了这个模式:原生 1024×1024 潜空间模型,不用级联,因为 Transformer 主干加整流流目标的可扩展性,足以让单个模型扛起全分辨率。
SD3 改了什么,凭什么站住
2024 年的这篇保留了 LDM 的潜空间,扔掉了定义早期 Stable Diffusion 的两样东西:标准扩散噪声日程和 U-Net。整流流用直线连接数据与噪声,积分更省采样步,但论文自己很诚实:光是直线并不是胜负手,真正的胜负手是把训练时间步偏向感知上最难的路径中段(用 logit-normal 采样器偏置),这才让整流流在那 61 组配方与日程组合的大扫描里赢过老牌扩散目标。
MM-DiT 给图像 token 和文本 token 各一套权重,靠双向注意力汇合,理由是两种模态本来就是不同分布,共享权重会把两边都做妥协。然后论文补上了早期系统从没做过的扩展性研究:从 8 亿到 80 亿参数、5×10²² 训练 FLOPs,验证损失平滑下降,且更低的验证损失同时对应更好的自动指标与人类偏好,质量是可预测地买来的,不是抽奖。80 亿模型在 PartiPrompts 上被人类评测员排在 DALL·E 3、Midjourney v6 与 Ideogram 之上。
值得注意的是,这篇论文正是前面各家教训的汇合点:潜空间来自 LDM,强文本编码器并证明它扛起排版来自 Imagen,用人类偏好而非 FID 霸主地位给自己打分,是每篇早期论文都吃过亏之后才学会的事。
怎么选
- **要自托管、微调、在开放权重上做产品:**这个对比里只有 LDM 一条线可选,而 SD3 是它的当前形态。LDM 给了生态省钱的本钱,SD3 给了排版、提示词遵循和一条到 80 亿还没饱和的扩展曲线。
- **要在闭源产品里榨出最强的提示词理解:**证据链是 Imagen 到 SD3。冻结 T5 的发现可以泛化:提示词理解靠语言模型能力购买,选系统要拿组合性难题(DrawBench、PartiPrompts)去压,别只看 COCO FID。
- **看重固定真实感下的多样性:**这是 DALL·E 2 独有的卖点。它的零样本 COCO FID(10.39)输给 Imagen(7.27),但引导行为更好:无分类器引导对 unCLIP 的 FID 伤害远小于对 GLIDE 的伤害,因为 CLIP 嵌入瓶颈本身保住了多样性,解码器 sharpening 只是渲染变锐。
- **从零定 2024 年以后的训练配方:**整流流加 logit-normal 时间步偏置、文本与图像分持权重加联合注意力、强冻结文本编码器。SD3 那 61 组替代方案的扫描是这个领域最昂贵的一次消融,它的结论就是后来的默认起点。
局限与存疑
这四套系统之间不存在受控的同口径对比。表里每个数字都来自各自的论文,训练数据、引导强度、评测员各不相同;连 COCO FID 那一列都混着不同的引导设置。人类偏好结果(Imagen 的 DrawBench、SD3 的 PartiPrompts)都是成对比较,对提示词选取和评测员构成敏感,无法拼成统一排名。四者中有两套(Imagen 和最初形态的 DALL·E 2)从未放出开放权重,数字无法独立复现。而 FID 本身度量的是分布匹配,不是单张图对不对,这正是后两篇论文把 headline 结论挪给人类评测员的原因。
常见问题
Stable Diffusion 比 DALL·E 2 强吗?
按原论文各自报告的零样本 COCO FID,Stable Diffusion 背后的 LDM 加引导后 12.63,DALL·E 2 是 10.39,DALL·E 2 的数字更好,但两边训练与采样设置不同,这个差距作为证据很弱。真正的决定性差异在工程上:LDM 一条线开放权重、能在消费级显卡上跑,所以围绕它长出了整个微调生态,unCLIP 这边则什么都没有。
Imagen 为什么用 T5 而不用 CLIP 做文本编码器?
因为 Imagen 的消融表明,加大一个冻结的纯文本 T5 编码器,对图像保真度和图文对齐的提升超过加大图像扩散模型本身。在远多于此的文本上预训练过的语言模型,比只见过图文对的编码器更懂提示词(从句、属性、关系)。SD3 后来保留了这条经验:三编码器栈里拿掉 T5-XXL,排版胜率掉到 38%,而视觉美感纹丝不动。
DALL·E 2 的先验到底干什么?
它把配文映射成一个 CLIP 图像嵌入,再由一个独立的扩散解码器渲染成像素。消融里去掉先验(直接把文本嵌入喂给解码器),FID 从 9.16 崩到 16.55。先验同时解释了 unCLIP 的高多样性:生成发生在 CLIP 嵌入空间,引导让渲染变锐时,先验能产生的嵌入多样性本身没有被压垮。
Stable Diffusion 3 和最早的 Stable Diffusion 架构差在哪?
潜空间相同,其余几乎都换了:标准扩散日程换成带 logit-normal 时间步偏置的整流流,U-Net 换成文本与图像各持一套权重的多模态扩散 Transformer,一个文本编码器换成三个,以及一份从 8 亿到 80 亿参数的扩展性研究证明验证损失与人类偏好同步下降。分辨率从”上采样凑出来”变成原生 1024×1024。
这些模型能在图里拼对文字吗?
这组里基本都不行,只有一个例外。拼写图中文字是 LDM、unCLIP、Imagen 已知的翻车项;SD3 的卖点恰恰是可靠的排版。而它自己的消融显示,这项能力大头来自 T5-XXL 编码器,而不是整流流或 Transformer 的功劳。