铅笔道特约作者,林会杰博士,现任硅基智能CTO,本科和博士毕业于清华大学计算机专业。研究方向: 情感计算、人机语音交互、跨媒体数据建模与生成及数字人等。在ACM Multimedia、IJCAI、AAAI、TKDE等计算机领域国际顶尖学术会议和期刊发表论文近10篇。
OpenAI 2月16日凌晨发布了文生视频模型Sora的介绍和一系列Demo演示视频,其炸裂效果一经发布便连续多日占据科技圈头条,震撼程度不亚于一年前发布的ChatGPT,被视作通往AGI(通用人工智能)的又一里程碑时刻。根据OpenAI官网描述,Sora能够根据用户输入的提示词,生成长达60s的高质量连贯视频。相比之前的只能生成平均“4s”长度视频的模型,Sora在生成视频的内容质量、一致性、连贯性和时长等方面取得了突破性进展,并展现出了一系列引人注目的“涌现”能力:Sora不仅能够理解用户输入的提示词,还能够模拟物理世界规律,生成一系列复杂场景——带有多种角色、不同类型的运动状态以及主体和背景的精准细节内容。Open AI在其官网随后发布了Sora的技术报告。我们根据OpenAI官方技术报告,来一起了解下Sora背后的技术原理。
以下内容依据OpenAI官网上关于Sora模型官方技术报告进行整理,原文链接:
https://openai.com/research/video-generation-models-as-world-simulators
作为世界模拟器的视频生成模型
OpenAI团队探索了基于视频数据对生成模型进行大规模训练。具体来说,OpenAI团队训练了文本条件扩散模型(text-conditional diffusion models),这些模型可以同时处理不同时长(durations)、分辨率(resolutions)和宽高比(aspect ratios)的视频和图像。OpenAI团队使用了一种能够处理视频和图像潜在编码的时空序列块(spacetime patches)的Transformer架构。OpenAI团队训练的最大的模型Sora已经能够生成一分钟的高保真视频。OpenAI团队的结果显示,扩展视频生成模型(scaling video generation models)有望成为构建物理世界通用模拟器(general purpose simulators)的一个有前景的路径。
这份技术报告主要聚焦两方面:(1)OpenAI团队将各类视觉数据转化为统一表示的方法,以实现生成式模型的大规模训练,以及(2)对Sora能力和局限性的定性评估。本报告不包含模型和实现细节。
许多先前的工作使用各种方法研究了视频数据的生成建模,循环网络(recurrent networks)¹ ² ³、生成对抗网络(generative adversarial networks)⁴ ⁵ ⁶ ⁷、自回归Transformer(autoregressive transformers)⁸ ⁹和扩散模型(diffusion models)¹⁰ ¹¹ ¹²。这些工作通常集中在较窄类别的视觉数据、较短的视频或固定大小的视频上。相比之下,Sora是一个视觉数据的通用模型——它可以生成跨越不同时长、宽高比和分辨率的视频和图像,生成长达一分钟的高清视频。
将视觉数据转换为块
OpenAI团队从大规模语言模型(large language models)中汲取灵感,这些模型通过在互联网规模的数据(internet-scale data)上训练获得通用能力(generalist capabilities)¹³ ¹⁴。LLM范式的成功部分得益于使用token将各种形式的文本代码、数学和自然语言统一起来。在这项工作中,OpenAI团队考虑如何将这种优势引入到视觉数据的生成式模型中。与LLM使用文本token不同,Sora则使用视觉块(visual patches)。块(patches)在之前的一些工作中已经被证明是视觉数据模型的有效表示¹⁵ ¹⁶ ¹⁷ ¹⁸。OpenAI团队发现,块(patches)是训练多样化视频和图像生成模型的高度可扩展且有效的表示方式。
在高层次上,OpenAI团队首先通过把视频压缩到较低维的潜在空间(lower-dimensional latent space)将视频转换为块(patches)¹⁹,然后再将其分解为时空块(spacetime patches)。
视频压缩网络
OpenAI团队训练了一个网络来降低视觉数据的维度²⁰。这个网络以原始视频为输入,输出一个在时间和空间上都被压缩的潜在表示(latent representation)。Sora就是在这个压缩后的潜在空间上训练并生成视频。OpenAI团队还训练了一个相应的解码器模型,将生成的潜在表示映射回像素空间。
时空潜在块
给定一个压缩后的输入视频,OpenAI团队从中提取时空块序列(a sequence of spacetime patches),这些块被用作Transformer Tokens。这个方案也适用于图像,因为图像就是单帧的视频。OpenAI团队这种基于“块”的表示(patch-based representation)使得Sora能够训练和生成不同分辨率、时长和宽高比的视频和图像。在推理时,可以通过在适当大小的网格中排列随机初始化的块(patches)来控制生成视频的大小。
扩展transformer用于视频生成
Sora是一个扩散模型(diffusion model)²¹ ²² ²³ ²⁴ ²⁵,给定输入的噪声块(noisy patches)(以及文本提示等条件信息),它被训练来预测原始的“干净”块(“clean” patches)。重要的是,Sora还是一个带有Transformer的扩散模型(diffusion transformer)²⁶。Transformer在包括语言建模¹³ ¹⁴、计算机视觉¹⁵ ¹⁶ ¹⁷ ¹⁸和图像生成²⁷ ²⁸ ²⁹在内的多个领域展示了显著的扩展属性。
在这项工作中,OpenAI团队发现Transformer同样可以有效地扩展(scale)为视频模型。下面OpenAI团展示了在训练过程中,使用固定的种子和输入,随着训练计算量的增加,视频样本质量显著提高。
可变时长、分辨率、宽高比
过去的图像和视频生成方法通常将视频调整大小、裁剪或修剪至标准尺寸——例如,256x256分辨率的4秒视频。与其如此,OpenAI团队发现直接在原始大小的数据上进行训练反而带来了诸多优势。
采样灵活性(Sampling flexibility)
Sora可以采样宽屏1920x1080p视频、竖屏1080x1920视频以及介于两者之间的所有内容。这让Sora能够为不同设备直接创建符合其原生宽高比的内容。Sora还可以在生成全分辨率内容之前快速生成较小尺寸的原型内容(prototype content)——所有这些都使用同一个模型。
改进的取景与构图(Improved framing and composition)
OpenAI团队实证发现,在原生宽高比上训练视频可以改善构图(composition)和取景(framing)。OpenAI团队比较了Sora与其将所有训练视频裁剪为方形的模型版本(这是训练生成模型时的常见做法)进行了比较。在方形裁剪(左)版本训练的模型有时会产生仅显示部分主体的视频。相比之下,Sora(右)的视频有更好的构图。
语言理解
训练文本到视频生成系统需要大量带有对应文本描述(text captions)的视频。OpenAI团队在视频上应用了在DALL·E 3³⁰中引入的re-captioning技术。OpenAI团队首先训练一个高度描述性的文本描述生成模型,然后使用它为训练集中的所有视频生成文本描述(text captions)。OpenAI团队发现,基于高度描述性视频字幕(video captions)的训练提高了文本保真度以及视频的整体质量。
与此同时,与DALL·E 3类似,OpenAI团队还利用GPT将简短的用户提示转换为更长的详细描述,并将其输入到视频模型。这使得Sora能够精确地按照用户提示生成高质量的视频。
使用图像与视频提示
所有上述结果以及OpenAI主页(https://openai.com/sora)上的结果展示的都是文本到视频生成的样本。但Sora也可以通过其他输入方式来进行提示(prompt),如预先存在的图像或视频。这种能力使得Sora能够执行广泛的图像和视频编辑任务——创建完美循环的视频、为静态图像添加动画、向前或向后扩展视频等。
将DALL·E图片变成动画(Animating DALL·E images)
Sora能够根据图像和提示作为输入生成视频。下面展示的示例视频就是基于DALL·E 2³¹和DALL·E ³⁰的图像输入生成的。这些示例不仅证明了Sora的强大功能,还展示了它在图像和视频编辑领域的无限潜力。
扩展生成的视频(Extending generated videos)
Sora还能在时间维度上实现视频内容向前或向后的扩展。以下是四个视频,它们都是从生成视频的一个片段开始向后扩展的。结果显示,尽管每个视频起始部分各异,但所有四个视频的结局却出奇的一致。
我们还可以使用这种方法同时向前和向后扩展视频,创造出无缝的无限循环视频。
视频到视频编辑(Video-to-video editing)
扩散模型已经实现了通过文本提示编辑图像和视频的多种方法。OpenAI团队将其中一种名为SDEdit³²的方法应用到了Sora。这项技术使得Sora能够零样本(zero-shot)地转换输入视频的风格和环境。
视频的无缝连接(Connecting videos)
Sora还能在两个截然不同的输入视频之间实现无缝过渡。通过逐渐插入技术,我们能够在具有完全不同主题和场景构图的视频之间创建出流畅自然的过渡效果。在下面的示例中,中间的视频展示了在左右两个对应的视频之间插值后实现的效果。
图像生成能力(Image generation capabilities)
Sora也能够生成图像。这可以通过在一帧时间范围内的空间网格(spatial grid)中排列高斯噪声块(patches of Gaussian noise)来实现。Sora模型可以生成不同大小的图像——最高可达2048x2048分辨率。
图注:秋季女性特写肖像照,极其细节,浅景深
图注:充满活力的珊瑚礁,充满色彩缤纷的鱼类和海洋生物
图注:苹果树下一只小老虎的数字艺术,采用哑光绘画风格,细节华丽
图注:雪山村庄,拥有舒适的小屋和北极光显示屏,高细节和逼真的数码单反相机,50 毫米 f/1.2
涌现的模拟能力
OpenAI团队发现,当视频模型在大规模训练时表现出许多有趣的涌现能力(emergent capabilities)。这些能力使得Sora能够模拟物理世界中的人、动物和环境的某些方面。这些属性在没有对3D、物体等的任何显式归纳偏差的情况下出现——它们纯粹是规模现象(phenomena of scale)。
3D一致性:Sora 可以生成带有动态摄像机运动的视频。随着摄像机的移动和旋转,人和场景元素在三维空间中保持一致移动。
远程相干性和物体持久性(Long-range coherence and object permanence.):视频生成领域一直面对的一个重要挑战就是,在生成的较长视频中保持时空连贯性和一致性(temporal consistency)。OpenAI团队发现Sora通常(尽管并非总是)能够有效地对短期和长期依赖关系进行建模。例如,在生成的视频中,人物、动物和物体即使在被遮挡或离开画面后,仍能被准确地保留和呈现。同样,Sora可以在单个样本中生成同一角色的多个镜头,并在整个视频中保持其外观一致性。
与世界互动(Interacting with the world):Sora有时还能以简单的方式模拟影响世界状态的行为。例如,画家可以在画布上留下新的笔触,并且随着时间的推移而持续存在;或者一个人吃汉堡时也能在上面留下咬痕。
模拟数字世界(Simulating digital worlds):Sora还能够模拟人工过程——比如视频游戏。Sora 可以同时通过基本策略控制《我的世界》中的玩家,同时以高保真度渲染世界及其动态。这些功能都无需额外的训练数据或调整模型参数,只需向Sora提及“我的世界”相关的提示词即可零样本(zero-shot)实现。
这些能力表明,视频模型的持续扩展(continued scaling)是开发物理和数字世界以及生活在其中的物体、动物和人的高性能模拟器的一条充满希望的道路。
讨论(Discussion)
Sora目前作为模拟器(simulator)还存在许多局限性。例如,它不能准确地模拟许多基本交互的物理过程,如玻璃破碎等。其他交互,如吃东西时,Sora并不能总是产生正确的物体状态变化。OpenAI团队在官网(https://openai.com/sora)中列举了模型的其他常见失败模式——例如,长时间视频样本中表现出的不一致性或某些物体不受控的自发出现等。
OpenAI团队相信Sora今天所表现出的能力,展示了视频模型持续扩展(continued scaling of video models)的巨大潜力,即这是通往开发物理和数字世界以及生活在其中的物体、动物和人的高性能物理和数字世界模拟器的一条充满希望的道路。
参考文献(References)
1. Srivastava, Nitish, Elman Mansimov, and Ruslan Salakhudinov. "Unsupervised learning of video representations using lstms." International conference on machine learning. PMLR, 2015.
2. Chiappa, Silvia, et al. "Recurrent environment simulators." arXiv preprint arXiv:1704.02254 (2017).
3. Ha, David, and Jürgen Schmidhuber. "World models." arXiv preprint arXiv:1803.10122 (2018).
4. Vondrick, Carl, Hamed Pirsiavash, and Antonio Torralba. "Generating videos with scene dynamics." Advances in neural information processing systems 29 (2016).
5. Tulyakov, Sergey, et al. "Mocogan: Decomposing motion and content for video generation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.
6. Clark, Aidan, Jeff Donahue, and Karen Simonyan. "Adversarial video generation on complex datasets." arXiv preprint arXiv:1907.06571 (2019).
7. Brooks, Tim, et al. "Generating long videos of dynamic scenes." Advances in Neural Information Processing Systems 35 (2022): 31769-31781.
8. Yan, Wilson, et al. "Videogpt: Video generation using vq-vae and transformers." arXiv preprint arXiv:2104.10157 (2021).
9. Wu, Chenfei, et al. "Nüwa: Visual synthesis pre-training for neural visual world creation." European conference on computer vision. Cham: Springer Nature Switzerland, 2022.
10. Ho, Jonathan, et al. "Imagen video: High definition video generation with diffusion models." arXiv preprint arXiv:2210.02303 (2022).
11. Blattmann, Andreas, et al. "Align your latents: High-resolution video synthesis with latent diffusion models." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023.
12. Gupta, Agrim, et al. "Photorealistic video generation with diffusion models." arXiv preprint arXiv:2312.06662 (2023).
13. Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems 30 (2017).
14. Brown, Tom, et al. "Language models are few-shot learners." Advances in neural information processing systems 33 (2020): 1877-1901.
15. Dosovitskiy, Alexey, et al. "An image is worth 16x16 words: Transformers for image recognition at scale." arXiv preprint arXiv:2010.11929 (2020).
16. Arnab, Anurag, et al. "Vivit: A video vision transformer." Proceedings of the IEEE/CVF international conference on computer vision. 2021.
17. He, Kaiming, et al. "Masked autoencoders are scalable vision learners." Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2022.
18. Dehghani, Mostafa, et al. "Patch n'Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution." arXiv preprint arXiv:2307.06304 (2023).
19. Rombach, Robin, et al. "High-resolution image synthesis with latent diffusion models." Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2022.
20. Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint arXiv:1312.6114 (2013).
21. Sohl-Dickstein, Jascha, et al. "Deep unsupervised learning using nonequilibrium thermodynamics." International conference on machine learning. PMLR, 2015.
22. Ho, Jonathan, Ajay Jain, and Pieter Abbeel. "Denoising diffusion probabilistic models." Advances in neural information processing systems 33 (2020): 6840-6851.
23. Nichol, Alexander Quinn, and Prafulla Dhariwal. "Improved denoising diffusion probabilistic models." International Conference on Machine Learning. PMLR, 2021.
24. Dhariwal, Prafulla, and Alexander Quinn Nichol. "Diffusion Models Beat GANs on Image Synthesis." Advances in Neural Information Processing Systems. 2021.
25. Karras, Tero, et al. "Elucidating the design space of diffusion-based generative models." Advances in Neural Information Processing Systems 35 (2022): 26565-26577.
26. Peebles, William, and Saining Xie. "Scalable diffusion models with transformers." Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023.
27. Chen, Mark, et al. "Generative pretraining from pixels." International conference on machine learning. PMLR, 2020.
28. Ramesh, Aditya, et al. "Zero-shot text-to-image generation." International Conference on Machine Learning. PMLR, 2021.
29. Yu, Jiahui, et al. "Scaling autoregressive models for content-rich text-to-image generation." arXiv preprint arXiv:2206.10789 2.3 (2022): 5.
30. Betker, James, et al. "Improving image generation with better captions." Computer Science. https://cdn.openai.com/papers/dall-e-3.pdf 2.3 (2023): 8
31. Ramesh, Aditya, et al. "Hierarchical text-conditional image generation with clip latents." arXiv preprint arXiv:2204.06125 1.2 (2022): 3.
32. Meng, Chenlin, et al. "Sdedit: Guided image synthesis and editing with stochastic differe