OpenAI视频生成模型Sora背后的技术及其深远的影响

前言

Sora的视频生成技术在保真度、长度、稳定性、一致性、分辨率和文字理解等方面都达到了当前最优水平。其核心技术包括使用视觉块编码将不同格式的视频统一编码成Transformer可训练的嵌入向量,以及类似于扩散过程的UNet方法进行降维和升维的加噪与去噪操作。通过构建足够大的模型,使其具备了智能的涌现能力,例如在一定程度上理解真实世界的物理影响和因果关系。

与其他视频生成模型不同,OpenAI采用了一种“大”模型的方法,即准备大量的视频数据,使用多模态模型对其进行标注,并将视频编码成统一的视觉块嵌入。然后,通过足够大的网络架构、训练批次和算力,使模型能够对大量训练数据进行全局拟合,从而更好地理解并还原细节。

这种视频生成模型只是OpenAI在理解和模拟真实世界复杂因果关系的通用模型之路上的一个里程碑,而不是终点。人们对其未来发展充满期待,同时也可能感到一些不安。

sora生成视频

算法报告

1.视频生成模型作为世界模拟器

我们探索了在视频数据上进行大规模训练生成模型。具体来说,我们联合训练了文本条件扩散模型,处理不同持续时间、分辨率和宽高比的视频和图像。我们利用了一种在视频和图像潜码的时空块上操作的变压器架构。我们最大的模型Sora能够生成一分钟的高保真视频。我们的结果表明,扩大视频生成模型的规模是朝着构建物理世界通用模拟器的有前途的路径。

tokyo-walk

算法报告重点介绍:
(1)我们将各类视觉数据转换为统一表示的方法,该方法能够实现生成模型的大规模训练;
(2)Sora能力和局限性的定性评估。报告中未包含模型和实现细节。

以前的许多工作已经研究了使用各种方法对视频数据进行生成建模,包括循环网络、生成对抗网络、自回归变换器和扩散模型。这些工作通常专注于狭窄类别的视觉数据、较短的视频或固定大小的视频。Sora是一种通用的视觉数据模型——它可以生成持续时间、宽高比和分辨率各异的视频和图像,长达一分钟的高清视频。

2.将视觉数据转换为图像块

我们从大型语言模型中获得灵感,这些模型通过在互联网规模的数据上训练来获得通用能力。这种范式的成功在一定程度上得益于使用词元编码/令牌(token),它们巧妙地统一了文本的多种形式——代码、数学和各种自然语言。在这项工作中,我们考虑如何让视觉数据的生成模型继承这些好处。与拥有文本令牌的不同,Sora拥有视觉块嵌入编码(visual patches)。视觉块已被证明是视觉数据模型的一种有效表示。我们发现,补丁是一种高度可扩展且有效的表示形式,用于在多种类型的视频和图像上训练生成模型。
在这里插入图片描述

3. 视频压缩网络

我们训练了一个网络,用于降低视觉数据的维度。这个网络将原始视频作为输入,并输出一个在时间和空间上都被压缩的潜在表示。Sora在这个压缩的潜在空间内接受训练,并随后生成视频。我们还训练了一个相应的解码器模型,将生成的潜在表示映射回像素空间。

4. 隐空间时空编码块

给定一个压缩的输入视频,我们提取一系列时空编码块作为transformer令牌(token)。这种方案也适用于图像,因为图像只是帧数为单一的视频。我们基于补丁的表示使得Sora能够训练不同分辨率、持续时间和宽高比的视频和图像。在推理时,我们可以通过在适当大小的网格中排列随机初始化的编码块来控制生成视频的大小。

5.扩展Transformer用于视频生成

Sora是一个扩散模型;给定输入的噪声块(和像文本提示这样的条件信息),它被训练来预测原始的“干净”块。重要的是,Sora是一个扩散变换器。变换器在包括语言建模、计算机视觉和图像生成等多个领域展现了显著的扩展属性。
在这里插入图片描述
在这项工作中,我们发现扩散变换器作为视频模型也能有效地扩展。下面,我们展示了训练进展过程中,使用固定种子和输入的视频样本比较。随着训练计算量的增加,样本质量显著提高。
在这里插入图片描述

6.可变持续时间、分辨率、宽高比

过去在图像和视频生成中的方法通常会将视频调整大小、裁剪或剪辑到一个标准尺寸——例如,4秒长的视频,分辨率为256x256。我们发现,直接在数据的原始尺寸上进行训练可以带来几个好处。

7.采样灵活性

