科普的理解 Sora 视频生成模型的核心技术

OpenAI 发布的人工智能文生视频大模型Sora在2024年2月15日亮相并引发热议,我们了解到 Sora 不仅完美继承了 DALL·E 3的卓越画质和遵循指令能力,更进一步利用 GPT 扩写技术,展现出超长生成时间(60s)、单视频多角度镜头以及理解物理世界三大突出优势。我们可以看到从 Runway、Pika 到 Sora,文生视频大模型的技术在不断进步。从最初的表情包长度3s、4s,到如今主流短视频长度的60s,模型的生成内容越来越丰富多样。网络上对Sora的解读文章非常多,本文会尝试对Sora做一份"浅显易懂"的科普解读分享。

一、灵活处理不同分辨率视频数据

Sora视频生成模型能够根据文字描述生成逼真视频,其核心在于从大量视频数据中"学习"生成视频的技能。然而,训练数据中的视频长短分辨率参差不齐,如何高效地处理这些多样化数据,是Sora面临的第一个技术难题。

传统的视频处理方式要求输入视频保持相同的分辨率和大小,这在很大程度上限制了训练数据的丰富度。而Sora则采用了一些巧妙的技术手段,可以灵活处理不同格式的视频数据:

(1)处理不同长度视频:

对较短视频,重复采样拉长画面长度

对较长视频,智能识别并丢弃相似冗余的画面块,缩短总长度

将所有视频特征压缩塞进固定大小的"数据包"中

(2)处理不同分辨率视频:

通过插值和缩放技术,统一所有画面至同一分辨率

在训练时,Sora还可根据每个视频的具体情况动态调整批处理大小,并引入"稀疏注意力机制",让模型集中关注视频中的关键区域和动作,从而提高了注意力资源的利用效率。通过上述方法,Sora可高效处理各种多样化的视频数据,为后续的训练和生成奠定基础。

二、生成高质量视频的核心机制

Sora视频生成模型的核心技术源自一种创新架构——Diffusion Transformers(DiT)。DiT融合了变分自动编码器(VAE)、视觉转换器(ViT)和扩散去噪概率模型(DDPM)三者的优势,实现了端到端的视频生成。

整个生成过程可以简单概括为:先让清晰视频变模糊,再让模型学会如何还原。具体来说,VAE编码器首先获取原始清晰视频的压缩表示,然后对这个表示进行"前向扩散",也就是人为添加噪声,让它变得模糊不清。

接下来就是模型需要"学习"的关键一步了。将加了噪声的模糊表示切分成一个个小块,输入到ViT模型中去。ViT的任务就是通过学习,掌握如何从这些小块的噪声信号中还原出干净的视频画面。推理时,则按相反过程操作。ViT模型逐步减少噪声,直到获得比较干净的视频压缩表示,最后由VAE解码器将其生成为最终视频输出。这个过程有点类似给孩子们出"反向"脑筋急转弯,先让他们了解"清晰视频是如何变模糊的",从而学会"如何从模糊中还原清晰"。

Sora并非是全新设计的,借鉴了谷歌Imagen Video模型的成果。Imagen Video可以把一段文字描述转化为机器可理解的语义表示,深入把握文字主题、情感和意图等要素。接下来,Sora应该参考了多伦多大学的Video LDM模型的做法。Video LDM先生成视频的关键帧,比如开始、结束和转折等重要时刻。然后引入"时间层"分析相邻帧之间的联系,插值生成新的中间帧,最终将所有关键帧和新生成帧串联成完整流畅的视频。通过上述创新技术,Sora实现了根据文字描述生成高质量视频的能力,而且处理能力更加通用灵活。

三、对Sora参数量和算力需求的猜测

尽管Sora能生成出高质量逼真的视频,但其模型参数量可能仅有30亿左右,远远低于公众的预期。这意味着相比其他大型人工智能模型,Sora的训练和推理过程将更加节省算力,未来的迭代升级也将更加便捷高效。

