先安排好演员,再让他们来演绎。
今天,我们都在感受 Sora 的带来的魅力。
OpenAI 的首个视频生成模型 Sora,让「一句话生成视频」的前沿 AI 技术向上突破了一大截,引发了业界对于生成式 AI 技术方向的大讨论。
Sora 生成的视频范例。提示词:「两艘海盗船在一个咖啡杯中航行、互相战斗的逼真特写视频。」来源:twitter.com/DrJimFan/st...
此前,我们已经见证过许多创业公司提出的视频生成模型。相比之下,OpenAI 提出的新模型不论是效果还是理念上,似乎都具有划时代的意义。
有人第一时间总结道,Sora 不是一个简单的视频生成器,它是一个数据驱动的物理引擎,其对于虚拟和现实世界进行模拟。在这个过程中,模拟器通过一些去噪和梯度数学方法来学习复杂的视觉渲染,构建出「直观」的物理效果,以及进行长期推理和语义基础。
在 Sora 推出后,OpenAI 很快公布了技术报告。
OpenAI 探索了视频数据生成模型的大规模训练。具体来说,研究人员在可变持续时间、分辨率和宽高比的视频和图像上联合训练了一个文本条件扩散模型。作者利用对视频和图像潜在代码的时空补丁进行操作的 transformer 架构,其最大的模型 Sora 能够生成长达一分钟的高质量视频。
OpenAI 认为,新展示的结果表明,扩展视频生成模型是构建物理世界通用模拟器的一条有前途的途径。
技术报告地址:openai.com/research/vi...
OpenAI 在技术报告中重点展示了:(1)将所有类型的视觉数据转化为统一表示,从而能够大规模训练生成模型的方法;以及(2)对 Sora 的能力和局限性进行定性评估。
令人遗憾的是,OpenAI 的报告不包含模型和训练的细节。
最近一段时间,视频生成是 AI 领域的重要方向,先前的许多工作研究了视频数据的生成建模方向,包括循环网络、生成对抗网络、自回归 transformer 和扩散模型。这些工作通常关注一小类视觉数据、较短的视频或固定大小的视频。
与之不同的是,OpenAI 的 Sora 是视觉数据的通用模型,它可以生成不同时长、长宽比和分辨率的视频和图像,而且最多可以输出长达一分钟的高清视频。
视觉数据转为 Patches
大型语言模型通过在互联网规模的数据上进行训练,获得了出色的通用能力中,OpenAI 从这一点汲取了灵感。LLM 得以确立新范式,部分得益于创新了 token 使用的方法。研究人员们巧妙地将文本的多种模态 ------ 代码、数学和各种自然语言统一了起来。
在这项工作中,OpenAI 考虑了生成视觉数据的模型如何继承这种方法的好处。大型语言模型有文本 token,而 Sora 有视觉 patches。此前的研究已经证明 patches 是视觉数据模型的有效表示。OpenAI 发现 patches 是训练生成各种类型视频和图像的模型的可扩展且有效的表示。
在更高层面上,OpenAI 首先将视频压缩到较低维的潜在空间,然后将表示分解为时空 patches,从而将视频转换为 patches。
视频压缩网络
OpenAI 训练了一个降低视觉数据维度的网络。该网络将原始视频作为输入,并输出在时间和空间上压缩的潜在表示。Sora 在这个压缩的潜在空间中接受训练,而后生成视频。OpenAI 还训练了相应的解码器模型,将生成的潜在表示映射回像素空间。
时空潜在 patches
给定一个压缩的输入视频,OpenAI 提取一系列时空 patches,充当 Transformer 的 tokens。该方案也适用于图像,因为图像可视为单帧视频。OpenAI 基于 patches 的表示使 Sora 能够对不同分辨率、持续时间和长宽比的视频和图像进行训练。在推理时,OpenAI 可以通过在适当大小的网格中排列随机初始化的 patches 来控制生成视频的大小。
用于视频生成的缩放 Transformer
Sora 是个扩散模型;给定输入噪声 patches(以及文本提示等调节信息),训练出的模型来预测原始的「干净」patches。重要的是,Sora 是一个扩散 Transformer。Transformer 在各个领域都表现出了卓越的缩放特性,包括语言建模、计算机视觉、和图像生成。
在这项工作中,OpenAI 发现扩散 Transformers 也可以有效地缩放为视频模型。下面,OpenAI 展示了训练过程中具有固定种子和输入的视频样本的比较。随着训练计算的增加,样本质量显着提高。
可变的持续时间,分辨率,宽高比
过去的图像和视频生成方法通常需要调整大小、进行裁剪或者是将视频剪切到标准尺寸,例如 4 秒的视频分辨率为 256x256。相反,该研究发现在原始大小的数据上进行训练,可以提供以下好处:
首先是采样的灵活性:Sora 可以采样宽屏视频 1920x1080p,垂直视频 1920x1080p 以及两者之间的视频。这使 Sora 可以直接以其天然纵横比为不同设备创建内容。Sora 还允许在生成全分辨率的内容之前,以较小的尺寸快速创建内容原型 ------ 所有内容都使用相同的模型。
其次是改进帧和内容组成:研究者通过实证发现,使用视频的原始长宽比进行训练可以提升内容组成和帧的质量。将 Sora 在与其他模型的比较中,后者将所有训练视频裁剪成正方形,这是训练生成模型时的常见做法。经过正方形裁剪训练的模型(左侧)生成的视频,其中的视频主题只是部分可见。相比之下,Sora 生成的视频(右侧)具有改进的帧内容。
语言理解
训练文本到视频生成系统需要大量带有相应文本字幕的视频。研究团队将 DALL・E 3 中的重字幕(re-captioning)技术应用于视频。
具体来说,研究团队首先训练一个高度描述性的字幕生成器模型,然后使用它为训练集中所有视频生成文本字幕。研究团队发现,对高度描述性视频字幕进行训练可以提高文本保真度以及视频的整体质量。
与 DALL・E 3 类似,研究团队还利用 GPT 将简短的用户 prompt 转换为较长的详细字幕,然后发送到视频模型。这使得 Sora 能够生成准确遵循用户 prompt 的高质量视频。
以图像和视频作为提示
我们已经看到了文本到视频的诸多生成示例。实际上,Sora 还可以使用其他输入,如已有的图像或视频。这使 Sora 能够执行各种图像和视频编辑任务 --- 创建完美的循环视频、静态图像动画、向前或向后延长视频时间等。
为 DALL-E 图像制作动画
只要输入图像和提示,Sora 就能生成视频。下面展示了根据 DALL-E 2 和 DALL-E 3 图像生成的视频示例:
狗戴着贝雷帽、穿着黑色高领毛衣
带有 Sora 的云图像
视频内容拓展
Sora 还能够在开头或结尾扩展视频内容。以下是 Sora 从一段生成的视频向后拓展出的三个新视频。新视频的开头各不相同,拥有相同的结尾。
不妨使用这种方法无限延长视频的内容,实现「视频制作永动机」。
视频到视频编辑
扩散模型激发了多种根据文本 prompt 编辑图像和视频的方法。OpenAI 的研究团队将其中一种方法 ------SDEdit 应用于 Sora,使得 Sora 能够在零样本(zero-shot)条件下改变输入视频的风格和环境。
输入视频如下:
输出结果:
连接视频
我们还可以使用 Sora 在两个输入视频之间逐渐进行转场,从而在具有完全不同主题和场景构成的视频之间创建无缝过渡。
图像生成能力
Sora 还能生成图像。为此,OpenAI 将高斯噪声 patch 排列在空间网格中,时间范围为一帧。该模型可生成不同大小的图像,最高分辨率可达 2048x2048。
涌现模拟能力
OpenAI 发现,视频模型在经过大规模训练后,会表现出许多有趣的新能力。这些能力使 Sora 能够模拟物理世界中的人、动物和环境的某些方面。这些特性的出现没有任何明确的三维、物体等归纳偏差 --- 它们纯粹是规模现象。
三维一致性。Sora 可以生成动态摄像机运动的视频。随着摄像机的移动和旋转,人物和场景元素在三维空间中的移动是一致的。
长序列连贯性和目标持久性。视频生成系统面临的一个重大挑战是在对长视频进行采样时保持时间一致性。OpenAI 发现,虽然 Sora 并不总是能有效地模拟短距离和长距离的依赖关系,但它在很多时候仍然能做到这一点。例如,即使人、动物和物体被遮挡或离开画面,Sora 模型也能保持它们的存在。同样,它还能在单个样本中生成同一角色的多个镜头,并在整个视频中保持其外观。
与世界互动。Sora 有时可以模拟以简单方式影响世界状态的动作。例如,画家可以在画布上留下新的笔触,这些笔触会随着时间的推移而持续,或者一个人可以吃汉堡并留下咬痕。
模拟数字世界。Sora 还能模拟人工进程,视频游戏就是一个例子。Sora 可以通过基本策略同时控制 Minecraft 中的玩家,同时高保真地呈现世界及其动态。只需在 Sora 的提示字幕中提及 「Minecraft」,就能零样本激发这些功能。
这些功能表明,视频模型的持续扩展是开发物理和数字世界以及其中的物体、动物和人的高能力模拟器的一条大有可为的道路。
局限性讨论
作为一款模拟器,Sora 目前还存在许多局限性。例如,它不能准确模拟许多基本交互的物理现象,如玻璃碎裂。其他交互,如吃食物,并不总能产生正确的物体状态变化。官方主页列举了该模型的其他常见失效模式,例如长时间样本中出现的不一致性或物体的自发出现。
不过,Sora 目前所展现的能力证明了持续扩大视频模型的规模是一个充满希望的方向,这也将助力物理和数字世界及其中的物体、动物和人类能够有更加精确的模拟。
关于 Sora 参考文献,大家可以自行查阅。