Sora可以采样宽屏1920x1080p视频、竖屏1080x1920视频以及介于两者之间的所有格式。这使得Sora能够直接按照不同设备的原生宽高比创建内容。它还允许我们在使用同一模型生成全分辨率内容之前,快速原型化较小尺寸的内容。
在这里插入图片描述

8.改进的构图和画面组成

我们通过实证发现,在视频的原始宽高比上进行训练可以改善构图和取景。我们将Sora与一个版本的模型进行了比较,该模型将所有训练视频裁剪成正方形,这是训练生成模型时的常见做法。在正方形裁剪上训练的模型(左侧)有时会生成主体只部分出现在视野中的视频。相比之下,来自Sora的视频(右侧)具有改善的取景。
在这里插入图片描述

9.语言理解

训练文本到视频生成系统需要大量带有相应文字标题的视频。我们将在DALL·E 3中引入的重新标注技术应用到视频上。我们首先训练一个高度描述性的标注模型,然后使用它为我们训练集中的所有视频生成文字标题。我们发现,在高度描述性的视频标题上进行训练可以提高文本的准确性以及视频的整体质量。
类似于DALL·E 3,我们也利用GPT将用户的简短提示转换成更长的详细说明,然后发送给视频模型。这使得Sora能够生成高质量的视频,准确地遵循用户的提示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.使用图片和视频进行提示

上述结果以及我们的登录页面展示了文本到视频的样本。但是Sora也可以通过其他输入进行提示,例如预先存在的图片或视频。这项能力使得Sora能够执行广泛的图像和视频编辑任务——创建完美循环的视频,为静态图像添加动画,向前或向后延长视频的时间等。

12. 制作DALL·E图像动画

Sora能够根据输入的图片和提示生成视频。下面我们展示了基于DALL·E 2 31 和DALL·E 3 30 图片生成的示例视频。
在这里插入图片描述
在这里插入图片描述

13. 延长生成的视频

Sora也能够将视频向前或向后延长时间。下面是四个视频,它们都是从生成的视频片段开始向后延长的。因此,这四个视频的开头各不相同,但最终都会达到相同的结局。我们可以使用这种方法将视频向前和向后扩展,以制作出无缝的无限循环。
在这里插入图片描述

14.视频到视频编辑

扩散模型使得从文本提示编辑图像和视频的方法层出不穷。下面我们将其中一种方法,SDEdit,应用于Sora。这项技术使得Sora能够零次学习地转换输入视频的风格和环境。
在这里插入图片描述

15. 连接视频

我们还可以使用Sora在两个输入视频之间逐渐插值,创建在完全不同主题和场景构成的视频之间的无缝过渡。在下面的例子中,中间的视频在左右两边对应视频之间进行插值。
在这里插入图片描述
在这里插入图片描述

16.图像生成能力

Sora也能够生成图像。我们通过在具有一个帧时间范围的空间网格中排列高斯噪声块来实现这一点。该模型可以生成不同大小的图像——分辨率最高可达2048x2048。
在这里插入图片描述

涌现的模拟能力

我们发现,当在大规模上训练时,视频模型展现出许多有趣的新兴能力。这些能力使得Sora能够模拟现实世界中人类、动物和环境的某些方面。这些属性并没有任何针对3D、物体等的明确归纳偏见——它们纯粹是规模效应的现象。
3D一致性。Sora能够生成具有动态相机运动的视频。随着相机的移动和旋转,人物和场景元素在三维空间中保持一致地移动。
在这里插入图片描述

长距离一致性和物体恒存性。对于视频生成系统来说,一个重大挑战是在采样长视频时保持时间上的连贯性。我们发现,尽管不总是如此,Sora通常能够有效地建模短距离和长距离依赖关系。例如,我们的模型即使在人、动物和物体被遮挡或离开画面时,也能持续保持它们的存在。同样,它能在单个样本中生成同一角色的多个镜头,并在整个视频中保持其外观。
在这里插入图片描述
与世界互动。Sora有时可以模拟一些简单的动作来影响世界的状态。例如,画家可以在画布上留下随时间持续存在的新笔触,或者一个人可以吃一个汉堡并留下咬痕。
在这里插入图片描述

模拟数字世界。Sora也能够模拟人工过程——一个例子是视频游戏。Sora可以在同时控制《我的世界》中的玩家采用基本策略的同时,还能以高保真度渲染世界及其动态。通过用提到“我的世界”的字幕提示Sora,可以零次尝试地引发这些能力。
这些能力表明,持续扩展视频模型是朝着开发高度能够模拟物理和数字世界及其内部的物体、动物和人类的有希望的道路。
在这里插入图片描述
Sora作为一个模拟器目前展现出许多限制。例如,它并没有准确地模拟许多基本互动的物理效应,比如玻璃破碎。其他互动,比如吃食物,不总是产生正确的物体状态变化。我们在我们的登录页面列举了模型的其他常见故障模式——比如在长时间样本中发展的不连贯性或物体的自发出现。
我们相信,Sora目前的能力表明,持续扩展视频模型是朝着开发能够模拟物理和数字世界及其内部的物体、动物和人类的有能力的模拟器的有希望的道路。

