分享

追本溯源:OpenAI Sora 技术报告解读

 mrjiangkai 2024-02-27 发布于上海

一、引言

本文中,所有下划线表示的内容为我们自己的理解,非下划线的内容来自 OpenAI 的技术报告。本文中的图片如无特别说明均来自 OpenAI 的技术报告,此外由于 Gif 压缩等原因会导致质量下降比较多,原始视频可以参考 OpenAI 的技术报告。

如下是微信指数数据,可以看出其受到的关注远大于同一天发布的 Google  Gemini-1.5:

图片

OpenAI Sora 技术报告主要聚焦于:

  • 将所有类型的视觉数据转换为统一表征的方法,这些表征将用于生成模型的大规模训练。

  • 针对 Sora 的能力和局限性的定性评估。

OpenAI 报告不涉及模型和实现细节也就是目前我们无法得知 Sora 的模型结构、训练数据集规模等信息,但是从这个报告中可以推测,应该是使用了大量的训练数据,GPU 算力的需求也要远超之前的视频生成模型。

许多之前的工作中已经研究了使用各种方法对视频数据进行生成建模的方法,比如 RNN、GAN、自回归 Transformer 以及 Diffusion 模型等,这些工作往往针对一小类视觉数据或者较短、固定大小的视频。而 Sora 是一个通用的视觉模型,可以生成不同时长宽高比分辨率视频和图像,最多可以生成 1 分钟的高清视频。

Sora 中提到的很多技术并非 Sora 的原创,而是在之前的工作中已经存在,比如 DALL-E 3 中的 Captioner 模型,针对生成物体不完整的处理,任意分辨率、宽高比的支持,时空 Patch 等。Sora 的优势是将各种技术融合,并将部分针对图像生成或者视频理解的技术扩展到视频生成中,实现了比较好的统一。

OpenAI Sora 官方页面:https:///sora

OpenAI 技术报告:https:///research/video-generation-models-as-world-simulators

二、视觉数据转为 Patches(Turning visual data into patches)

Sora 受到 LLM 的启发,其通过利用大规模网络数据进行训练使模型获得通用能力。LLM 的成功一定程度上取决于其统一的不同模态的表征,比如代码、数学、各种语言都可以使用 Token 表示。在 Sora 中作者也借鉴了这个思路,使用 ViT 等模型采用的图像 Patch 作为高度可扩展且有效的表征,用于在不同类型的视频和图像上训练生成模型。

具体来说,首先使用 Visual Encoder 将视频压缩为隐空间(Latent Space)表征,然后将表征拆解为时空 Patchs,以此可以将视频转换为 Tokens。

图片

针对上述提到的统一的表征,有些公众的 Sora 介绍中提到 “使用patches,可以对视频、音频、文字进行统一的表征。”。然而,实际上 Sora 的技术报告中并没有提到音频,并且 OpenAI 放出的视频中也没有音频,这个表述容易引起歧义;此外,Sora 技术报告中也并未提到可以将视频和文字进行统一表征,更像是说图像和视频的统一。

AI 语音克隆初创公司 ElevenLabs 最近发布了一系列使用 AI 为 Sora 生成配音的结果,获得了很不错的效果。然而,这些音频信息都是基于文本 Prompt 生成,也许结合视频内容,比如其中的背景、物体等信息能生成更佳的音频。

三、视频压缩网络(Video compression network)

作者训练了一个降低视频数据维度的模型,这个模型以原始视频作为输入,并输出一个在时间和空间上都被压缩过的隐空间表示。Sora 在压缩的隐空间上训练,此后也是基于隐空间生成视频。作者也训练了一个相应的 Decoder 模型,用于将生成的隐空间表征映射到像素空间。

视频压缩网络应该类似 VQ-VAE 模型(Vector Quantized Variational AutoEncoder),上图中的 Visual encoder 对应 VQ-VAE 中的 encoder,而对应的 Decoder 模型为 VQ-VAE 中的 decoder。OpenAI 的 DALL-E 3 中也采用了类似 Stable Diffusion 中的 VAE 模型,如下图所示,OpenAI 同样没有介绍过多细节(图片来自 DALL-E 3):

图片

四、时空隐 Patches(Spacetime latent patches)

