Sora 可以将简短文本描述转换成一分钟流畅视频,相对于 Runway、Pika、Stable Video 等提升了几个代级。
1)生成视频长度:Runway、Pika 等传统文生视频大模型平均时长在 3-5 秒,Runway 用户可以最多延长视频长度至 16 秒,Sora 相对传统视频生成工具提升 15-20倍;
2)视频质量显著提升:可生成 1080P 高清视频;
3)可实现多镜头切换:可以理解和模拟运动中的物理规律,可以实现复杂的运动相机模拟;
4)视频连贯性与稳定性更好:在建模能力上表现更好,可以依赖关系进行建模,能初步理解及模拟物理运动规律;
5)高可拓展性:支持多种数据格式输入,具备实现文生视频、图生视频、向前或向后视频扩展能力,同时支持视频连接。
1、新型智算中心算力池化技术白皮书 2、智算中心网络架构白皮书 3、面向AI大模型的智算中心网络演进白皮书 4、智算赋能算网新应用白皮书
一、Sora 基于 DiT 模型搭建,更适用文生视频领域
Sora 实际上是一种基于 DiT(Diffusion Transformer,扩散变换器)的模型搭建。,同时采用了 Diffusion与 Transformer,是一种用于扩散模型的新架构。DiT 尽可能趋于标准 Transformer 架构,以保留其可扩展性。
扩散模型广泛应用于视频生成领域,采用编码器-解码器架构。扩散模型是标准图像扩散架构的自然扩展,它可以从图像和视频数据中进行联合训练,可以减少小批量梯度的方差并加快优化速度,迅速取代了基于生成对抗网络(GANs)和自回归变换器的方法,成为图像生成的主导方法。
Sora 受到大语言模型的启发,用 Transformer 替换扩散模型中的 U-Net,通过将 Transformer 与Diffusion 结合成为一种基于扩散变换的模型 DiT。
Sora 将视频降维成时空 Patch 作为视频数据对模型进行训练。首先为了适应大模型支持的上下文长度,降低处理复杂度,类似 ViT(Vision Transformer)将图像进行处理,将图像进行降维分解,这样一来可以兼容所有的数据素材(静态图像可以看成是在时间 t=0 的一些列 Patch)。
Sora 采用 DiT 模型,通过 VAE 将视频压缩到 Latent Space(潜在空间)中,然后将这种表现形式分解成时空 Patch(视频块),相当于大语言模型中的 token。
Sora 通过给定输入噪声及 Prompt(文本提示信息),训练出的模型来预测原始的不带噪声的图像,类似于通过预测带有马赛克的原始图像,让模型去学习去除马赛克,从而达到去噪声的目的。在生成视频过程中,Sora 通过对噪声进行去噪,来预测原始 Patch,最后将图片转化为视频。
二、Sora 算力分析框架拆解,单次训练算力需求或可达到 GPT-3 175B的 8.2 倍
通常在计算大语言模型算力需求通常与参数量及 token 数量成正比,而 Sora 大模型中可以将 Patch类比与大语言模型中 token,本报告基于大语言模型计算算力需求方法框架及以下三大假设,对 Sora算力需求进行分析测算。
假设一:Sora 训练数据集为 60 亿张图片,分辨率为 1980×1024;3500 万个视频,每个视频平均时长为 30 秒,分辨率为 1980×1024,帧率为 60FPS。
根据阿里联合浙江大学、华中科技大学提出的文生视频模型 I2VGen-XL,研究人员收集了大约 3500万单镜头文本 -视频对和 60 亿文本 -图像对来优化模型 。我们暂且保守假设 Sora 训练数据集与I2VGen-XL 相同,同时二维向量空间图片表示为 H×W×C(其中 H 为长度,W 为宽度,C 为 RGB 颜色通道数,假设 C=3)。
估算 Sora 训练数据集中视频类数据 Patch 规模=3500×10^4×60×30×3=1.89×10^11;图片类数据 Patch 规模=60×10^8×1024×1980×3=3.65×10^16;训练数据集总 Patch=图片类数据 Patch+视频类数据 Patch=3.65×10^16。
假设二:Sora 中 Patch Size 为 16×16,将 Patch 转化为 token。
根据谷歌论文《AN IMAGE IS WORTH 16×16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE》,Transformer 的输入是一个序列,对于一张图像来说如果把每个像素点当作一个 token,那就会需要相当旁大的计算量,该文则将图像划分为 16×16 大小的一个个 Patch,然后将每个 Patch当作一个 token 组成一串序列作为 Transformer 的输入,减少了计算成本。我们假设 Patch Size 为 16×16,通过将 Patch(N×P×P×C)转换为 token,N 大小为 H×W/(P×P),每个 token 的大小为 P×P×C,P=16,通过计算得到 token=3.65×10^16/(16×16)=1.43×10^14。
假设三:Sora 模型参数为 30B,训练一次所需总算力=模型参数量×token 数量×3×2。
根据 OpenAI 论文,T5 模型由于采用编码器-解码器模型,在向前和向后传播的过程中只有一半token 处于激活状态,而 BERT 与 GPT 基于 Transformer 的自然语言监督模型,每个 token 都处于活跃状态,而每个 token 都在向前传播过程中涉及一次加法和一次乘法,论文添加一个 3×的乘数来计算向后传递 的计算量,故推出 GPT 模型所需算力:训练所需总算力=模型参数量×token 数量×3×2×训练轮数 。通 过 上 述 公 式 我 们 计 算 得 到 Sora 训 练 一 次 所 需 算 力 =30 × 10^8 × 1.43 × 10^14 × 3 × 2=2.6 ×10^24Flops,约为 30093PF-days。
根据上述测算,基于 Sora 参数量大概在 30 亿(待确认)水平,同时采用 I2VGen-XL 训练数据集水平进行估算,我们保守估计,Sora 训练一次所需算力或可达到 2.6×10^24Flops,相当于 GPT-3 175B的 8.2 倍(测算采用参数和训练数据集规模会与实际有一定出入)。
假设四:Sora 模型训练不考虑利用及其他成本,大约需在 1 万张 A100 上训练 154 天。
单张 A100 算力为 19.5TFlops,暂时不考虑模型训练利用率及其他训练成本,如果在 10000 张英伟达 A100 进行训练,所需时间=2.6×10^24/(19.5×10^12×10000)/(24×60×60)=154 天。
三、Sora 对算力需求将呈指数级增长
目前由于 Sora 还在初级阶段,训练数据集和参数规模有限,仍存在一些不足之处。对于 Sora 当前存在的弱点,OpenAI 指出它可能难以准确模拟复杂场景的物理原理,并且可能无法理解因果关系。该模型还可能混淆提示的空间细节,例如混淆左右,并且可能难以精确描述随着时间推移发生的事件,例如遵循特定的相机轨迹。
未来训练数据集将会数以万倍的增长,模型参数量也会不段提升,目前来看 Sora 训练所需算力不及 GPT-4 等大语言模型,伴随 Sora 大模型不断迭代调优、训练数据集规模逐渐扩大,我们认为,未来Sora 所需算力将呈现指数级增长:1)短期来看模型迭代优化、训练数据集增大将快速带动训练端算力需求;2)长期来看,Sora 技术逐渐成熟带动下游 AI 应用百花齐放,推理端需求将厚积薄发。有望持续带动上游算力基础设施需求爆发。