Sora的影响

对于普通人:这可能是独立创作者最佳的时代之一。随着像 Sora 这样的工具的出现,AI生成的文案、音效和视频等工具已经非常成熟,一个人可以轻松地制作出高质量的短片。优秀的故事将会变得尤为珍贵,而有才华的创作者也更不容易被埋没。然而,从另一个角度来看,随着创作门槛的降低,故事竞争的激烈程度也将大幅增加。

XR产业,特别是以 Vision Pro 为代表的部分,有望再次蓬勃发展。随着技术的进步,内容匮乏将不再是问题,而创作者将有更多的创作空间和机会。

目前流行的短视频推荐模式可能会发生变化。可能会从系统根据用户喜好推荐短视频,转变为根据用户需求实时生成短视频。或者说,同一个短视频可以根据不同用户的需求进行实时微调,以满足不同用户群体的需要。

对于商业公司:AI视频生成公司将面临第一波挑战,但也有机会。随着 OpenAI 成功证明了利用大型模型进行视频生成的可行性,其他公司只需证明他们也可以利用大型模型生成视频。与 ChatGPT 成功后出现更多大语言模型公司的情况相似,AI视频生成领域可能会出现更多竞争者。
AI三维生成公司可能会面临第二波冲击。随着多目重建技术的出现,视频生成和3D生成之间的界限变得模糊。因此,3D生成公司可能需要重新评估当前的技术路线和商业逻辑。

虽然 OpenAI 没有明确说明,但是 Sora 所需的计算能力可能会很大。因此,显卡公司可能会迎来新的好时机,但不一定有利于英伟达。由于计算能力越来越像基础设施,而基础设施对于各国至关重要,即使不考虑制裁,各国都可能要求计算能力的自主可控。事实上,每个大公司都可能开始考虑自己开发显卡或者专用 AI 计算卡(例如 Google、特斯拉、OpenAI、阿里等)。因此,计算能力领域的竞争者可能会越来越多。

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

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

相关文章

鸿蒙-基于ArkTS声明式开发的简易备忘录,适合新人学习,可用于大作业

本文地址:https://blog.csdn.net/qq_40785165/article/details/136161182?spm1001.2014.3001.5502,转载请附上此链接 大家好,我是小黑,一个还没秃头的程序员~~~ 不知不觉已经有很长一段时间没有分享过自己写的东西了&#xff0…

如何系统地学习Python

建议系统学习Python的途径遵循理论与实践相结合的教学方法。以下是一个分阶段的学习计划: 阶段一:基础知识 理解Python的特点: 认识Python的历史与设计哲学。学习Python的基本语法和运行环境。 安装Python: 学习如何在不同操作系…

鸿蒙应用模型开发-更新SDK后报错解决

更新SDK后提示 “ohos.application.Ability”/“ohos.application.AbilityStage”等模块找不到或者无相关类型声明 问题现象 更新SDK后报错“Cannot find module ‘ohos.application.AbilityStage’ or its corresponding type declarations”,“Cannot find modu…

修改vue-layer中title

