复现 Sora 的方法及路径分析
来源 | 授权转载自小研聊AI(公众号ID:xiaoyan_tech)
龙年伊始,Sora 的震撼登场点燃了创新的火花,本文旨在深入剖析 Sora 的核心技术原理、实现方法,并对其未来的发展蓝图进行展望。
从 Sora 目前展示的演示来看,所采用的数据集在质量和多样性方面还是非常好的。通过对比生成的视频与 UE(Unreal Engine)的局部相似性,我们可以推测数据集中应该融合了一定比例的 UE 数据。人类在现实世界中生活,具备对三维空间的基本认知和常识,然而如果直接让大模型学习二维视频,由于单一视角的局限性,模型难以保持三维一致性。UE 的物理引擎是基于求解动力学方程构建的,包含了丰富的 physics prior 和 ground truth。将 UE 生成的数据输入大型模型,经过深度神经网络的压缩,模型能够抽象出一些隐含的物理规律,虽然现在还不会像物理引擎那样精确。
决定视频数据集质量最关键因素还不是视频本身,而是对视频内容的详尽描述。OpenAI 在开发 DALL-E 3 时曾发表论文《Improving Image Generation with Better Caption》,核心思想是文生图模型无法根据用户提示生成图像的原因在于训练数据质量的不足,主要问题出在文本描述的粗略和不准确上。为了解决这一问题,OpenAI 训练了一个 Image-caption 模型,就是一个类似 GPT 的自回归语言模型,encoder 采用了 CLIP 的图像编码部分,能够将输入的图像从像素空间映射到与内容语义对齐的 embedding 空间,然后生成与图像内容相匹配的详细文本描述。实践证明,使用这种高质量的文本 - 图片对重新训练 DALL-E,能够大幅提升文生图模型的效果。在 Sora 的训练过程中,他们也采用了类似的 caption 模型来提升视频文本描述的质量,取得了显著的效果。
视频数据的处理是 Sora 的亮点和最大的创新之处。
第一步,压缩。视频的 raw data 很大,我们首先通过 VAE(Variational Auto-Encoders,变分自编码器)将其压缩到 latent space(潜空间),这个潜空间的维度远小于输入视频对象的维度,它是输入对象的紧凑表示。我们知道视频的像素空间本身含有大量的冗余信息,比如相邻像素格子的取值往往是相似的,潜空间是一种非常好的处理高维复杂数据的方式,同时我们还要保证解码的时候能够从潜变量还原出原数据,那么合适的压缩比就非常重要,压得太多还原出的数据质量就会变差,具体压到多少维度合适这是个工程问题,需要我们通过实验试出来。VAE 的优势在于,潜空间的表示不是一个点,而是一个概率分布,可以通过调整采样点控制生成数据的特性,给我们提供了一个更好地理解和控制生成过程的理论框架。
第二步,分割。OpenAI 将视频流看成是由空间坐标 x,y 和时间坐标 t 组成的三维块,并将其切割成一系列小块,称为 spacetime latent patches。这是 Sora 最出彩的地方,它将时间和空间作为等价的变量处理,统一了时空分割的语言。在此之前,生成模型通常将视频视为连续帧序列,通过关键帧生成、上采样、下采样和插帧技术来创建连续视频。这种方法分别处理空间和时间维度,类似于将视频处理成一系列动图 gif,产生的视频动作幅度小,时长短,很难保持长时间连贯性,且需要将所有视频剪裁至统一大小才能处理。而通过分割成 patches 的方式,可以处理不同持续时间、分辨率和宽高比的视频,这个思想借鉴了 Google DeepMind 在 NaViT 和 ViT(Vision Transformers)上的早期研究成果,OpenAI 将其发展为一种为多模态数据而生的高度可扩展且有效表达方式 (原文中:highly-scalable and effective representation),这是一种非常优雅且精妙的解题思路,OpenAI 将 Scaling 的理念贯穿于每一个环节里。
将视频数据转化为patches
谷歌提出的将视觉信息patch化
第三步,tokenization。把分割好的 patches 小块 token 化成一维的 embedding,这里借鉴了谷歌的 MAGVIT-v2 视觉 tokenizer,它用一个 temporarily causal 3D CNN(有时间因果性的 3D CNN) 去编码视频和图像,以更好地适应有因果性、时间序列性质的任务。
Sora 采用的架构是用 DiT(Diffusion Transformer) 模型在潜空间做去噪,后面再接 VAE 模型做 decoder 恢复出原始视频数据。Diffusion 模型降噪的核心模块通常用的是 U-Net 架构,它是一种用于图像分割的卷积神经网络(CNN)。CNN 因其归纳偏置而著称,也就是说拥有一种先验知识,使 CNN 在处理图像任务时能最大程度地保持空间局部性(保留相关物体的位置信息) 和平移等边性(保留原始图片信息)。通常认为 transformer 架构因为缺乏归纳偏置而在图像任务中的鲁棒性不如 CNN,但是 transformer 的自注意力机制有一个强大的潜力:大力出奇迹,随着网络的加深,transformer 逐渐学会去更远的像素点中寻找相关信息,从而学到了这些先验知识。在谷歌发表的 ViT 论文中就提到过,当数据集较小时 ViT 表现明显弱于 CNN,但当数据量级大于 21k 时,VIT 的能力就上来了,证明了大模型在图像领域同样拥有涌现能力。Bill Peebles 和 Xie Saining 撰写的 DiT 论文中提到,U-Net 归纳偏置对扩散模型的性能不是至关重要的,可以用标准设计 transformer 取代。
谷歌提出的ViT架构及其实验结果
谷歌的 Videopoet 采用了与大语言模型相同的基于 transformer 的自回归模型,Sora 尽管看重 transformer 的 scaling 能力后,但为什么选择基于它去构建扩散模型(Diffusion Model)而不是自回归模型(Autoregressive Model)呢?这一点在 DALL-E 的论文《Hierarchical Text-Conditional Image Generation with CLIP Latents》中可以窥见端倪,OpenAI 在训练 DALL-E 文生图模型时同时尝试了自回归模型和扩散模型,发现使用扩散模型计算效率高且生成样本质量高。自回归模型侧重于序列数据的生成,它使用序列中前面的数据点来预测下一个数据点,它的计算是串行的,而扩散模型侧重于模拟数据扩散过程生成新的数据样本,包括前向过程(将数据逐步转化为噪声)和反向过程(从噪声中恢复出数据),它不依赖于序列的顺序,而是通过学习数据分布来生成新的样本,它的计算过程是并行的。从实验的结果来看,自回归模型在自然语言任务上效果惊艳,而扩散模型在多模态的生成上更胜一筹,自然语言的信息密度更大,语义内涵更丰富,自回归模型比较适合捕捉这种长距离且复杂的依赖关系,而视频数据的信息冗余度更大,像素之间的连续性、关联性和相似性也更高,扩散模型在处理这类任务时计算效率更高,生成速度也更快。如果说 DiT 模型是个画师,那么 transformer 是他的思想,负责提炼特征和构图,diffusion 更像他的画笔,负责画面呈现的逼真度。
在模型规模方面,自回归模型的参数量通常比扩散模型要大,关于 Sora 的模型规模也有各种讨论,一种合理的推测是它比自回归 LLM 要小,但因为要通过 scaling transformer 层来提取特征,应该比基于 UNet 的 diffusion 模型要大,有可能在百亿量级。虽然模型规模和 token 量比 LLM 要小,但是视频 token 是三维时空建模,sequence length 要长,再加上视频数据预处理环节的复杂性,计算量很大,对算力的需求依然十分庞大。
通过上面的技术讨论,我们得以洞察 Sora 背后的设计理念。尽管 Sora 的很多模块借鉴了谷歌的研究成果,但为什么最终是由 OpenAI 而不是谷歌将其变为现实呢?OpenAI 没有重复去做单点技术的研发,而是选择站在更高维度上思考,重新组合已有的技术。他们没有把视频生成局限在帧处理上,而是升维到如何模拟物理世界,不是单纯优化点技术,而是在架构层次上探索如何 scaling,并贯穿于每一个细节里(什么样的架构能够支持 scaling,数据如何实现 scalable,模型如何实现 scalable)。Sam Altman 在访谈中曾提到,OpenAI 能够 predict scaling capability,在小规模验证后,可以预测 scaling 的能力。大力出奇迹是果,而 research 的积累和持续的迭代是因。
在关于 Sora 的讨论中我们看见了越来越多理论派和实验派的分野,这类似于理论物理学家对实验物理学家的质疑:“你们的实验结果缺乏完备的理论基础。”而实验物理学家则回应理论物理学家:“你们的理论研究并未提供有力的实验证据。”OpenAI 显然是坚定的实验派。GPT 并未系统学习过单词、语法、句式,却能掌握语言;并没有学习过编程原理、数据结构,却能编写代码;同样 Sora 并没有学习物理规律、3D 建模、光线追踪和渲染,却能生成视频。如果说 UE5 是一个经过人工精心设计且精确的引擎,那么 Sora 则是完全依赖于数据驱动学习的产物,虽然它仍有很多不足之处,但我们仍能通过继续扩大模型规模推高它的天花板。费曼曾提出一个假说:What I cannot create I do not understand。或许,硅基智能与人类智能之间最大的区别在于智能发展的方向不同:人类先理解原理和元知识,然后创造系统和世界;而硅基智能则是先学习我们创造的东西,复现我们的创造,最终达到对其的理解。
在 Sora 的技术报告中,它被定义为 world simulator,关于 Sora 是不是世界模型引发了广泛的讨论。2018 年,David Ha 和 Jürgen Schmidhuber 发表论文《World Models》,但他们中并未给出「世界模型」的定义,而是将心智模型的概念引入到了机器学习模型的构建中。如果我们将世界模型理解为人类大脑中构建的关于周围世界的认知模型,那么显然 Sora 尚未达到这一标准。根据技术报告的描述,OpenAI 并没有打算立即将 Sora 转变为一个完全成熟的世界模型。世界模拟器的核心价值在于其合成数据的能力,即通过高质量地模拟物理世界来生成数据,这一能力在 scaling law 的过程中,对于训练 GPT-5 这样更大规模的模型提供了很好的支持。
前几天有网友做了有趣的实验,用谷歌的 Gemini 可以给 Sora 的视频挑错,由此可以看出 Sora 的视频生成能力更强,而 Gemini 的视频理解能力更强。我们对 OpenAI 的 GPT 系列和 Google 的 Gemini 系列在未来的迭代升级中可能的发展趋势做一些推演和猜想。GPT-5 的 MoE(Mixture of Experts) 架构可能会用不同的 expert 分别负责视频生成和理解任务,diffusion 模型负责视频生成,auto regressive 模型负责视频内容的解析,并且这两个 expert 之间还能相互校正,以提高整体性能。相比之下,Gemini 可能更倾向于采用大一统的自回归模型来处理视频相关任务。我们在前文分析过,对于视频生成任务 diffusion 模型比 auto regressive 模型效果显著,一种可能的解释是 auto regressive 模型在预测下一个 token 时需要处理长距离依赖关系,对上下文窗口长度的要求更高,而目前的技术尚未能完全满足这一需求,未来随着上下文窗口长度的增加,我们有理由相信 auto regressive 模型在多模态的生成效果上有很大提升空间,有可能未来自然语言的生成和多模态的生成会统一到 auto regressive 框架下。基于此我们推测 GPT-5 的 MoE 架构可能会包含更多的 expert,模型更 sparse 一些,Gemini 的 MoE 架构可能拥有较少的 expert,模型更 dense 一些。
在 DALL-E 和 Sora 的训练过程中,CLIP 技术扮演了关键角色,使得 OpenAI 能够通过对比学习实现多模态之间的对齐。而谷歌 Gemni 的训练方法是通过将不同模态的数据 token 化并混合输入到大模型中,让模型在潜空间里自发建立模态之间的关联或相似聚合。如果说 OpenAI 的多模态学习是后天的强行关联,因为它是在模型训练过程中刻意构建的,那么 Google 的训练策略则类似于先天的自然关联,因为它允许模型在没有明确指导的情况下自我学习和适应,这就是为什么 Gemini 被称为“原生多模态”。Gemini 的训练方法在初期可能会面临挑战,比如对齐不佳或出现错误,但其长期潜力很大。就像物理学相变现象一样,即在达到某个临界点后,系统的状态会发生根本性的变化,目前我们还无法确切知道模型需要达到的规模以及何时会收敛到一个稳定的状态。这两种技术流派如何影响 AGI 在未来的发展,无疑是一个值得关注的问题。
1.Sora 的横空出世标志着 AI 应用从文本时代进入多模态时代。
2.AI-Native 初见雏形,当视频生成还处于 2~4 秒时代时,我们必须考虑将其与现有视频编辑或 3D 生产管线相融合,但当视频生成跨越到分钟级时代时,它自己本身就是新的引擎和工作流。
3.视频生成会分出两个赛道,一个是生成视觉上好看的视频,一个是模拟和预测真实的物理世界。第二个赛道还有一段路要走,第一个赛道已经达到可用的程度,在 AI 虚拟世界中我们并不强求它和真实世界的完美一致性。
4.基于 Sora 的视频生产管线仍有巨大的发展空间,如何实现物料级和像素级的精细控制、生成和编辑修改,我们期待有优秀的开源模型问世,以及类似于文生图社区的繁荣景象,有更多类似 LoRa 和 ControlNet 这样的生态涌现。
5.创作门槛和成本被大幅降低,一个人人都能制作电影和游戏的时代即将到来,任何创意和才华都将得到展现,内容生态将爆发式增长。
6.当前的视频生成仍需较长的等待时间,如果未来能实现实时生成,我们将真正步入元宇宙,生活在一个可交互的、个性化的、一直持续生成的虚拟世界里。
7.如果物理模拟器能够精确模拟现实世界,具身智能将离我们近在咫尺。
Reference
1.https://openai.com/research/video-generation-models-as-world-simulators
2.Ha, David, and Jürgen Schmidhuber. "World models." arXiv preprint arXiv:1803.10122 (2018).
3.Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems 30 (2017)
4.Dosovitskiy, Alexey, et al. "An image is worth 16x16 words: Transformers for image recognition at scale." arXiv preprint arXiv:2010.11929 (2020).
5.Arnab, Anurag, et al. "Vivit: A video vision transformer." Proceedings of the IEEE/CVF international conference on computer vision. 2021.
6.Dehghani, Mostafa, et al. "Patch n'Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution." arXiv preprint arXiv:2307.06304 (2023).
7.Rombach, Robin, et al. "High-resolution image synthesis with latent diffusion models." Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2022.
8.Peebles, William, and Saining Xie. "Scalable diffusion models with transformers." Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023.
9.Betker, James, et al. "Improving image generation with better captions." Computer Science. https://cdn.openai.com/papers/dall-e-3. pdf 2.3 (2023): 8
10.张俊林 @知乎, 数据为王 DALL-E 3
11.稀土掘金技术社区,CV 大模型系列之全面解读 ViT
12.清熙, 解读 OpenAI Sora 文生视频技术原理
今日荐文
Gemini翻车,谷歌决策十字路口:该解雇CEO还是该进行“结构化变革”?
OpenAI 被微软 “绿” 了,法国 “小鲜肉” Mistral 上位!
就是“快”!字节跳动发布文生图开放模型,迅速冲上Hugging Face Spaces 热榜
李一舟爆雷或牵连AI课程行业;谷歌联合创始人被控过失杀人;黄仁勋身家冲至全球21名,称赞华为;阿里效仿Sora作息?| AI周报
贾扬清质疑 Groq CEO “其芯片价格接近免费”说法,前员工出来实锤:根本不切实际!
你也「在看」吗? 👇