给定一个压缩的输入视频,可以提取一个时空 Patch 序列,这些 Patch 将作为 Transformer 的 Token,这种方式同样适用于图像,因为其是单帧的视频。基于 Patch 的表征,可以对可变分辨率、时长和宽高比的视频和图像进行训练。在推理时,可以通过在适当大小的网格中排列随机初始化的 Token 来控制生成的视频的大小

OpenAI 的技术报告中引用了 Google 的 [2307.06304] Patch n' Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution,其提出了 NaViT,如下图 Figure 2 所示,可以支持任意的图像分辨率和宽高比,因此大家也猜测 Sora 的可变分辨率、宽高比是通过这个方案实现的

图片

此外,OpenAI 的技术报告中也引用了 Google 的 [2103.15691] ViViT: A Video Vision Transformer,其将图片 ViT 扩展为视频 ViT,可以将视频编码为时空 Patch,同时每个 Patch 有对应的位置、时序信息,ViViT 的具体流程如下图 Figure 1 所示(图片来自 ViViT),也是将 Video 编码为 3D 表征,然后拉成一维 Token 序列,并附加位置等信息,因此也有很多人猜测这是 Sora 的时空 Patch 的实现方案:

图片

传统 Video ViT 的处理方式如下图 Figure 2 所示(图片来自 ViViT),可以针对视频中的每一帧按照 ViT 的方式切分为 Patch,相当于 2D Patch:

图片

如下图 Figure 3 所示(图片来自 ViViT),ViViT 中采用了 3D Patch 的方案,将视频中的多帧一起处理,切分为 3D 的 Patch,然后每个 3D Patch 编码为一个 Token:

图片

上述为没有重叠帧的 3D Patch,也可以选择有重叠的方式,但至于 Sora 采用的那种方式就不得而知了。

五、针对视频生成的缩放 Transformer(Scaling transformers for video generation)

Sora 是一个 Diffusion 模型,给定输入的噪声 Patch(以及文本等条件信息),模型被训练来预测原始的去噪 Patch。更具体的来说,Sora 是一个 Diffusion Transformer 模型(此处引用指向了谢赛宁的 [2212.09748] Scalable Diffusion Models with Transformers,DiT 的另一个作者 William Peebles 也是 Sora 的第二作者,这可能也是大家猜测 Sora 是基于 DiT 模型的出处)。

图片

Transformer 也在语言建模、计算机视觉和图像生成等多个领域表现出了显著的缩放特性这也是 DiT 模型的另一个重要贡献,其探讨了不同规模 DiT 的性能。如下图所示,DiT 中作者验证了随着模型规模、计算资源的增加,生成图像的质量越好(FID 越低越好)。

图片

作者发现 Diffusion Transformer 模型可以有效地扩展为视频模型(DiT 主要针对图像生成)。如下所示,给定固定的种子和输入,随着训练计算资源的增加,生成的视频样本质量也越来越好(从左到右分别为 base,4x 计算和 32x 计算):

图片

六、可变时长、分辨率、宽高比(Variable durations, resolutions, aspect ratios)

以前的图像生成或视频生成方法中通常会通过 Resize、Crop 等方式将输入调整为标准的大小,例如,256x256 分辨率的 4s 视频。相反,作者发现以原始大小对数据进行训练会有更多的好处。 

6.1、采样灵活性(Sampling flexibility)

Sora 可以生成 1920x1080p 宽屏视频、1080x1920p 竖屏视频以及介于两者之间的所有分辨率视频(Patch 大小整数倍,比如 32 整数倍?)。这使得 Sora 可以直接以原始宽高比为不同的设备创建内容。Sora 也可以在以全分辨率生成内容之前以较小的分辨率快速生成内容原型——所有这些都是使用相同的模型。

图片

6.2、改善构图和骨架(Improved framing and composition)

作者同样发现,以原始宽高比对视频进行训练可以改善构图和骨架。作者将 Sora 与模型的一个特定版本进行了比较,该版本中所有训练视频被裁剪为正方形,这也是训练生成模型时常见的做法。如下图所示:

  • 左图:在方形裁剪上训练的模型,有些时候生成的视频其主体会不太完整。

  • 右图:以原始视频宽高比训练的 Sora 模型,此问题会明显改善。

图片