左侧目录树点击时同步目录树名称 试了很多方法 layer.title(新标题,index)不知道为啥不行 最后用了获取html树来修改了 watch: {$store.state.nowTreePath: function(newVal, oldVal) {if (document.querySelectorAll(".lv-title") && document.q…

扶贫助农|基于springboot的扶贫助农系统设计与实现(源码+数据库+文档)

扶贫助农系统目录 目录 基于springboot的扶贫助农系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、扶贫任务管理 3、论坛信息管理 4、扶贫公告管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐…

GIS工具maptalks——初始化

GIS工具maptalks开发手册(一)——hello world初始化 为何使用maptalks? ​ Maptalks项目是一个HTML5的地图引擎, 基于原生ES6、Javascript开发的二三维一体化地图。 通过二维地图的旋转、倾斜增加三维视角,通过插件化设计, 能与其他图形库echarts、d3.j…

AI算法初识之分类汇总

一、背景 AI算法的分类方式多种多样,可以根据不同的学习机制、功能用途以及模型结构进行划分。以下是一些主要的分类方式及相应的代表性算法: 1. 按照学习类型 - **监督学习**: - 线性回归(Linear Regression) …

【Redis】深入理解 Redis 常用数据类型源码及底层实现(4.详解Hash数据结构)

Hash数据结构 看过前面的介绍,大家应该知道 Redis 的 Hash 结构的底层实现在 6 和 7 是不同的,Redis 6 是 ziplist 和 hashtable,Redis 7 是 listpack 和 hashtable。 我们先使用config get hash*看下 Redis 6 和 Redis 7 的 Hash 结构配置情况(在Redis客户端的命令行界面…

C/C++内存管理详解

目录 一、C内存分布 二、C语言与C内存管理方式 1、C语言中动态内存管理方式:malloc/calloc/realloc/free 2、C中的内存管理方式:new/delete 三、operator new与operator delete函数 1、函数概念: 2、函数使用: 3、底层原理…

Javaweb之SpringBootWeb案例之AOP通知顺序的详细解析

3.2 通知顺序 讲解完了Spring中AOP所支持的5种通知类型之后,接下来我们再来研究通知的执行顺序。 当在项目开发当中,我们定义了多个切面类,而多个切面类中多个切入点都匹配到了同一个目标方法。此时当目标方法在运行的时候,这多…

鸿蒙新手入门-环境准备问题解析

Node.js版本与API配套关系 由于SDK的部分工具依赖Node.js运行时,推荐使用配套API版本的Node.js,保证工程的兼容性。 匹配关系见下表: API LevelNode.js支持范围API Level≤914.x(≥14.19.1)、16.xAPI Level>914.…

利用R语言绘制相关性热图

数据示例(归一化处理后): install.packages("corrplot") install.packages("ggplot2") install.packages("ggpubr") library(corrplot) install.packages("GGally") library(GGally) library(ggplot…

读十堂极简人工智能课笔记06_自然语言处理

1. 聊天机器人 1.1. 人工智能往往掌握不了跨越几段对话语境的讨论 1.1.1. 抓不住连贯的主题,只能单独处理每个句子 1.1.2. 不能将其答案与现实联系起来 1.1.3. 可能会遵循语言规则、统计相关性,甚至查找有关事实来为每个新句子提供答复 1.2. 聊天机…

【JVM篇】什么是类加载器,有哪些常见的类加载器

文章目录 🍔什么是类加载器🛸有哪些常见的类加载器 🍔什么是类加载器 负责在类加载过程中,将字节码信息以流的方式获取并加载到内存当中 🛸有哪些常见的类加载器 启动类加载器 启动类加载器是有Hotspot虚拟机通过的类…

ETAS安装OS Port需要注意事项

安装OS Port用来配置OS和相关的中断;按照安装手册《HowToInstallingRTA-CAR.pdf》安装完OS PORT如下位置会有安装包(正确的安装位置) VRTA为虚拟OS :没有具体芯片和编译器的试用

云原生之容器编排实践-在K8S集群中使用Registry2搭建私有镜像仓库

背景 基于前面搭建的3节点 Kubernetes 集群,今天我们使用 Registry2 搭建私有镜像仓库,这在镜像安全性以及离线环境下运维等方面具有重要意义。 Note: 由于是测试环境,以下创建了一个 local-storage 的 StorageClass ,并使用本地…

【设计模式】4、策略模式

文章目录 一、问题二、解决方案2.1 真实世界的类比2.2 策略模式结构2.3 适用场景2.4 实现方式2.5 优缺点2.6 与其他模式的关系 三、示例代码3.1 go3.2 rust 策略模式是一种行为设计模式,它能定义一系列算法,把每种算法分别放入独立的类中,以是…

【动态规划:最短编辑路径】的应用:excel diff功能

开篇说明 如果在这里获得过启发和思考,希望点赞支持!对于内容有不同的看法欢迎来信交流。 技术栈 >> java 邮箱 >> 15673219519163.com 描述 在游戏行业中通常使用excel做配表,修改配表是一个频繁的操作。在修改之后&#xff…

政安晨:【完全零基础】认知人工智能(三)【超级简单】的【机器学习神经网络】—— 三层神经网络示例

知识准备 咱们还没有演示过使用矩阵进行计算得到经由神经网络馈送的信号,我们也没有演示过多于2层的神经网络示例,在这篇文章里,咱们将构建一个三层神经网络的示例,并观察如何处理中间层的输出以作为最后第三层的输入&#xff0c…

【CSS】设置文字(文本)的渐变色

# 渐变色 文字 第一步 设置渐变颜色 background: linear-gradient(278.83deg, #5022bd 31.42%, #8636d1 75.55%); // 先设置渐变色背景; 第二步 设置颜色的使用范围 background-clip: text; // 背景被裁剪成文字的前景色。 -webkit-background-clip: text; 第三步…