我们探索了视频数据上生成模型的大规模训练。具体来说,我们在可变持续时间、分辨率和长宽比的视频和图像上联合训练文本条件扩散模型。我们利用了一个在视频和图像潜在码的时空块上操作的变压器架构。我们规模最大的模型 Sora 能够生成一分钟的高保真视频。我们的结果表明,扩大视频生成模型的规模,是建立通用物理世界模拟器的一条有前景的途径。
Sora:一镜到底,惊艳了整个世界
本技术报告重点介绍(1)我们将各类视觉数据转化为统一表示的方法,使生成模型能够进行大规模训练,以及(2)对 Sora 的能力和局限性的定性评估。本报告未包含模型和实现的详细信息。
许多先前的研究工作已经使用各种方法研究了视频数据的生成建模,包括循环网络、1、2、3 生成对抗网络、4、5、6、7 自回归转换器、8、9 和扩散模型。10、11、12 这些工作通常专注于狭窄的视觉数据类别、较短的视频或固定大小的视频。 Sora 是视觉数据的通用模型——它可以生成跨越不同持续时间、长宽比和分辨率的视频和图像,最长可达一分钟的高清视频。
将视觉数据转化为块
我们从大型语言模型(LLM)中获取灵感,这些模型通过训练互联网规模的数据获得通用能力。13、14 LLM 范式部分成功的原因在于使用了令牌,这些令牌可以优雅地统一文本的多种模态——代码、数学和各种自然语言。在这项工作中,我们考虑视觉数据的生成模型如何继承此类好处。 LLM 有文本令牌,而 Sora 有视觉块。以前的研究已经表明,块是视觉数据模型的有效表示。15、16、17、18 我们发现,块是训练各种类型和图像生成模型的可扩展且有效的表示。
在高级别上,我们首先将视频压缩到较低维度的潜在空间,19 然后将表示分解为时空块,从而将视频转化为块。
视频压缩网络
我们训练了一个降低视觉数据维度的网络。20 这个网络以原始视频为输入,并输出一个同时在时间和空间上被压缩的潜在表示。 Sora 在这个压缩的潜在空间内进行训练,并随后生成视频。我们还训练了一个相应的解码器模型,将生成的潜在值映射回像素空间。
时空潜在块
给定压缩的输入视频,我们提取一系列时空块,这些块充当转换器的令牌。这种方案也适用于图像,因为图像只是具有单个帧的视频。我们基于块的表示使 Sora 能够训练可变分辨率、持续时间和长宽比的视频和图像。在推断时,我们可以通过在适当大小的网格中排列随机初始化的块来控制生成视频的大小。
用于视频生成的变换器扩展
Sora 是一个扩散模型21、22、23、24、25;给定输入噪声块(以及条件信息,如文本提示),它被训练来预测原始“干净”块。重要的是, Sora 是一个扩散转换器。26 转换器在各种领域中展示了出色的扩展性,包括语言建模13、14、计算机视觉15、16、17、18 和图像生成27、28、29。
在这项工作中,我们发现扩散转换器作为视频模型也能有效地扩展。下面,我们展示了随着训练的进行,具有固定种子和输入的视频样本的比较。随着训练计算量的增加,样本质量明显提高。
可变持续时间、分辨率、长宽比
过去的图像和视频生成方法通常会将视频调整大小、裁剪或修剪为标准大小,例如分辨率为 256x256 的 4 秒视频。我们发现,相反,在数据的原始大小上进行训练可以提供几个好处。
采样灵活性
Sora 可以采样宽屏 1920x1080p 视频、垂直 1080x1920 视频以及它们之间的所有内容。这让 Sora 能够直接以设备的原始长宽比创建内容。它还允许我们在以全分辨率生成之前,使用相同的模型快速生成较低大小的内容原型。
改进构图和构图
我们经验地发现,在视频的原始长宽比上进行训练可以改进构图和构图。我们将 Sora 与我们模型的一个版本进行了比较,该版本将所有训练视频裁剪为正方形,这是在训练生成模型时的常见做法。在正方形裁剪上训练的模型(左)有时会生成仅部分显示主体的视频。相比之下,来自 Sora(右)的视频具有改进的构图。
语言理解
训练文本到视频的生成系统需要大量的带有相应文本字幕的视频。我们将 DALL·E 330 中引入的重新标注技术应用于视频。我们首先训练一个高度描述性的字幕模型,然后使用它为训练集中的所有视频生成文本字幕。我们发现,在高度描述性的视频字幕上进行训练可以提高文本的保真度和视频的整体质量。
与 DALL·E 3 类似,我们还利用 GPT 将简短的用户提示转换为更长的详细字幕,然后将其发送到视频模型。这使 Sora 能够生成高质量的视频,准确遵循用户提示。
使用图像和视频进行提示
上面和我们的着陆页上的所有结果都展示了文本到视频的样本。但 Sora 也可以用其他输入进行提示,例如预先存在的图像或视频。这种能力使 Sora 能够执行广泛的图像和视频编辑任务——创建完美循环的视频、使静态图像动起来、在时间上前向或后向扩展视频等。
使 DALL·E 图像动起来
Sora 能够根据图像和提示作为输入生成视频。下面,我们展示了基于 DALL·E 231 和 DALL·E 330 图像生成的示例视频。
扩展生成的视频
Sora 还能够向前或向后扩展视频。以下是四个从生成的视频片段开始向后扩展的视频。因此,这四个视频的开头各不相同,但最终都以相同的结尾结束。
我们可以使用这种方法向前和向后扩展视频,以产生无缝的无限循环。
视频到视频的编辑
扩散模型使得从文本提示中编辑图像和视频的方法变得丰富多样。下面,我们将其中一种方法 SDEdit32 应用到 Sora 上。这种技术使 Sora 能够零镜头地转换输入视频的风格和环境。
连接视频
我们还可以使用 Sora 逐渐在两个输入视频之间进行插值,从而创建具有完全不同主题和场景组成的视频之间的无缝过渡。在下面的示例中,中间的视频在左侧和右侧对应的视频之间进行插值。
图像生成能力
Sora 也能够生成图像。我们通过在空间网格中排列一个时间长度为一帧的高斯噪声块来做到这一点。该模型可以生成可变大小的图像,最高分辨率为 2048x2048。
新兴的模拟能力
我们发现,当在大规模上进行训练时,视频模型会表现出许多有趣的新兴能力。这些能力使 Sora 能够模拟物理世界中的人、动物和环境的一些方面。这些属性是在没有任何明确的 3D、对象等归纳偏见的情况下出现的——它们完全是规模的现象。
3D 一致性。Sora 可以生成具有动态相机运动的视频。当相机移动和旋转时,人和场景元素会在三维空间中一致地移动。
长程一致性和物体恒存性。对于视频生成系统来说,在采样长视频时保持时间一致性一直是一个重大挑战。我们发现,尽管并非总是如此,但 Sora 通常能够有效地建模短期和长期依赖关系。例如,我们的模型可以在人们、动物和物体被遮挡或离开画面时保持它们的存在。同样,它可以在单个样本中生成同一角色的多个镜头,并在整个视频中保持其外观。
与世界互动。Sora 有时可以模拟以简单方式影响世界状态的动作。例如,画家可以在画布上留下随时间持续的新笔触,或者一个人可以吃汉堡并留下咬痕。
模拟数字世界。Sora 还能够模拟人工过程——一个例子是视频游戏。Sora 可以在高保真度的同时,用基本策略同时控制 Minecraft 中的玩家并渲染世界及其动态。通过用提到“Minecraft”的标题提示 Sora,可以零镜头地激发这些能力。
这些能力表明,继续扩大视频模型的规模是实现高度能力的物理和数字世界模拟器,以及其中生活的物体、动物和人的发展的有前途的途径。
讨论
目前,Sora 作为模拟器存在许多限制。例如,它不能准确地模拟许多基本交互的物理性质,如玻璃破碎。其他交互,如吃食物,并不总是会导致对象状态的正确变化。我们在我们的着陆页面上列举了模型的其他常见故障模式,例如在长时间样本中发展的不一致性或对象的自发出现。
我们认为 Sora 目前所具备的能力表明,继续扩大视频模型的规模是实现高度能力的物理和数字世界模拟器,以及其中生活的物体、动物和人的发展的有前途的途径。