解剖Sora:37页论文逆向工程推测技术细节,微软参与,华人团队出品


声明:本文来自于微信公众号 量子位(ID: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整个框架可能由三部分组成:

  • 首先,时间-空间压缩器将原始视频映射到潜在空间;

  • 随后,ViT处理这些被token化的潜在表示,并输出去噪后的潜在表示;

  • 类似CLIP的条件机制接收由LLM增强的用户指令和潜在的视觉提示,生成具有特定风格主题的视频。经过多次去噪迭代,最终得到了生成视频的潜在表示,随后通过相应的解码器映射回像素空间。

图片

逆向工程: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)可能是解决方案。

-->