作者:西风
转自:量子位 | 公众号 QbitAI
Sora刚发布不久,就被逆向工程“解剖”了?!
来自理海大学、微软研究院的华人团队发布了首个
Sora相关
研究综述
,足足有37页。
他们基于Sora公开技术报告和
逆向工程
,对模型背景、相关技术、应用、现存挑战以及文本到视频AI模型未来发展方向进行了全面分析。
连计算机视觉领域的AI生成模型发展史、近两年有代表性的视频生成模型都罗列了出来:
网友们也属实没想到,仅仅过了半个月、Sora还暂未公开仅有部分人可使用,学术圈相关研究竟出现得这么快。
不少网友表示,综述非常全面有条理,建议全文阅读。
那么这篇综述具体都讲了啥?
量子位在不改变原意的基础上,对部分内容进行了整理。
目录
逆向工程剖析Sora技术细节
-
整体架构
-
多样性视觉数据预处理
-
指令调优:视频摘要生成器
-
视频提示工程
Sora具有里程碑式意义
Sora的五大应用前景及局限性
逆向工程剖析Sora技术细节
众所周知,Sora发布后,OpenAI紧接着发布了技术报告,但未详细透露技术细节,被有的网友吐槽OpenAI果然还是这么“Close”。
学术圈的猜测也是五花八门,
ResNeXt一作谢赛宁、英伟达AI科学家Jim Fan等各路大佬都曾激情开麦
。Jim Fan还高呼Sora就是
视频生成的
GPT-3时刻
。
不过,OpenAI研究员Jason Wei最近对Sora的评价是
视频生成的
GPT-2时刻
。
大佬们众说纷纭,然而谁的猜测更为准确还不好说。
而在这篇研究综述中,研究人员用逆向工程同样推测分析了Sora的技术细节,并讨论了一系列相关工作。大致涉及以下几个问题——
整体架构
根据OpenAI发布的技术报告,Sora是一个在不同时长、分辨率和宽高比的视频及图像上训练而成的
扩散模型
,同时采用了
Transformer
架构,即为一种
“扩散型Transformer”
。
回顾现有工作并运用逆向工程,研究人员推测补充了如下信息。
Sora整个框架可能由三部分组成:
△
逆向工程:Sora框架概述
更细节一点,逆向工程推测Sora利用了
级联扩散模型架构
,结合基础模型和多个时空细化模型。
由于高分辨率下使用注意力机制的计算成本高且性能提升有限,基础扩散模型和低分辨率扩散模型不太可能大量使用注意力模块。
同时,考虑到视频/场景生成中时间一致性比空间一致性更重要,Sora或采用长视频
(用于时间一致性)
和低分辨率的高效训练策略来保证空间和时间上的一致性。
△
Diffusion Transformer,DiT(左)、U-ViT(右)的整体架构
另外,考虑到与预测原始潜在变量x或噪声ϵ的其他变体相比,v参数化扩散模型的性能更优,Sora可能使用v参数化扩散模型。
在潜在编码器方面,大多数现有工作为提升训练效率,利用Stable Diffusion的预训练VAE编码器作为初始化的模型checkpoint。
然而,编码器缺乏时间压缩能力。尽管一些工作提议只微调解码器来处理时间信息,但解码器在压缩的潜在空间中处理视频时间数据的性能仍然不是最优的。
基于技术报告,研究人员推测Sora可能不是使用现有预训练VAE编码器,而是
使用从零开始在视频数据上训练的时空VAE编码器
,该编码器在针对视频内容优化的压缩潜在空间中的表现优于现有编码器。
多样性视觉数据预处理
与传统方法需要裁剪视频大小或调整宽高比以适应统一的标准尺寸不同,Sora能够在
原生尺寸
的视频和图像上训练、理解并生成视频。
也就是能处理多样性视觉数据,且对原始尺寸的样本无损,这显著提升了Sora的视频构图与框架,使生成的视频更自然连贯。
举个例子,用传统方法训练如左图,由于正方形裁剪,视频画面主体被截断,而右图使用原始样本训练,视频主体完全被捕捉。
这部分的技术细节,OpenAI在技术报告中虽然做了重点介绍,不过也仅是提出了一个高层次的想法:
为处理不同分辨率、宽高比、时长的图像和视频,Sora采用了统一的视觉表示。具体来说,模型先将视频压缩到低维潜在空间中,然后将表示分解为
时空patch
,从而实现了视频的
“patch化”
。
而在综述中,研究人员做了如下分析。
Sora的视频压缩网络
(视觉编码器)
目的是减少输入数据
(原始视频)
的维度,并输出一个在时间和空间上都被压缩的潜在表示。
根据Sora技术报告中的参考文献,压缩网络建立在VAE或VQ-VAE之上。如果按照技术报告中提到的不调整大小、不裁剪,VAE很难将视觉数据映射到统一且固定大小的潜在空间。
不过,这里总结了两种方法来解决这个问题。
一种方法是
空间-patch压缩
(Spatial-patch Compression)
,类似于ViT和MAE中采用的方法,将视频帧分割成固定大小的patch然后将它们编码到潜在空间。
有几个关键问题要注意:
-
时间维度的可变性。因视频时长不同、潜在空间维度不固定,需通过采样固定帧数或设定超长输入长度来整合时间信息。
-
利用预训练视觉编码器。大多数研究者倾向于使用预训练编码器如Stable Diffusion的VAE,但Sora团队可能自行训练编码器和解码器,能高效处理大尺寸patch数据。
-
时间信息的整合。由于这种方法主要关注空间patch压缩,所以需要模型内部的额外机制来聚合时间信息,这对于捕捉动态变化至关重要。
另一种方法是
空间-时间-patch压缩
(Spatial-temporal-patch Compression)
,使用3D卷积提取时间信息。
这种方法同时封装视频数据的空间和时间维度,提供一种全面的视频表示,考虑了帧之间的运动和变化,从而捕捉视频的动态特性。
与空间-patch压缩相似,空间-时间-patch压缩通过设置特定的卷积核参数处理视频,由于视频输入的特征差异,导致潜在空间维度发生变化,在这里上文提到的空间-patch的方法同样适用并有效。
在压缩网络这部分还有一个关键问题:如何处理不同视频类型中潜在特征块或patch的数量,然后再将patch输入到Diffusion Transformer的输入层?
研究人员认为,基于Sora的技术报告和相应参考文献,
patch n’ pack(PNP)
可能是解决方案。
PNP将来自不同图像的多个patch打包到一个序列中,类似于NLP中的示例打包,通过丢弃token来适应可变长度输入的高效训练。
在打包过程中,需要考虑如何以紧凑的方式打包这些patch,以及如何控制哪些patch应被丢弃。
对于第一个问题,研究人员提到了一种简单的算法,即在有足够剩余空间时添加示例,然后用token填充序列,以获得批量操作所需的固定序列长度。
对于第二个问题,一种直观的方法是丢弃相似的token,或者像PNP那样应用丢弃率调度器。
不过丢弃token可能会在训练过程中遗失一些细节。因此,研究人员认为OpenAI可能会使用超长的上下文窗口打包视频中的所有token。
长视频的空间-时间潜在patch可以打包在一个序列中,而来自几个短视频的潜在patch则在另一个序列中连接。
总的来说,在数据预处理这部分,研究人员推测Sora首先将视觉patch压缩成低维潜在表示,然后将这样的潜在patch或进一步patch化潜在patch排列成一个序列,接着在将这些潜在patch输入到Diffusion Transformer的输入层之前注入噪声。
Sora采用空间-时间patch化,因为它易于实现,并且可以有效减少具有高信息密度token的上下文长度,降低后续对时间信息建模的复杂性。
指令调优:视频描述生成器
模型指令调优旨在增强AI模型遵循提示的能力,使模型能适应更广泛的用户请求,确保对指令中的细节给予细致的关注,并生成精确满足用户需求的视频。
Sora在这方面采用了一种与DALL·E 3类似的方法。
首先训练一个能够详细描述视频的
视频描述生成器
(Video captioner
)
。然后,将其应用于训练数据中的所有视频,来生成高质量的视频-文本对,用这些视频-文本对微调Sora,提高其遵循指令的能力。
Sora的技术报告没有透露训练视频摘要生成器的细节。鉴于视频摘要生成器是一个视频-文本的模型,构建它有多种方法。
方法之一是利用CoCa架构进行视频摘要生成,通过获取视频的多个帧并将每个帧输入到图像编码器VideoCoCa。
VideoCoCa基于CoCa并重用预训练的图像编码器权重,独立地应用于采样的视频帧。得到的帧token嵌入被展平并连接成一个长视频表示序列。这些展平的帧token随后被一个生成性池化器和一个对比性池化器处理,这两者与对比损失和摘要生成损失一起联合训练。
构建视频描述生成器的其他选择包括mPLUG-2、GIT、FrozenBiLM等。
最后,为确保用户提示与训练数据中的描述性摘要格式对齐,Sora执行了一个额外的提示扩展步骤,其中用GPT-4V将用户输入扩展为详细的描述性提示。
视频提示工程
提示工程是为了让用户引导AI模型生成与其意图一致的内容。
以前关于提示工程的研究主要集中在LLM和文本生成图像的提示上,研究人员推测对视频生成模型的视频提示将会越来越受到关注。
提示工程的效果依赖于精准选择用词、明确细节,以及对这些细节如何影响模型输出的深刻理解。比如下图示例中,提示词详细描述了动作、环境、角色造型,甚至是期望的情绪和场景氛围。
Sora还能够同时利用视觉和文本信息,将静态图像转换为动态的、叙事驱动的视频。
除此外,Sora还能够向前或向后扩展视频,通过提示可以指定扩展的方向、主题等。
在下图(a)中,视频提示指导Sora倒退扩展视频。下图(b)中,切换视频场景时,模型需要通过prompt清楚理解所需视频风格、氛围、光线明暗变化等细节。图(c)中,指导Sora连接视频,在不同场景中对象间顺畅过渡,也需要在提示工程上下功夫。
Sora具有里程碑式意义
在圈内外炸开锅、被称为是视频生成GPT-3、GPT-2时刻,Sora为何被认为具有里程碑式意义?