其实,在 [2307.01952] SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis 中作者也发现以前的 Stable Diffusion 模型存在一个比较典型的问题:生成的物体不完整,像是被裁剪过的,如下图 SD1.5 和 SD 2.1 的结果。作者猜测这可能和训练阶段的随机裁剪有关,考虑到这个因素,作者将裁剪的左上坐标(top, left)作为条件输入模型。如下图 Figure 4 中 SDXL 的结果,其生成结果都更加完整(图片来说 SDXL 论文):

图片

七、语言理解(Language understanding)

训练文本到图像生成系统需要大量带有相应文本描述的视频。作者将 DALL-E 3 中介绍的 Re-Captioning 技术应用到视频场景。具体来说,首先训练了一个高度描述性的 Captioner 模型,然后使用其为训练集中的所有视频生成详细文本描述。作者发现,基于生成的详细描述数据可以有效提高文本保真度以及视频的整体质量。

与 DALL-E 3 类似,作者也会利用 GPT 将简短的用户 Prompt 转换为更长的详细描述,然后输入到视频生成模型,这使得 Sora 能够更准确遵循用户 Prompt 生成高质量的视频。

图片

在 DALL-E 3 中,作者借鉴 Google [2205.01917] CoCa: Contrastive Captioners are Image-Text Foundation Models 的思路,创建了一个详细的图像描述生成模型。CoCa 模型的思路比较简单,在 CLIP 模型的基础上额外增加一个 Multimodal Text Decoder,训练中除了 CLIP 的对比损失(Contrastive Loss)外,也相应增加了描述损失(Captioning Loss)。如下图 Figure 2 所示(图片来自 CoCa 论文):

图片

如下图所示为 CoCA 模型的配置,至于 OpenAI 训练的 Captioner 模型配置并没有具体介绍:

图片

这个部分也看到一些不准确的解读,比如 “自然语言理解,采用DALLE3 生成视频文本描述,用GPT丰富文本prompts ,作为合成数据训练Sora,  架起了GPT 与 Sora语言空间的更精确关联,等于在Token与Patch 之间统一了“文字”;”,事实上 DALLE3 是个文本生成图像模型,而不具备图像描述的能力,OpenAI 是在训练阶段首先训练了一个 Captioner 模型,然后为训练集中的视频生成详细描述,之后使用详细描述+视频的方式训练;而在推理阶段,用户的输入 Prompt 有可能比较简短,此时可以使用 GPT 扩展 Prompt,并用扩展后的 Prompt 生成视频。

此外,也看到不少介绍这里是使用了 GPT-4V 来生成详细的视频描述,目前没有看到确切的介绍。

八、图像、视频提示(Prompting with images and videos)

前面展示了很多文本到视频生成的示例,实际也可以使用其他输入作为提示,例如预先存在的图像或视频。这种能力使得 Sora 能够执行各种图像和视频编辑任务,比如创建完美的循环的视频、为静态图像制作动图、在时间维上向前或向后扩展等。

8.1、基于 DALL-E 图像生成动画(Animating DALL-E images)

如下图所示,给定一个 DALL-E 生成的图像,Sora 可以生成一个动态的视频。

图片

8.2、视频扩展(Extending generated videos)

Sora 还能在时间维上向前(forward)向后(backward)扩展视频。如下所示,它们都是从生成的视频片段开始向以前的时间(backward)扩展,因此 3 个视频的开头都与其他视频不同,但所有视频都指向相同的结局。

图片

同样也可以基于此生成无限循环的视频:

图片

8.3、视频编辑(Video-to-video editing)

扩散模型已经实现了基于文本提示编辑图像和视频的多种方法,作者也将其中的一种方案 SDEdit 应用于 Sora,这种方法使得 Sora 能够以 0-shot 方式转换输入视频的风格或者环境。

图片

8.4、拼接视频(Connecting videos)

也可以使用 Sora 在两个不相关的输入视频帧之间逐渐插值,创建无缝的过渡转场。如下所示,左侧和右侧为给定的视频,中间为融合的视频:

图片

九、图像生成能力(Image generation capabilities)

Sora 也可以生成图像,为此,作者将高斯噪声 Patch 排列在时间范围为一帧的空间网格中,模型可以生成可变大小的图像,分辨率最大为 2048x2048。

图片

前面介绍到 Sora 实现了统一视觉表征,可以生成很逼真的视频,那么图像生成必定不在话下,此外,Sora 可以生成任意时长的视频,那么单帧视频就相当于一幅图像。

