智能时代 Archiver

西风 发表于 2024/3/2 14:56:29

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

Sora 刚发布不久,就被逆向工程“解剖”了?!来自理海大学、微软研究院的华人团队发布了首个 Sora 相关研究综述,足足有 37 页。

他们基于 Sora 公开技术报告和逆向工程,对模型背景、相关技术、应用、现存挑战以及文本到视频 AI 模型未来发展方向进行了全面分析。

连计算机视觉领域的 AI 生成模型发展史、近两年有代表性的视频生成模型都罗列了出来:

网友们也属实没想到,仅仅过了半个月、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 然后将它们编码到潜在空间。

有几个关键问题要注意:

另一种方法是空间-时间-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 为何被认为具有里程碑式意义?

透过计算机视觉(CV)领域的 AI 生成模型发展史来看,Sora 的突破性或许就更加明了了。

过去十年,生成式 CV 模型的发展变换了多种路线。

重要的一点是,大语言模型领域开始逐渐展示出规模化定律,ChatGPT、GPT-4 等展示出了一定的涌现能力。

不过视觉模型是否同样符合规模化定律还不是很清晰。

而 Sora 作为一个大型视觉模型(LVM),它的问世与规模原则保持了一致,揭示了在文本-视频生成中的几种涌现能力。这一进展凸显了 LVM 实现类似 LLM 那样的进步的潜力。

根据 Sora 的技术报告,它是第一个确认展示出涌现能力的视觉模型,标志着计算机视觉领域的一个重要里程碑。

除了其涌现能力,正如上面提到的,Sora 在遵循指令、视觉提示工程以及视频理解等方面的能力亦有重大进步。

比如,Sora 能生成具有多个角色、包含特定运动的复杂场景,不仅能理解用户在提示中提出的要求,似乎还能理解简单物体在物理世界中的存在方式。它还可以在单个视频中创建多个镜头,并依靠对语言的深入理解准确地解释提示词,保留角色和视觉风格……

Sora 的五大应用前景及局限性

研究人员总结 Sora 具有五大亮点:提高模拟能力、促进创造力、推动教育创新、增强无障碍性、促进新兴应用。

最后还总结了 Sora 的五大应用场景:

1、影制作:Sora 的应用在电影制作领域具有革命性意义,它能够将文本脚本转化为电影风格的视频,降低了电影制作的门槛,使得个人创作者也能够制作电影内容。

2、教育:在教育领域,Sora 能够将教学大纲或文本描述转化为动态视频内容,提高学生参与度和理解能力,为定制和激活教育材料提供了前所未有的机会。

3、游戏:传统游戏开发常常受限于预渲染环境和脚本事件。扩散模型能够实时生成动态、高保真度的视频内容和真实的声音,有望克服现有限制,为开发者提供创造有机响应玩家行动和游戏事件的演变游戏环境的工具。

4、医疗保健:在医疗领域,它特别适合于识别身体内的动态异常,如早期细胞凋亡、皮肤病变进展和不规则的人体运动,对于早期疾病检测和干预策略至关重要。

5、机器人:在机器人技术中,Sora 可以增强机器人的视觉感知和决策能力。使它们能够与环境交互,并以前所未有的复杂性和精度执行任务。

不过,尽管 Sora 在 AI 视频生成领域取得了显著进步,但仍面临一些挑战。

解决生成内容中的偏见问题和防止产生有害视觉内容,确保 Sora 输出的持续安全和无偏见是一项主要挑战。

此外,局限性还包括以下几点:

更多细节,感兴趣的家人们可以查阅原论文。

One More Thing

这篇综述发布后引起了不少网友关注,有网友表示值得全文阅读,但也有网友吐槽标题“Sora:”的设置极易引起误会。

对此,疑似论文作者在小红书作出回应:

论文链接:[2402.17177] Sora: A Review on Background, Technology, Limitations, and Opportunities of Large Vision Models
参考链接:https://twitter.com/_akhaliq/status/1762678991549354121

本文来自微信公众号:量子位 (ID:QbitAI),作者:西风

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