龙年伊始,Sora的震撼登场点燃了创新的火花,本文旨在深入剖析Sora的核心技术原理、实现方法,并对其未来的发展蓝图进行展望。
01
数据集
从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模型来提升视频文本描述的质量,取得了显著的效果。
02
视频数据预处理
视频数据的处理是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)去编码视频和图像,以更好地适应有因果性、时间序列性质的任务。
03
模型
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要长,再加上视频数据预处理环节的复杂性,计算量很大,对算力的需求依然十分庞大。
04
OpenAI的技术哲学
通过上面的技术讨论,我们得以洞察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。或许,硅基智能与人类智能之间最大的区别在于智能发展的方向不同:人类先理解原理和元知识,然后创造系统和世界;而硅基智能则是先学习我们创造的东西,复现我们的创造,最终达到对其的理解。
05
世界模型猜想
在Sora的技术报告中,它被定义为world simulator,关于Sora是不是世界模型引发了广泛的讨论。2018 年,David Ha 和 Jürgen Schmidhuber 发表论文《World Models》,但他们中并未给出「世界模型」的定义,而是将心智模型的概念引入到了机器学习模型的构建中。如果我们将世界模型理解为人类大脑中构建的关于周围世界的认知模型,那么显然Sora尚未达到这一标准。根据技术报告的描述,OpenAI并没有打算立即将Sora转变为一个完全成熟的世界模型。世界模拟器的核心价值在于其合成数据的能力,即通过高质量地模拟物理世界来生成数据,这一能力在scaling law的过程中,对于训练GPT-5这样更大规模的模型提供了很好的支持。
06
通往AGI的路径猜想
前几天有网友做了有趣的实验,用谷歌的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在未来的发展,无疑是一个值得关注的问题。
07
视频生成应用猜想
1.Sora的横空出世标志着AI应用从文本时代进入多模态时代。
2.AI-Native初见雏形,当视频生成还处于2~4秒时代时,我们必须考虑将其与现有视频编辑或3D生产管线相融合,但当视频生成跨越到分钟级时代时,它自己本身就是新的引擎和工作流。
3.视频生成会分出两个赛道,一个是生成视觉上好看的视频,一个是模拟和预测真实的物理世界。第二个赛道还有一段路要走,第一个赛道已经达到可用的程度,在AI虚拟世界中我们并不强求它和真实世界的完美一致性。
4.基于Sora的视频生产管线仍有巨大的发展空间,如何实现物料级和像素级的精细控制、生成和编辑修改,我们期待有优秀的开源模型问世,以及类似于文生图社区的繁荣景象,有更多类似LoRa和ControlNet这样的生态涌现。
5.创作门槛和成本被大幅降低,一个人人都能制作电影和游戏的时代即将到来,任何创意和才华都将得到展现,内容生态将爆发式增长。
6.当前的视频生成仍需较长的等待时间,如果未来能实现实时生成,我们将真正步入元宇宙,生活在一个可交互的、个性化的、一直持续生成的虚拟世界里。
7.如果物理模拟器能够精确模拟现实世界,具身智能将离我们近在咫尺。
Reference
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.
11. 稀土掘金技术社区,CV大模型系列之全面解读ViT
12. 清熙,解读OpenAI Sora文生视频技术原理