这是构成Sora基础之一的Diffusion Transformer论文作者关于Sora的一些猜测和技术解释。
这个老哥可能是除了这篇论文的另一个作者(现在在Open AI工作)之外最懂Diffusion Transformer的人了,非常值得关注。
有趣的是这篇论文曾经在2023年的计算机视觉会议(CVR2023)上因"缺少创新性"而遭到拒绝,短短一年时间就变成了Sora这怪物模型的理论基础。
------------正文开始-------------
以下是我对Sora技术报告的解读,其中包含了一些可能并不准确的猜测。首先,我非常感谢团队分享了极为有价值的见解和设计决策------Sora确实令人惊叹,它将彻底改变视频生成领域。
我们目前所了解到的情况如下:
架构:Sora基于我们的扩散变换器(Diffusion Transformer,简称DiT)模型构建,该模型已发表在2023年国际计算机视觉会议(ICCV 2023)上。简单来说,它是一个结合了变换器(Transformer)主干的扩散模型: DiT = [变分自编码器(VAE)编码器 + 视觉变换器(ViT)+ 去噪扩散概率模型(DDPM)+ VAE解码器]。 根据报告,这个模型似乎没有太多额外的复杂设计。
"视频压缩网络":这看起来就像是一个在原始视频数据上训练的变分自编码器(VAE)。在实现良好的时间一致性方面,标记化(Tokenization)可能扮演着关键角色。顺便提一下,VAE本质上是一个卷积网络,所以从技术上说,DiT实际上是一个混合模型。 ;)
当Bill和我参与DiT项目时,我们并未专注于创新(详见我之前的推特🤷♂️),而是将重点放在了两个方面:简洁性和可扩展性。这些优先事项带来的不仅仅是概念上的优势。
简洁性代表着灵活性。关于标准的视觉变换器(ViT),人们常忽视的一个亮点是,它让模型在处理输入数据时变得更加灵活。例如,在遮蔽自编码器(MAE)中,ViT帮助我们只处理可见的区块,忽略被遮蔽的部分。同样,Sora可以通过在适当大小的网格中排列随机初始化的区块来控制生成视频的尺寸。而UNet并不直接提供这种灵活性。
👀猜测:Sora可能还使用了Google的Patch n' Pack(NaViT)技术,使DiT能够适应不同的分辨率、持续时间和长宽比。
可扩展性是DiT论文的核心主题。首先,经过优化的DiT在每Flop的实际运行时间上比UNet要快得多。更重要的是,Sora证明了DiT的扩展法则不仅适用于图像,现在也适用于视频------Sora复制了在DiT中观察到的视觉扩展行为。
👀猜测:在Sora报告中,第一个视频的质量相当差,我怀疑它使用的是基础模型尺寸。粗略计算一下:DiT XL/2的GFLOPs是B/2模型的5倍,所以最终16倍计算模型可能是3倍DiT-XL模型的大小,这意味着Sora可能有约3亿参数------如果这是真的,这并非一个不合理的模型大小。这可能意味着,训练Sora模型可能不需要像人们预期的那样多的GPU------我预计未来的迭代速度会非常快。
关键的收获来自于"新兴模拟能力"部分。在Sora出现之前,人们不清楚是否可以自然形成长篇连贯性,或者是否需要复杂的以主题为导向的生成流程,甚至物理模拟器。OpenAI已经证明,尽管不完美,但这些行为可以通过端到端训练来实现。然而,有两个关键点尚未被讨论。
- 训练数据:关于训练数据的来源和构建完全没有提及,这可能意味着数据很可能是Sora成功的关键因素。
👀猜测:关于来自游戏引擎的数据已有许多猜测。我也预计可能会包括电影、纪录片、电影长镜头等。质量非常重要。我非常好奇Sora从哪里获取这些数据的(肯定不仅仅是YouTube,对吧?)。
2.(自回归的)长视频生成:Sora的一大突破是能够生成非常长的视频。制作2秒视频和1分钟视频之间的差异是巨大的。 在Sora中,这可能是通过联合帧预测实现的,允许自回归采样,但一个主要的挑战是如何解决错误累积,并在时间上保持质量和一致性。是需要一个非常长的(并且是双向的)上下文来进行条件化?还是说仅仅通过扩大规模就可以减少问题?这些技术细节可能非常重要,希望未来能够被逐渐揭示。
扩散变换器(DiT)在Sora中的应用效果非常出色。我们纽约大学的团队最近发布了一款新的DiT模型,名为SiT。它保持了与DiT完全相同的架构,但在性能上有所提升,收敛速度更快。我对它在视频生成方面的表现也非常感兴趣!
对此感兴趣的可以看原论文:arxiv.org/pdf/2212.09...