那么,Sora是如何在相对精简的参数量下实现卓越性能的呢?这与它所借鉴的DiT(Diffusion Transformers)架构息息相关。

DiT架构有两个主要规模版本,分别是中等的B/2版和大型的XL版,其中XL版参数量为10亿。根据OpenAI的技术报告,Sora模型的初级版本质量很差,推测当时采用的是B/2版本。而最终版的Sora质量则比初级版提升了16倍。

我们知道,一个模型的计算复杂度通常与其参数规模成正比。如果Sora最终版本的计算量也提升了16倍,而且考虑到DiT XL版本相比B/2版本的计算复杂度提升了12倍,那么我们可以粗略估计,Sora最终版本的计算复杂度约为DiT XL的16/12=1.33倍。

由于计算复杂度与参数规模正相关,我们可以进一步推测,Sora最终版本的参数量大约在10亿到20亿之间。当然,OpenAI团队肯定还对Sora做了其他改进,因此最终给出的参数量是30亿左右。

四、广泛多样的训练数据

除了创新的模型架构,Sora取得卓越表现的另一个重要原因,在于它使用了高质量且种类丰富多样的训练数据。据了解,Sora的训练数据包括:

(1)游戏引擎数据,这些数据通过建模模拟,能够较为真实地再现现实世界的物理规律。它们有助于提高Sora生成视频的逻辑性和一致性,避免出现违反常理的画面。

(2)合成数据和重构数据,合成数据是通过计算机渲染生成的,重构数据则是对现有视频进行加工处理而来。这两种数据的优点是可以按需定制,扩充训练集的多样性,提升视频生成的质量和多样性。

(3)纪录片、长镜头视频等,这类数据来源于真实拍摄,能够很好地捕捉场景和动作细节,有助于Sora更好地学习和理解真实世界中的运动规律和场景特征。

正是由于训练数据的特殊组合以及极高的质量,Sora才得以汲取生成逼真视频所需的各种"知识"。高质量的数据源是人工智能模型取得卓越表现的重要基础之一。

五、新型SiT模型有望带来突破

DiT架构的原作者团队最近发布了一种改进的SiT(Sequence Iterative Transformer)模型。SiT在保持DiT架构的同时,提供了更优的性能和收敛速度,值得关注。

Sora的出现,标志着基于扩散模型的视频生成技术迈入了一个新的里程碑。 借助创新的DiT架构、高质量多样的训练数据,以及强大的文本理解能力,Sora不仅能根据文字描述生成逼真视频,而且生成质量和处理能力都达到了一个全新的高度。 这一突破性进展,必将为视频生成AI在多媒体创作、虚拟现实等领域的应用铺平道路,催生更多革命性创新。 我们可以期待,在不久的将来,创作者无需复杂的拍摄制作,只需简单输入一段文字,就能"变戏法"般生成出栩栩如生的视频作品。 虚拟现实体验也将因此更加身临其境、无遮无拦。 甚至在VideoGame等游戏领域,玩家的任何随心所欲设想,都可能被实时渲染为超写实的影像场景。

视频生成AI所带来的无限想象力和创造力,只有亲身体验才能体会。而Sora这一开路先锋,无疑为我们拨开了通往未来的新视野。让我们拭目以待,期待视频生成AI带来下一个"酷改变"。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/572878.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

产品经理与产品原型

1. 前言 互联网产品经理在向技术部门递交产品策划方案时,除了详尽的需求阐述,一份清晰易懂的产品原型设计方案同样不可或缺。一份出色的原型设计,不仅能促进前期的深入讨论,更能让美工和开发人员更直观地理解产品特性,进而优化工作流程,减少不必要的时间消耗,提升整体工…

【深度学习】【机器学习】用神经网络进行入侵检测,NSL-KDD数据集,基于机器学习(深度学习)判断网络入侵

文章目录 下载数据集NSL-KDD数据集介绍输入的41个特征输出的含义数据处理&&训练技巧建神经网络,输入41个特征,输出是那种类别的攻击模型训练模型推理写gradio前端界面,用户自己输入41个特征,后端用模型推理计算后显示出是…

