模型与参数

扩散 Transformer(DiT)是什么,以及它为什么赢了

又称 dit, diffusion transformer, mmdit, 扩散 transformer, Transformer 主干

扩散 Transformer 指的是把扩散模型的去噪主干从卷积 UNet 换成 Transformer:潜空间被切成小块,每一块变成一个 token,每一层里每个 token 都能看到其他所有 token。正是这一个改动,让现在的模型能写出可读的字、能吃下长提示词,也让视频从「几帧」变成「以秒计」。

从潜空间网格到 token

到这一步之前的流水线没变:编码器把图或片子压进潜空间,去噪在那里进行。变的是做去噪的那个网络。

扩散 Transformer 把潜空间网格切成小块,常见是 2x2 个潜空间格子一块。每块变成一个 token,加上位置编码好让模型知道它原来在哪,然后穿过一叠完全相同的 Transformer 块。时间步和其他全局条件不是拼通道进来的,而是去调制归一化层的缩放和偏移。最后把 token 投影回小块,重新拼成潜空间图。

没有下采样路径,没有瓶颈层,没有跳连接。token 网格的空间分辨率在整个网络里保持不变,每一层都做完整自注意力。这很贵,而这正是全部意义所在:没有任何一层被限制在局部窗口里。

它为什么改变了提示词能做的事

有三种能力基本是随这个架构一起到来的。

长提示词的遵循度。 当文字 token 和画面 token 在每一层共享同一个注意力操作时,长提示词中间那句话对画布的接触面和第一句一样多。卷积主干只在几个分辨率层注入文字,丢从句是结构性的。

画面里的文字。 拼写是加在局部纹理上的全局约束:字母之间要在跨越很多潜空间格子的距离上互相对齐。完整注意力能执行这种约束,局部卷积做不到,所以上一代模型能画出很有说服力的招牌,上面写的全是乱码。

变分辨率和变时长。 token 序列本身没有偏好长度。同一套权重可以出 1:1、16:9、9:16,可以出 5 秒也可以出 10 秒,因为改输出形状只是改 token 数量。而卷积模型是在固定尺寸上学会构图的,一被推远就开始复制主体。

token 数量就是成本模型

想预估一次生成有多贵多慢,数 token 就够了。视频的 token 数大致是:潜空间的空间面积除以块大小,再乘以时间压缩后的潜空间帧数。

  • 时长翻倍,token 翻倍,而注意力开销按平方涨。
  • 720p 到 1080p,空间项乘以约 2.25。
  • 块大小减半,token 数变四倍,这就是主打细节的变体慢那么多的原因。

所以平台的价格档位是按分辨率和时长分的,而不是按提示词复杂度分;一个敢给 1080p 十秒的模型,实际算力开销比参数表上看起来夸张得多。生产里的视频家族用几种办法把它压回可算范围:最高画质档用跨空间和时间的完整三维注意力,更看重速度的档位用分解注意力或者窗口注意力。

这件事在实操上怎么用

把架构当筛子,不当判决书。如果这个镜头需要能读的文字、明确的物体数量、你用文字描述的版式、或者一个不常见的画幅,就选 Transformer 架构的家族,并且可以指望它守得住。如果你要解决的是颗粒、皮肤、某种小众审美,或者你手上已有的风格适配器,架构决定不了结果,该测就测别猜。至于长片段超时或者花超预算,解法几乎总是减少 token:拆成短镜头再首尾相接,或者先在低分辨率跑一遍再放大收尾。

这个效果的提示词

一条能稳定出效果的起点。主体和场景可以换,技术性的那几句留着。

A neon sign reading OPEN LATE above a diner door, rain on the pavement, reflections in a shallow puddle, 35mm, night

试一下:扩散 Transformer(DiT)

打开生成器,参数已经预填好。

常见问题

它和 UNet 主干差在哪?
卷积主干里大部分层只看局部邻域,文字只在少数注入点进来。Transformer 主干没有局部偏置:每一块在每一层都看得见其他所有块,文字 token 也坐在同一个注意力操作里。于是版式、数量、拼写这类全局关系问题一下子变简单了。
它和语言模型的 Transformer 是一回事吗?
积木一样,干的活不一样。语言模型是按前面的 token 逐个预测下一个;扩散主干是一次看全部 token,预测怎么让整张潜空间图噪声少一点,然后重复几十次。这里没有从左到右的顺序,也没有因果掩码。
MMDiT 是什么?
一种多模态变体:文字 token 和画面 token 各用一套权重,但走进同一个注意力操作里一起算,而不是把文字注入画面流。2024 年之后提示词遵循度和画面内文字质量的跳变,主要就来自这个设计。
为什么片长翻倍,价格远不止翻倍?
因为成本跟着 token 数走,而注意力开销随 token 数平方增长。10 秒的 token 数大约是 5 秒的两倍,注意力的计算量就接近四倍。同理,1080p 相对 720p 的涨幅比像素数看起来大得多。
换成 Transformer 主干就一定更好吗?
不一定。它决定的是提示词理解能力和序列长度的上限,真正拿到什么还要看训练数据、编解码器和采样器。一个训练充分的老家族,在皮肤质感、胶片味、或者你需要的某个具体风格上照样能赢。

相关术语