AI热点 2 hours ago 176 Views 0 Comments

DiT在数学和形式上是错的?谢赛宁回应:不要在脑子里做科学

AI中国
AI中国

Published 9148 Articles

「兄弟们,DiT 是错的!」

最近一篇帖子在 X 上引发了很大的讨论,有博主表示 DiT 存在架构上的缺陷,并附上一张论文截图。

图 1. 我们引入了 TREAD,这是一种能够显著提升基于 token 的扩散模型骨干网络训练效率的训练策略。当应用于标准的 DiT 骨干网络时,我们在无引导 FID 指标上实现了 14/37 倍的训练速度提升,同时也收敛到了更好的生成质量。

图中横轴代表训练时间(以 A100 GPU 的小时数为单位,log 尺度,从 100 小时到 10000 小时),纵轴代表 FID 分数(越低越好,代表生成图像质量越高)。

博主认为,这个图的核心信息不是 TREAD 的速度优势,而是DiT 的 FID 过早稳定,暗示 DiT 可能存在「隐性架构缺陷」,导致其无法继续从数据中学习

博主提到的论文发表于今年 1 月(3 月更新 v2),介绍了一种名为TREAD的新方法,该工作通过一种创新的「令牌路由」(token routing)机制,在不改变模型架构的情况下,极大地提升了训练效率和生成图像的质量,从而在速度和性能上都显著超越了 DiT 模型

具体而言,TREAD 在训练过程中使用「部分令牌集」(partial token set) vs 「完整令牌集」(full token set),通过预定义路由保存信息并重新引入到更深层,跳过部分计算以减少成本,同时仅用于训练阶段,推理时仍采用标准设置。这与 MaskDiT 等方法类似,但更高效。

论文标题:TREAD:Token Routing for Efficient Architecture-agnostic Diffusion Training

论文地址:https://arxiv.org/abs/2501.04765

代码:https://github.com/CompVis/tread

博主在后续回复中逐步展开了对 DiT 的批判,并解释 TREAD 如何暴露这些问题。

博主指出,该论文揭示了 DiT 模型的设计缺陷。具体来说,研究发现在训练过程中,如果将模型中的一部分计算单元替换为「恒等函数」(Identity Function)——也就是让这些单元什么计算都不做,仅仅是「直通」数据,相当于被临时禁用了—— 模型的最终评估分数反而会提高。

接着博主指出 DiT 的两个「可疑」的设计:

  • 整个架构都使用「后层归一化」(Post-LayerNorm)

博主认为 DiT 使用了一种已知不太稳定的技术(后层归一化),来处理一个数值范围变化极其剧烈的任务(扩散过程)。

  • adaLN-zero

博主认为,这个模型虽然整体上自称是「Transformer」架构,但在处理最关键的「指导信息」(即条件数据)时,并没有使用强大的 Transformer,而是用了一个非常简单的 MLP 网络(多层感知机)。

更具体地,adaLN-zero 通过完全覆盖注意力单元的输入,并注入任意偏置来覆盖输出,这限制了模型的表达能力,相当于「讨厌注意力操作」(hate the attention operation),从而削弱了 DiT 的整体潜力。

博主还提到与早期论文相关的 LayerNorm 研究,指出 LayerNorm 的偏置和增益参数可能对梯度调整影响更大,而非真正改善模型性能。他认为,adaLN-zero 正是利用了这一点,名为「梯度调节」,实则像是在「给小模型偷偷注入过拟合的偏置」。

论文标题:Understanding and Improving Layer Normalization

论文地址:https://arxiv.org/abs/1911.07013

看了这篇帖子,DiT 的作者,纽约大学计算机科学助理教授谢赛宁有些忍不住了。

在 2022 年,谢赛宁发表了 DiT 的论文,这是扩散模式首次和 Transformer 相结合。

论文标题:Scalable Diffusion Models with Transformers

论文链接:https://arxiv.org/pdf/2212.09748

在 DiT 问世之后,Transformer 逐步代替原始扩散模型中的 U-Net,在图像和视频生成任务中生成高质量的结果。

其核心思想是采用 Transformer 代替传统的卷积神经网络作为扩散模型的主干网络。

这一方法业已成为 Sora 和 Stable Diffusion 3 的基础架构,同时也确定了 DiT 的学术地位。

在 DiT 论文刚刚问世时,就已接连受到质疑,甚至以「缺乏创新」为由被 CVPR 2023 拒稿。

这一次面对 DiT 在数学和形式上都「是错的」的论调,谢赛宁发推做出了几点回应。

从字里行间来看,谢赛宁对这个帖子多少有些情绪

我知道原帖是在钓鱼骗点击率,但我还是咬一下钩……

坦白讲,每个研究者的梦想其实就是发现自己的架构是错的。如果它永远都没问题,那才是真正的大问题。

我们每天都在用 SiT、REPA、REPA-E 等方法试图打破 DiT,但这需要基于假设、做实验、进行验证,而不是只在脑子里扮演式地做科学…… 否则,你得出的结论不仅仅是错的,而是根本连错都谈不上

也难怪谢赛宁语气有些不善,原帖博主的一些说法可能有些拱火的嫌疑:

谢赛宁也从技术角度对于原帖子提出的一些问题进行了回复,在对原帖的部分问题进行了反驳后,他也同样说明了 DiT 架构目前存在一些硬伤。

截至今天,DiT 的问题:

  • tread 更接近于 stochastic depth,我认为它的收敛性来自正则化效应,这让表示能力更强(注意推理过程是标准的 —— 所有模块都会处理所有 token);这是非常有意思的工作,但和原帖说的完全不是一回事
  • Lightning DiT 已经是经过验证的稳健升级版(结合了 swiglu、rmsnorm、rope、patch size=1),有条件就应该优先使用它。
  • 没有任何证据表明 post-norm 会带来负面影响。
  • 过去一年最大的改进点在于内部表示学习:最早是 REPA,但现在有很多方法(例如 tokenizer 层面的修正:VA-VAE / REPA-E,把语义 token 拼接进噪声潜变量、解耦式架构如 DDT,或者通过分散损失、自表示对齐等正则化手段)。
  • 始终优先采用随机插值 / 流匹配(SiT 在这里应该是基线)。
  • 对于时间嵌入,使用 AdaLN-zero;但遇到更复杂的分布(如文本嵌入)时,应采用交叉注意力。
  • 不过要用对方式 —— 采用 PixArt 风格的共享 AdaLN,否则会白白浪费 30% 的参数。
  • 真正的「硬伤」其实是 DiT 里的 sd-vae:这是显而易见却长期被忽视的问题 —— 它臃肿低效(处理 256×256 图像竟需要 445.87 GFlops?)、不是端到端的。像 VA-VAE 和 REPA-E 只是部分修复,更多进展还在路上。

评论网友也对回应中提到的技术细节感兴趣,谢赛宁也都对相关疑惑做出了回复:

算法的迭代进步总是伴随着对现有算法的质疑,虽说所谓「不破不立」,但 DiT 仍然在擂台中央,不是么?

本文来自微信公众号“机器之心”(ID:almosthuman2014),作者:冷猫 +0,36氪经授权发布。

AI中国

AI中国

9148 Articles 1505232 Views 950300 Fans

Comment (0)

睡觉动画