十、涌现模拟能力(Emerging simulation capabilities)

作者发现,经过大规模训练后,视频模型表现出了许多有趣的涌现能力。这些能力使得 Sora 能够模拟物理世界中人、动物和环境的某些方面。并且这些属性的出现并不是通过对 3D、物体等添加任何明确归纳偏执来实现的,纯粹是训练规模增加而出现的现象

10.1、3D 一致性(3D consistency)

Sora 可以生成动态相机运动的视频,随着相机的移动和旋转,人物和场景元素在三维空间中始终如一地移动

图片

10.2、长时一致性和目标保持(Long-range coherence and object permanence)

视频生成系统面临的一个重大挑战是长视频生成时保持时间一致性。作者发现,Sora 通常(并非总是)能够有效地对短期和长期依赖关系进行建模。例如,Sora 可以保留人、动物和物体等,即使它们被遮挡或离开了当前视野。

图片

同样,它也可以针对在一个采样中生成同一个角色的多个镜头(多视角),在整个视频中保持它们的外观一致,如下所示(来自 Sora 作者 Bill Peebles 的 Twitter):

图片

10.3、与世界相互作用(Interacting with the world)

Sora 有时可以用简单的方式模拟影响世界状态的动作。例如,一个画家可以在画布上留下新的印迹,并且随着时间的推移会一直持续存在,或者一个男人可以吃汉堡并留下咬痕。

图片

10.4、模拟数字世界(Simulating digital worlds)

Sora 还能模拟人工过程,比如视频游戏。Sora 可以同时通过一些基本策略控制 Minecraft 中的玩家,同时还可以高保真地渲染世界机器动态。这些能力可以通过在提示中加入 “Minecraft” 来 0-shot 的触发。

图片

十一、讨论(Discussion)

目前 Sora 作为模拟器依然存在许多局限性,例如,它不能准确地模拟许多基础的相互作用的物理特性,比如玻璃破碎。

图片

还有其他的交互,比如吃食物,并不总能阐释物体状态的正确变化。OpenAI 的官网也展示了其他失败的案例,比如在长时间视频中,可能出现物体的不连贯性或突然出现,比如下面例子所示,狗的数目突然变多:

图片

如下所示,Sora 生成的人类考古视频中凭空出现了一把椅子,并且会不受重力影响悬浮在空中,这不符合物理定律,因此也有人推测 Sora 并没有真正的学会模拟物理世界:

图片

十二、参考链接

  1. https://mp.weixin.qq.com/s/cg6jXKmUNgusqmpU94iL6Q

  2. https://mp.weixin.qq.com/s/_ckq6uZyvRgZvJJKVeZZ2w

  3. https://mp.weixin.qq.com/s/ggST2FiiUN8AgCApKWIh4Q

  4. https://mp.weixin.qq.com/s/Xw8pEAd_R3bfLf-pARwgiw

  5. https://mp.weixin.qq.com/s/ehjKDrsiIn6P_zFA3s0jJQ

  6. https://mp.weixin.qq.com/s/r_dSOWaV-bZbL8WanLg4rg

  7. https://mp.weixin.qq.com/s/OEaDx6UpHvE8I3oChG5odQ

  8. https://mp.weixin.qq.com/s/U77UFStkO30r7ZSc-EDkOw

  9. https://mp.weixin.qq.com/s/Y-vmxmPu4_-tHaeP35hDJg

  10. https://mp.weixin.qq.com/s/Woj6V0dHmg76Oewac0PWIg

我们之前也介绍过多个图像生成方案及综述,可以参考:

1. DALL-E、Stable Diffusion 等 20+ 图像生成模型综述
2. 文生图模型演进:AE、VAE、VQ-VAE、VQ-GAN、DALL-E 等 8 模型
3. OpenAI 文生图模型演进:DDPM、IDDPM、ADM、GLIDE、DALL-E 2、DALL-E 3
4. Stable Diffusion 模型演进:LDM、SD 1.0, 1.5, 2.0、SDXL、SDXL-Turbo 等
5. Google 图像生成模型 ViT-VQGAN & Parti-20B
6. Google 图像生成模型 MaskGIT & Muse, 并行解码 60 倍加速
7. Google 最强文生图模型 Imagen & Imagen 2
8. Google 最新图像生成模型,Instruct-Imagen

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多