『Apisix安全篇』探索Apache APISIX身份认证插件:从基础到实战

🚀『Apisix系列文章』探索新一代微服务体系下的API管理新范式与最佳实践 【点击此跳转】 📣读完这篇文章里你能收获到 🛠️ 了解APISIX身份认证的重要性和基本概念,以及如何在微服务架构中实施API安全。🔑 学习如何使…

11.2024

插入排序 代码&#xff1a; public class 第十一题 {public static void main(String[] args) {int a[]{2,2,1,6,4,9,7,6,8};for (int k1;k<a.length;k){int sk-1;//排好序的最后一位int sssa[k];//记录哨兵的值while (s>0&&sss<a[s]){a[s1]a[s];s--;}a[s1]…

vue + LogicFlow 实现流程图展示

vue LogicFlow 实现流程图展示 1.背景 部门主要负责低代码平台&#xff0c;配置端负责配置流程图&#xff0c;引擎端负责流程执行&#xff0c;原引擎端只负责流程执行控制以及流程历史列表展示。现在提出个新的要求&#xff0c;认为仅历史记录不直观&#xff0c;需要在展示完…

数据结构 - 用队列实现栈/用栈实现队列

用栈实现队列 思路&#xff1a; 队列是遵循队头出数据&#xff0c;队列进数据。 创建两个栈&#xff0c;一个左栈&#xff0c;一个右栈。左栈用来插入新数据&#xff0c;右栈用来出数据 我们要借用栈的性质也实现一个出数据&#xff0c;和入数据的功能&#xff0c;该怎么样实…

【学习】软件科技成果鉴定测试有何作用

软件科技成果鉴定测试是针对软件进行项目申报、科技成果鉴定等相关目的进行的测试。软件测试报告可作为项目申报、科技成果鉴定等工作的依据之一。软件类科技成果鉴定测试从软件文档、功能性、使用技术等方面对软件系统进行符合性测试。其测试结果证明软件的质量是否符合技术合…

Redis是单线程还是多线程?(面试题)

1、Redis5及之前是单线程版本 2、Redis6开始引入多线程版本&#xff08;实际上是 单线程多线程 版本&#xff09; Redis6及之前版本&#xff08;单线程&#xff09; Redis5及之前的版本使用的是 单线程&#xff0c;也就是说只有一个 worker队列&#xff0c;所有的读写操作都要…

创建Qt Quick Projects

在创建Qt Quick项目之前&#xff0c;我们简单说一下Qml和Qt Quick的关系&#xff1a;它们的关系类似于C和STL标准库的关系&#xff0c;Qml类比C语言&#xff0c;提供了基本语言特性和类型&#xff1b;而Qt Quick则类比STL标准库&#xff0c;Qt Quick在QML的基础上加入了一系列界…

数据结构——第5章 树和二叉树

1 二叉树 二叉树和树都属于树形结构&#xff0c;但两者互不包含。即二叉树不是特殊的树。 1.1 二叉树的基本概念 1.2 二叉树的顺序存储 仅适用于完全二叉树 #define MaxSize 100 typedef int ElemType; typedef struct TreeNode{ElemType value;//结点中的数据元素bool isE…

华为开源自研AI框架昇思MindSpore应用案例:梯度累加

目录 一、环境准备1.进入ModelArts官网2.使用CodeLab体验Notebook实例 二、案例实现 梯度累加的训练算法&#xff0c;目的是为了解决由于内存不足&#xff0c;导致Batch size过大神经网络无法训练&#xff0c;或者网络模型过大无法加载的OOM&#xff08;Out Of Memory&#xff…

软考 - 软件架构设计师 - 关系模型的完整性规则

前言 关系模型的完整性规则是一组用于确保关系数据库中数据的完整性和一致性的规则。这些规则定义了在关系数据库中如何存储、更新和查询数据&#xff0c;以保证数据的准确性和一致性。 详情 关系模型的完整性规则主要包括以下三类&#xff1a; 实体完整性规则 这是确保每个…