毋庸置疑,Sora是人工智能领域的一次重大突破,向我们展示了AI在理解和创造复杂视觉内容方面的先进能力——Sora的出现,预示着一个全新的视觉叙事时代的到来,它能够将人们的想象力转化为生动的动态画面,将文字的描述转化为视觉的盛宴。
但除了感叹Sora的强大,另一个许多人都在关心的问题就是——Sora这么强,到底是怎么做到的?
对于Sora的工作原理,OpenAI发布了相关的技术报告,标题就是“作为世界模拟器的视频生成模型(图2)”。就这篇技术报告的标题而言,可以看到,OpenAI对于Sora的定位是世界模拟器,也就是为真实世界建模,模拟各种现实生活的物理状态,而不仅仅是一个简单的文生视频的工具。也就是说,Sora模型的本质,是通过生成虚拟视频,来模拟现实世界中的各种情境、场景和事件。
技术报告里提到,这一研究尝试在大量视频数据上训练视频生成模型。研究人员在不同持续时间、分辨率和纵横比的视频和图像上联合训练了以文本为输入条件的扩散模型。同时,引入了一种Transformer架构,该架构对视频的时空序列包和图像潜在编码进行操作。其中,最顶尖的模型——Sora,已经能够生成最长1分钟的高保真视频,这标志着视频生成领域取得了重大突破。研究结果表明,通过扩大视频生成模型的规模,有望构建出能够模拟物理世界的通用模拟器,这无疑是一条极具前景的发展道路。
图2 Sora相关技术报告
再简单的一点来说,Sora就是一个基于扩散模型再加上Transformer的视觉大模型——这也是Sora的创新所在。
事实上,在过去的十年,图像和视频生成领域有着巨大的发展,涌现出了多种不同架构的生成方法,其中,生成式对抗网络(GAN)、StyleNet框架路线、Diffusion模型(扩散模型)路线以及Transformer模型路线是最突出的四种技术路线。
生成式对抗网络(GAN)由两部分组成——生成器和判别器。生成器的目标是创造出看起来像真实图片的图像,而判别器的目标是区分真实图片和生成器产生的图片。这两者相互竞争,最终生成器会学会产生越来越逼真的图片。虽然GAN生成图像的拟真性很强,但是其生成结果的丰富性略有不足,即对于给定的条件和先验,它生成的内容通常十分相似。
StyleNet框架路线是基于深度学习的方法,使用神经网络架构来学习键入语言和图像或视频特征间关系。通过学习样式和内容的分离,StyleNet能够将不同风格的图像或视频内容进行转换,实现风格迁移、图像/视频风格化等任务。
Diffusion模型(扩散模型)路线则是一种通过添加噪声并学习去噪过程来生成数据的方法。通过连续添加高斯噪声来破坏训练数据,然后通过学习反转的去噪过程来恢复数据,扩散模型就能够生成高质量、多样化的数据样本。举个例子,假如我们现在有一张小狗的照片,我们可以一步步给这张照片增加噪点,让它变得越来越模糊,最终会变成一堆杂乱的噪点。假如把这个过程倒过来,对于一堆杂乱无章的噪点,我们同样可以一步步去除噪点,把它还原成目标图片,扩散模型的关键就是学会逆向去除噪点。扩散模型不仅可以用来生成图片,还可以用来生成视频。比如,扩散模型可以用于视频生成、视频去噪等任务,通过学习数据分布的方式生成逼真的视频内容,提高生成模型的稳定性和鲁棒性。
Transformer模型路线我们已经很熟悉了,Transformer模型就是一种能够理解序列数据的神经网络类型,通过自注意力机制来分析序列数据中的关系。在视频领域,Transformer模型可以应用于视频内容的理解、生成和编辑等任务,通过对视频帧序列进行建模和处理,实现视频内容的理解和生成。相比传统的循环神经网络,Transformer模型在长序列建模和并行计算方面具有优势,能够更好地处理视频数据中的长期依赖关系,提升生成质量和效率。
Sora其实采用的就是Diffusion模型(扩散模型)路线和Transformer模型路线的结合——Diffusion Transformer模型,即DiT。并且,凭借打造与训练GPT-4等大语言模型的先进经验,Sora还进一步优化了Diffusion Transformer模型,提出了Scaling Transformer模型。
根据Sora技术报告,Sora采用的DiT架构的理论基础是一篇名为Scalable Diffusion Models With Transformers的学术论文。该篇论文是2022年12月由伯克利大学研究人员、现Sora团队技术领导比尔·皮布尔斯(Bill Peebles)和纽约大学研究人员谢赛宁共同发表。
在Sora发布后,谢赛宁在某社媒平台上写道,“当Bill和我参与DiT项目时,我们并未专注于创新,而是将重点放在了两个方面:简洁性(simplicity)和可扩展性(scalability)”。他表示,“可扩展性是论文的核心主题,优化的DiT架构的运行速度比UNet(传统文本到视频模型的技术路线)快得多。更重要的是,Sora证明了DiT缩放定律不仅适用于图像,现在也适用于视频——Sora复制了DiT中观察到的视觉缩放行为。”
具体来看,基于扩散模型和Transformer结合的创新,Sora首先将不同类型的视觉数据转换成统一的视觉数据表示(视觉patch),然后将原始视频压缩到一个低维潜在空间,并将视觉表示分解成时空patch(相当于Transformer token),让Sora在这个潜在空间里进行训练并生成视频。接着做加噪去噪,输入噪声patch后,Sora通过预测原始“干净”patch来生成视频。
OpenAI发现,训练计算量越大,样本质量就会越高,特别是经过大规模训练后,Sora展现出模拟现实世界某些属性的“涌现”能力。这也是为什么OpenAI把视频生成模型称作“世界模拟器”,并总结说持续扩展视频模型是一条模拟物理和数字世界的希望之路的原因。
除了对扩散模型和Transformer进行创新结合外,OpenAI还创造性地为Sora打造了视频语言“patches”,即“块”——大语言模型对文本数据的输入范式tokens实现了代码、数字、字母、汉字等文字多模态的统一表达,使得大语言模型具备多种专业领域的通用式对话能力。以此为基础,OpenAI继承了token生成的技术理念,提出Sora对视频数据的输入范式patches。
简单来理解,patches其实就是Sora的基本单元,patches是视频的片段,一个视频可以理解不同patches按照一定序列组织起来的。就像GPT-4的基本单元是token,而token是文字的片段。GPT-4被训练以处理一串token,并预测出下一个token。Sora遵循相同的逻辑,可以处理一系列的patches,并预测出序列中的下一个patches。
具体来看,Sora的视频生成过程是一个精细复杂的工作流程,主要分为三个主要步骤:视频压缩网络、时空补丁提取,以及视频生成的Transformer模型。
视频压缩网络是Sora处理视频的第一步,它的任务是将输入的视频内容压缩成一个更加紧凑、低维度的表示形式。这一过程类似于将一间杂乱无章的房间打扫干净并重新组织。我们的目标是,用尽可能少的盒子装下所有东西,同时确保日后能快速找到所需之物。在这个过程中,我们可能会将小物件装入小盒子中,然后将这些小盒子放入更大的箱子。这样,我们就可以用更少、更有组织的空间存储同样多的物品。视频压缩网络正是遵循这一原理。它将一段视频的内容“打扫和组织”成一个更加紧凑、高效的形式(即降维),旨在捕捉视频中最为关键的信息,同时去除那些对生成目标视频不必要的细节。这不仅大大提高了处理速度,也为接下来的视频生成打下了基础。
那么,Sora是怎么做的呢?这里就用到了“块”(patches)的概念。简单来说,块就像是大语言模型中的token,指的是将图像或视频帧分割成的一系列小块区域。这些块是模型处理和理解原始数据的基本单元。对于视频生成模型而言,块不仅包含了局部的空间信息,还包含了时间维度上的连续变化信息。模型可以通过学习块与块之间的关系来捕捉运动、颜色变化等复杂视觉特征,并基于此重建出新的视频序列。这样的处理方式有助于模型理解和生成视频中的连贯动作和场景变化,从而实现高质量的视频内容生成。
此外,OpenAI还在块的基础上,将其压缩到低维度潜在空间,再将其分解为“时空块”(spacetime patches)步。
其中,潜在空间是指一个高维数据通过某种数学变换(如编码器或降维技术)后所映射到的低维空间,这个低维空间中的每个点通常对应于原始高维数据的一个潜在表示或抽象特征向量。本质上来讲,潜在空间,就是一个能够在复杂性降低和细节保留之间达到近乎最优的平衡点,极大地提升了视觉保真度。
时空块则是指从视频帧序列中提取出的、具有固定大小和形状的空间—时间区域。相较于块而言,时空块强调了连续性,模型可以通过时空块来观察视频内容随时间和空间的变化规律。为了制造这些时空块,OpenAI训练了一个网络,即视频压缩网络,用于降低视觉数据的维度。这个网络接收原始视频作为输入,并输出一个在时间和空间上都进行了压缩的潜在向量。Sora在这个压缩后的潜在空间中进行训练和生成视频。同时,OpenAI也训练了一个相应的解码器模型,用于将生成的潜在向量映射回像素空间。
经过视频压缩网络处理后,Sora接下来会将这些压缩后的视频数据进一步分解为所谓的“空间时间补丁”。可以将这些补丁视为构成视频的基本元素,每一个补丁都包含了视频中一小部分的空间和时间信息。这一步骤使得Sora能够更细致地理解和操作视频内容,并在之后的步骤中能进行针对性处理(图3)。
图3 Sora工作流程
最后一步,基于Transformer的模型,Sora会根据给定的文本提示和已经提取的空间时间补丁,开始生成最终的视频内容。在这个过程中,Transformer模型会决定如何将这些单元转换或组合,包括“涂改”初始的噪声视频,逐步去除无关信息,添加必要细节,最终生成与文本指令相匹配的视频。通过数百个渐进的步骤,Sora能够将这段初看似无意义的噪声视频转变为一个精细、丰富且符合用户指令的视频作品。
通过这三个关键步骤的协同工作,Sora就能够将文本提示转化为具有丰富细节和动态效果的视频内容。
可以看到,Sora所用到的技术并不是最新的技术,不管是扩散模型还是Transformer,都是早已提出来的模型,Sora所做的,就是把Diffusion和Transformer架构结合在一起,创建了Diffusion Transformer模型,并为Sora打造视频语言“patches”。不过,虽然Sora的诞生没有多么纯粹原创的技术,很多技术成分早已存在,但OpenAI却比所有人都更笃定地走了下去,并用足够多的资源在巨大的规模上验证了它,这也是OpenAI能够成功的重要原因。