Sora简介及技术路径综述
1、Sora为什么这么火?
在发布人工智能应用史上的里程碑——Chatgpt后仅一年零两个月,openai又整了个大活,这次的活看起来更吸引人,因为它是视觉上的直观突破,即文生视频。
文生视频这一概念也并非什么稀罕事,很多公司都在做了,这次的轰动主要在于Sora做到了以下几点:
-
最大支持60秒高清视频生成,以及基于已有短视频的前后扩展,同时保持人物/场景的高度一致性。
关于ai生成视频,之前有一种思路,包括现在有些营销号在做的,就是通过将ai生成图片,多凑一些图片来讲述一个故事,但这样通常面临前后生成不一致,以及生成图片数量限制,无法到达正常视频成千上万帧的帧与帧之间连接的效果。
-
视频融合能力
-
同一场景多镜头/角度生成能力
-
具有动态摄像机运动的视频。随着摄像机的移动和旋转,人和其 他场景元素在三维空间中一致地移动
-
支持任意分辨率,宽高比的视频输出
是的,sora已经达到电影级水准的制作了,即使官方也发布了一些Sora生成的错误样例,但在我看来也几乎能做到瑕不掩瑜了。
2、Sora的技术路径
简单来说就是下面这张图
在弄懂这张图之前,我们先要清楚一个概念—patch:
这是非常经典的论文Vision Transformer中的一张图,也被称为将NLP的研究方法应用于CV领域的开山之作,patch这个概念就是在其中提出的,patch的实质就是将完整的图片拆成 NxN 的小方格后,再将每个图像块转换成向量,这样就得到了包含每个小方格position信息的embedding。比如下图中这张 224x224 的小狗图片,把它打碎成 196 张 16x16 的小图就叫做 ,实际上之前在训练 vision LLM 一直是这么做的。
弄懂了patch,你好像对cv领域处理非结构化数据的理解又更深了一步,然而,对于Sora来说,我们面向的对象从图片转为了视频,而视频中的数据还包括了很重要的时空信息,幸好,我们可以站在巨人的肩膀上:
在ViVit这篇论文中,作者提出了Spacetime latent patches这个概念,就像Figure.3一样,作者考虑了时间维度的信息,把平面的patch变成了立体的,如下图方式进行联合时空建模
Diffusion-Transformer(DiT)架构
来到了一个重点,由于closeai没有开源,对于Sora所用的训练技巧,业界各有推测,但技术报告中告诉我们DiT架构占了主要地位。
从型架构上来看,Sora使用的Diffusion-Transformer(DiT)架构,是将在LLM的Transformer架构和Text to Image领域的Diffusion架构做了一次融合。并且这项融合模型结构的提出者也不是openAI。而是William Peebles和Saining Xie发表在ICCV 2023的一篇论文《Scalable Diffusion Models with Transformers》中被提出的,但是openAI却是第一个使用这种架构在大规模数据上进行训练的。简单来说,Diffusion-Transformer(DiT)是一个带有Transformer Backbone骨干的扩散模型: DiT = [VAE编码器 + ViT + DDPM + VAE解码器] ,但把DPPM中的卷积U-Net架构换成了transformer。
下图为DiT模型的工作原理,输入是一张256x256x3的图片,对图片做切patch后经过投影得到每个patch的token,得到32x32x4的latent(在推理时输入直接是32x32x4的噪声),结合当前的step t, 输入label y作为输入, 经过N个Dit Block通过mlp进行输出,得到输出的噪声以及对应的协方差矩阵,经过T个step采样,得到32x32x4的降噪后的latent。
3、一些可能的推测
训练过程中Sora可能使用了Navit这一技术
参考内容
1、Datawhale - AI视频生成学习文档: https://datawhaler.feishu.cn/docx/G4LkdaffWopVbwxT1oHceiv9n0c?from=from_copylink
2、厦大平潭研究院研究员 杨知铮老师的解读:
https://www.yuque.com/shekonghuanzheyanglaoshi/uzl5zl/gfrt813iss1b8h3u?singleDoc# 《最强文生视频模型 SORA 超详细解读》