十分钟带你彻底清楚Sora模型原理
OpenAI Sora文生视频(图像看作单帧视频)一放出就炸翻整个AI 圈,也是ChatGPT掀起GenAI热潮时隔一年后,OpenAI再次史诗级的更新。OpenAI 随后公布的技术综述[文献1],难掩其勃勃雄心:视频生成模型作为世界模拟器。
笔者春节前原计划整理一下对Google Lumiere 文生视频的认知,多个因素遗憾推迟。对比看两者大的技术方向均选择了扩散模型,却也有许多关键细节不同。恰好可以借着 OpenAI 技术综述来提纲挈领,一起梳理一下,为什么笔者觉得这是又一史诗级的更新。
一、Spacetime Latent Patches 潜变量时空碎片, 建构视觉语言系统
在“ChatGPT是第一个真正意义的人工通用智能”中,笔者总结过大语言模型借助Embedding将人类的语言 “编码”成自己的语言,然后通过注意力Attention从中提取各种丰富的知识和结构,加权积累与关联生成自己的语言,然后“编码”回人类的语言。
与ChatGPT首先引入Token Embedding 思路一致,针对视觉数据的建模方法则作为构建Sora最重要的第一步。碎片Patch已经被证明是一个有效的视觉数据表征模型,且高度可扩展表征不同类型的视频和图像。将视频压缩到一个低维的潜变量空间,然后将其拆解为时空碎片Spacetime Latent Patches。笔者觉得时空碎片是时空建模的关键,统一了时空分割的"语言"。
有了时空碎片这一统一的语言,Sora 自然解锁了多种技能:1. 自然语言理解,采用DALLE3 生成视频文本描述,用GPT丰富文本prompts ,作为合成数据训练Sora, 架起了GPT 与 Sora语言空间的更精确关联,等于在Token与Patch 之间统一了“文字”;2. 图像视频作为prompts,用户提供的图像或视频可以自然的编码为时空碎片Patch,用于各种图像和视频编辑任务 – 静态图动画、扩展生成视频、视频连接或编辑等。
技术特点:
三维空间的连贯性:Sora具备出色的能力,能够生成带有动态相机运动的视频。在相机的移动和旋转过程中,人物和场景元素在三维空间中呈现出流畅而连贯的运动,为用户带来身临其境的体验。可以看到,相比于其他三个视频生成模型,Sora 在生成时长、连贯性等方面都有显著的优势。
模拟数字世界:Sora不仅限于生成静态视频,更能模拟数字世界中的动态过程。它可以精准地控制视频游戏中的玩家,并高保真地渲染游戏世界及其动态。值得一提的是,通过提及“Minecraft”这一经典游戏,我们可以轻松激发Sora的这些卓越能力,使其在游戏中展现出色的表现。
长期连续性和物体持久性:对于视频生成系统而言,Sora展现出卓越的长期连续性和物体持久性。它能够有效地模拟短期和长期的依赖关系,确保生成的视频在时间上保持连贯。此外,Sora还能在一个样本中生成同一角色的多个镜头,并保证其在整个视频中的外观保持一致,从而增强了角色的辨识度和可信度。
与世界互动:Sora在某些情况下还能够模拟与世界状态产生简单影响的行为。例如,画家可以在画布上留下随时间持续的新笔触,展现出创作的动态过程;或者一个人吃汉堡时,Sora能够准确地模拟咬痕的形成,呈现出真实的互动效果。这些细节的呈现使得生成的视频更加生动真实,为用户带来更加沉浸式的视觉体验。
二、扩散模型与Diffusion Transformer,组合成强大的信息提取器
Sora 的训练受到了大语言模型(Large Language Model)的启发。这些模型通过在互联网规模的数据上进行训练,从而获得了泛化能力。
Sora实际上是一个Diffusion+Transformer模型,通过扩散模型与 Transformer,组合成强大的信息提取器。在用于从高维的时空碎片张成的空间中,观察并提取丰富的时空碎片之间的关联与演化的动态过程。这来自伯克利学者的工作Diffusion Transformer (DiT):“采用Transformer的可扩展扩散模型-Scalable diffusion models with transformers”,整体架构如下:
Diffusion Transformer (DiT)架构。左:我们训练调节的潜DiT模型。输入潜变量被分解成几个patch并由几个DiT块处理。右:DiT块的细节。我们对标准Transformer的变体进行了实验,这些变体通过自适应层归一化、交叉注意力和额外的输入token做调节。自适应层归一化效果最好。
扩散模型的工作原理是通过连续添加高斯噪声来破坏训练数据,然后通过逆转这个加噪过程来学习恢复数据。训练后可以使用扩散模型来生成数据,只需通过学习到的去噪过程来传递随机采样的噪声。扩散模型是一种潜变量模型,逐渐向数据添加噪声,以获得近似的后验q(x1:T|x0),其中x1,…,xT是与x0具有相同维度的潜变量。
图像渐进地转化为纯高斯噪声。训练扩散模型的目标是学习逆过程,即训练pθ(xt−1|xt)。通过沿着这个过程链向后遍历,可以生成新的数据。
从信息熵的角度可以这样理解:结构化信息信息熵低,多轮加高斯噪音,提高其信息熵,逐步掩盖原来的结构信息。本就无序的非结构化部分,信息熵很高,添加少量高斯噪音,甚至不用添加高斯噪音,已然很无序。
在此视角下,学习到的内容其实是原来结构化信息(如图像)的“底片”。类似化学上的酸碱中和,本来很酸的地方,得放更多的碱,现在我们学到了放碱的分布和节奏,反过来,剔除碱的分布,酸的分布就被还原了。
基础的扩散模型,过程中不降维、无压缩,还原度比较高。学习过程中的概率分布作为潜变量参数化,训练获取其近似分布,用KL散度计算概率分布之间的距离[文献3]。Diffusion Transformer (DiT) 因为引入Transformer 做多层多头注意力和归一化,因而引入了降维和压缩,diffusion方式下的底片信息提取过程,原理与LLM的重整化无异。
训练过程
首先将视频压缩到一个低维潜在空间中,然后将这种表现形式分解成时空区块,从而将视频转换为区块。
训练了一个用于降低视觉数据维度的网络。这个网络以原始视频为输入,输出在时间和空间上都被压缩的潜在表示。Sora在这个压缩的潜在空间上进行训练,并在此空间中生成视频。还开发了一个对应的解码器模型,它能将生成的潜在表示映射回到像素空间。
对于给定的压缩输入视频,提取一系列时空区块,它们在变换器模型中充当标记(token)。这种方案同样适用于图像,因为图像本质上是单帧的视频。基于区块的表示方法使Sora能够针对不同分辨率、持续时间和纵横比的视频和图像进行训练。在推理过程中,可以通过在适当大小的网格中排列随机初始化的区块来控制生成视频的大小。
随着 Sora 训练计算量的增加,样本质量有了显著提升。Sora训练时没有对素材进行裁切,使得Sora能够直接为不同设备以其原生纵横比创造内容。针对视频的原生纵横比进行训练,还可以提高构图和取景的质量。
训练文本到视频的生成系统需要大量配有相应文本提示的视频。应用了在DALL·E 3中引入的重新字幕技术到视频上。与DALL·E 3相似,也利用了GPT技术,将用户的简短提示转换成更详细的提示,然后发送给视频模型。
三、DiT应用于潜变量时空碎片,学习获得海量视频中时空碎片的动态关联
与“LLM在其高维语言空间中通过Transformer提取人类语言中无数的结构与关联信息”类似,Sora是个基于扩散模型的Transformer,被用于从高维的时空碎片张成的空间中,观察并提取丰富的时空碎片之间的关联与演化的动态过程。如果把前者对应人类读书,后者就是人类的视觉观察。
遗憾的是OpenAI的技术综述没有提供技术细节,不过笔者觉得大家可以参照Google Lumiere的技术原理来大胆推演一下。视频其实是记录了时空信息的载体: 时空碎片patch可以看作是三维空间的点集(x,y,z)的运动(t)或者说其实是个四维时空模型(x,y,z,t)。Sora和Lumiere之类的生成模型的第一步都是如何从中提取出相应的关键信息。
Lumiere STUNet架构。将预训练的T2I U-Net架构(Ho et al., 2022a)“膨胀”到一个时空UNet(STUNet),在空间和时间上对视频进行上下采样。(a)STUNet激活图的示例;颜色表示不同时序模块产生的特征:(b)基于卷积的块,由预训练的T2I层和因子化时空卷积组成,以及©在最粗的U-Net级别上基于注意力的块,其中预训练的T2I层和时间注意力。由于视频表征在最粗的级别上被压缩,我们使用有限的计算开销堆叠几个时间注意力层。
谷歌Lumiere: A Space-Time Diffusion Model for Video Generation [文献4]也选择了扩散模型,堆叠了归一化与注意力层,类似Sora的DiT,但细节如时长、分辨率、长宽比等的处理方式不同。细节决定成败,OpenAI 称Sora摒弃了“其他文生视频调整视频大小、裁剪或修剪到标准大小的通常做法”,以可变时长、原始分辨率与长宽比训练视频生成获得重要优势,如采样灵活性,改进的创作与成帧。
四、Sora的前景与未来
Sora 和 Lumiere 等文生视频模型其实就是大模型从侧重空间关联转向了加强时间关联。也就是从笔者上图中“非时间维度子空间”的信息提取,转向侧重学习和表征“状态空间的动态性”及处理“非马尔可夫性”。通过海量视频中对时空碎片的动态关联的学习,目前看文生视频大模型可以学到可视层面或者表面意义上的SSM,此种意义上,MAMBA之类的SSM模型应该可以殊途同归。
然而仅仅从时空碎片的表象上是获取不到足够捕获其内在规律的信息的,未来人类科学家们可以将他们长期殚精竭虑探索的领域,包括但不局限于物理化学生物等等学科的范畴,可视化为图像或视频,交给视频生成大模型去学习,辅助发现其中蕴含的潜在规律。
Sora 开了一个好头,或者说史诗级的把视频生成模型泛化成了物理引擎。把LLM GPT加视频生成模型Sora推到实时,就接近或达到人类的感知水平了。今后重要任务是处理好感知到概念体系的认知跨越,也就是处理好生成过程采样和变分推断的合理性。
普林斯顿和DeepMind 科学家已经开始用随机图来解释大模型涌现出来的的新能力,与笔者去年9月整理过的:“范畴的相变与知识的形成”不谋而合。处理好大模型感知到认知的跨越,不仅仅使得AI4Science领域迎来重大突破,Artificial Super Intelligence人工超级智能也将指日可待。
参考文献:
[文献1]https://openai.com/research/video-generation-models-as-world-simulators
[文献2]Scalable diffusion models with transformers, https://arxiv.org/abs/2212.09748
[文献3]https://ml.cs.tsinghua.edu.cn/~fanbao/Application-DPM.pdf
[文献4]Lumiere: A Space-Time Diffusion Model for Video Generation https://arxiv.org/pdf/2401.12945.pdf
[文献5]Across Scales & Across Dimensions: Temporal Super-Resolution using Deep Internal Learning https://arxiv.org/abs/2003.08872