https://zhuanlan.zhihu.com/p/682402862
以视频生成模型作为世界模拟器
我们探索了对视频数据进行大规模训练的生成模型。具体来说,我们联合训练了文本条件扩散模型(text-conditional diffusion models),使其可以在不同时长、分辨率和宽高比的图像和视频上进行处理。我们利用了一种 transformer 架构,该架构可以在视频和图像潜在代码(latent code)的时空块(spacetime patch)上运行。我们最大的模型 Sora,能够生成一分钟的高保真视频。我们的研究结果表明,扩展视频生成模型是构建通用物理世界模拟器的一条有前景的道路。 这份技术报告的重点是 (1) 我们将各种视觉数据转化为统一表示的方法,这种表示可以进行大规模生成模型训练;以及 (2) 对 Sora 所具备的能力和局限性的定性评估。模型和实现细节不包括在本报告中。 此前有许多对视频数据生成建模的工作,使用了多种方法,包括循环网络、生成对抗网络、自回归 transformers 和扩散模型。这些工作常常集中在某一狭窄类别的视觉数据上,或者针对较短的视频,或固定尺寸的视频。Sora 是视觉数据的多面手——它可以生成跨越不同时长、宽高比和分辨率的视频和图像,最长可达一分钟的高清视频。将视觉数据转化为块(patches)
我们从训练于互联网级规模数据从而获得通用能力的大型语言模型(LLM)中获取灵感。LLM 能取得如此成功部分归功于使用语言单元(token)来优雅地统一多种类型的文本——代码、数学和各种自然语言。在本工作中,我们考虑如何让视觉数据的生成模型继承这些好处。LLM 有文本 token,Sora 则有视觉块(visual patch)。此前已有工作表明 patches 是一种很有效的视觉数据模型表示法。我们发现 patches 是一种高度可扩展且有效的表现形式,适用于在各种类型的视频和图像上训练生成模型。 从较高层面来说,我们首先将视频压缩到低维的潜在空间,然后将该表示分解为时空块(spacetime patch),从而将视频转化为 patches。视频压缩网络
我们训练一个可以降低视觉数据维度的网络。 该网络以原始视频(raw video)为输入,输出在时间和空间上都被压缩的潜在表示。Sora 在这个压缩的潜在空间中进行训练,并随后生成视频。我们还训练了一个相应的解码器模型,将生成的潜在表示(latent)映射回像素空间。时空潜在块(Spacetime Latent Patches)
给定一个压缩的输入视频,我们提取一系列作为 transformer tokens 的时空块。该方案也适用于图像,因为图像实际上是一种只有一帧的视频。我们的这种基于块的表示使 Sora 能够在具有不同分辨率、时长和宽高比的视频和图像上进行训练。在推理时,我们可以通过在适当大小的网格中排列随机初始化的 patches 来控制生成视频的大小。扩展用于视频生成的 transformers
Sora 是一个扩散模型;给定带噪声的块输入(和诸如文本提示之类的条件信息),它被训练去预测原始的“干净”块。重要的是,Sora 是一个 diffusion transformer。Transformers 在语言建模、计算机视觉和图像生成等各个领域都展现出了显著的扩展特性。 在本工作中,我们发现 diffusion transformers 也能作为视频模型被有效地扩展。如下所示,随着训练过程中计算量的增加,视频样本质量得到显著提升,样本以固定种子和输入进行比较。多变的时长、分辨率和宽高比
过去针对图像和视频生成的方法通常需要调整、裁剪或修整视频到标准尺寸——例如,256x256 分辨率的 4 秒视频。我们发现改为在数据的原始尺寸上进行训练可以提供几个好处。采样灵活性
Sora 可以采样宽屏 1920x1080p分辨率的视频、垂直的1080x1920分辨率的视频,以及介于两者之间的各种视频内容。这使 Sora 可以以原始比例直接适应不同设备的内容需求。它还使我们能在生成全分辨率视频之前,以同个模型快速制作较低尺寸的原型内容。改善构图
我们实证发现,以原始宽高比对视频进行训练可以改善画面的构图与布局。我们将 Sora 与另一个同模型版本——在版本中所有训练视频都被裁剪为正方形尺寸(常见于训练生成模型的做法)——进行比较。经过方形裁剪训练的模型(左)有时生成的视频对象只出现了局部。相比之下,Sora(右)的生成的视频具有更好的画面设计。语言理解
训练文本到视频(text-to-video)的生成系统需要大量的带相应文本说明的视频。我们将 DALL-E 3 中引入的重新描述(re-captioning)技术用到视频上。我们首先训练一个高描述性的说明生成器模型(captioner model),然后用它为训练集中的所有视频生成文字说明。我们发现对高描述性的视频说明进行训练可以提高文本保真度以及视频的整体质量。 与 DALL-E 3 类似,我们还利用 GPT 将用户简短的提示转化为更详细的说明,然后发送给视频模型。这使 Sora 能够生成精确遵循用户提示的高质量视频。使用图像和视频进行提示
上述所有结果以及我们在着陆页展示的都是文本到视频的示例。但 Sora 也能够使用其他输入进行提示,例如预先存在的图像或视频。这种能力使 Sora 能够执行各种图像和视频编辑任务——创建完美循环的视频、使静态图像动画化、在时间上向前或向后扩展视频等等。使 DALL-E 图像动画化
Sora 能够根据图像和提示作为输入生成视频。下面我们展示了基于 DALL-E 2 和 DALL-E 3 图像生成的示例视频。 一只戴着贝雷帽和黑色高领衫的柴犬扩展生成的视频
Sora 还能够扩展视频,无论是向前还是向后扩展时间。以下是四个视频,它们都是从一段生成的视频开始向后扩展时间。因此,这四个视频的开头各不相同,但最终都指向相同的结尾。 我们可以使用这种方法向前和向后扩展视频,以生成无缝的无限循环。视频到视频编辑
扩散模型已经为从文本提示中编辑图像和视频提供了大量的方法。下面我们将其中一种方法 SDEdit 应用于 Sora。该技术使 Sora 能够零样本(zero-shot)地转换输入视频的风格和环境。连接视频
我们还可以使用 Sora 逐渐插补(interpolate)两个输入视频,在主题和场景构成完全不同的视频之间创建无缝的过渡。在下面的示例中,中间的视频插补了左右两侧的对应视频。图像生成能力
Sora 还能够生成图像。我们通过在具有一个帧的时间范围内的空间网格中排列高斯噪声块来实现这一点。该模型可以生成不同尺寸的图像——最大可达 2048x2048 分辨率。新兴的模拟能力
我们发现视频模型在进行大规模训练时会展现出许多有趣的新兴能力。这些能力使 Sora 能够模拟物理世界中的人、动物和环境的某些方面。这些特性是在没有任何关于 3D、物体等的明确归纳偏见的情况下出现的——它们纯粹是规模现象。3D 一致性。Sora 可以生成具有动态摄像机运动的视频。随着摄像机的移动和旋转,人和其他场景元素在三维空间中一致地移动。
长距离相干性和物体持久性。视频生成系统面临的一个重大挑战是在采样长视频时保持时间一致性。我们发现 Sora 常常(但并非总是)能够有效地模拟短期和长期的依赖关系。例如,我们的模型即使在人物、动物或物体被遮挡或离开画面时也能保持其存在。同样,它可以在一个样本中生成同一个角色的多个镜头,并在整个视频中保持其外观。
与世界互动。Sora 有时可以模拟以简单方式影响世界状态的行为。例如,画家可以在画布上留下新的笔触,并随着时间的推移保持这些笔触;或者,一个人可以吃掉一个汉堡,留下咬痕。
模拟数字世界。Sora 还能够模拟人工过程——一个例子是视频游戏。Sora 可以同时使用基本策略控制 Minecraft 中的玩家,同时以高保真度渲染世界及其动态。这些能力可以通过提示 Sora 带有“Minecraft”字样的说明来零样本地引发。
这些能力表明,视频模型的持续扩展是开发物理和数字世界以及其中生活着的物体、动物和人等的强力模拟器的一条有前景的道路。