SORA技术报告
文档链接:https://openai.com/research/video-generation-models-as-world-simulators
文章目录
- Video generation models as world simulators
- Turning visual data into patches
- Video compression network
- Spacetime latent patches
- Scaling transformers for video generation
- Variable durations, resolutions, aspect ratios
- Sampling flexibility
- Improved framing and composition
- Language understanding
- Prompting with images and videos
- Image generation capabilities
- Emerging simulation capabilities
- 3D consistency
- Long-range coherence and object permanence
- Interacting with the world
- Simulating digital worlds
- Discussion
Video generation models as world simulators
探索在视频数据上生成模型的大规模训练。具体而言,在可变持续时间,分辨率和宽高比的视频和图像上共同训练文本条件扩散模型;利用在视频和图片的隐空间的spacetime patches执行计算的Transformer架构。最大的模型Sora能够生成一分钟的高保真视频;结果表明,扩展视频生成模型是建立物理世界的通用模拟器的有前途的途径。
技术报告集中在以下两个方向:
- 如何将所有类型的视觉数据转换为统一表示的方法,用于大规模训练生成模型
- Sora能力和局限性的定性评估
许多先前的工作已经使用各种方法研究了视频数据的生成建模,包括递归网络、生成对抗性网络、自回归Transformers和扩散模型。这些工作基本关注狭义的视觉数据,关注较短的视频,或固定大小的视频。Sora是一个通用的视觉数据模型,它可以生成不同持续时间、宽高比和分辨率的视频和图像,最高可达一分钟的高清视频。
Turning visual data into patches
从大型语言模型中获得灵感,这些模型通过对互联网规模的数据进行训练来获得通用能力。LLM范式的成功在一定程度上得益于tokens的使用,这些tokrnd优雅地统一了文本的各种形式——代码、数学和各种自然语言。在这项工作考虑视觉数据的生成模型如何继承这些优势。LLMs有文本tokens,Sora有视觉patches。patches在先前已被证明是视觉数据模型的有效表示。本工作发现对于在各类视频、图片上训练生成模型,patches是一种高扩展、有效的表征。

在高维度上,首先将视频压缩到较低维度的潜在空间中,随后将视频表征分解为spacetime patches。
Video compression network
训练一个降低视觉数据维度的网络。该网络将原始视频作为输入,并输出在时间和空间上都被压缩的潜在表征。Sora与LDM相似,在潜在空间进行训练、生成视频;同时训练了一个对应的解码模型,将生成的隐向量映射回像素空间。
Spacetime latent patches
给定压缩输入视频,提取了一系列spacetime patches,此序列相当于transformer tokens。该方案也适用于图像,因为图像是带有单个帧的视频。基于patches的表示使Sora可以在可变分辨率,持续时间和纵横比的视频、图像上训练。推理时,可以通过在适当尺寸的网格中安排随机定位的patches来控制生成的视频的大小。
Scaling transformers for video generation
Sora是一个扩散模型,给定noisy patches或带有文本控制信息的patches,其通过预测原始clean patches的方式进行训练。重要的是,Sora是基于transformer的扩散模型。Transformer 在多个领域展示了卓越的扩展特性,包括语言建模、计算机视觉和图像生成。

这项工作发现扩散transformers也可以有效地缩放为视频模型。
Variable durations, resolutions, aspect ratios
之前的图像和视频生成方法通常会调整,裁剪或修剪视频的大小,例如256x256分辨率的4秒视频。本工作发现,相反,以其原始大小的数据进行训练会有更多优势。
Sampling flexibility
Sora 可以采样宽屏 1920x1080p 视频、垂直 1080x1920 视频以及介于两者之间的所有视频。 这使得 Sora 可以直接以其原生宽高比为不同设备创建内容;还使得能够在以全分辨率生成之前快速以较低尺寸制作原型内容
Improved framing and composition
根据经验发现,对视频的原始纵横比进行训练可以改善构图和框架。将 Sora 与将所有训练视频裁剪为正方形(训练生成模型时的常见做法)的模型版本进行比较。 在方形数据上训练的模型有时会生成仅部分可见主体的视频。 相比之下,Sora的视频的取景效果有所改善。
Language understanding
训练文本到视频生成系统需要大量带有相应文本字幕的视频。 将 DALL·E 3 中引入的re-captioning技术应用于视频。首先训练一个高度描述性的字幕生成器模型,然后使用它为训练集中的所有视频生成文本字幕。 发现,对高度描述性视频字幕进行训练可以提高文本保真度以及视频的整体质量。
与 DALL·E 3 类似,还利用了 GPT 将简短的提示词转换为较长的详细字幕,然后发送到视频模型。 这使得 Sora 能够生成准确遵循提示词的高质量视频。
Prompting with images and videos
除文本外,Sora 也可以通过其他输入进行提示,例如预先存在的图像或视频。 此功能使 Sora 能够执行各种图像和视频编辑任务 - 创建完美的循环视频、动画静态图像、向前或向后扩展视频等。
- Animating DALL·E images:能够以给定的视频和提示词作为输出生成视频
- Extending generated videos:能够在时间上向前或向后扩展视频
- Video-to-video editing:扩散模型实现了多种根据文本提示编辑图像和视频的方法
- Connecting videos:在两个输入视频之间逐渐进行插值,从而在具有完全不同主题和场景构成的视频之间创建无缝过渡
Image generation capabilities
Sora 还能够生成图像,通过在时间范围为一帧的空间网格中排列高斯噪声块来实现这一点。该模型可以生成各种尺寸的图像,分辨率高达 2048x2048。


Emerging simulation capabilities
本工作发现,视频模型在大规模训练时表现出许多有趣的新兴功能。这些功能使 Sora 能够模拟现实世界中人、动物和环境的某些方面。在没有引入对 3D、物体等任何明确的归纳偏差情况下涌现了这些属性——它们纯粹是尺度现象。
3D consistency
Sora 可以生成带有动态摄像机运动的视频。随着摄像机的移动和旋转,人和场景元素在三维空间中一致移动。
Long-range coherence and object permanence
视频生成系统面临的一个重大挑战是在采样长视频时保持时间一致性。本工作发现 Sora 通常(尽管并非总是)能够有效地对短期和长期依赖关系进行建模。例如,Sora可以保留人、动物和物体,即使它们被遮挡或离开框架。同样,它可以在单个样本中生成同一角色的多个镜头,并在整个视频中保持其外观。
Interacting with the world
Sora有时可以用简单的方式模拟影响世界状况的动作。例如,画家可以在画布上留下新的笔触,并随着时间的推移而持续存在,或者一个人可以吃汉堡并留下咬痕。
Simulating digital worlds
Sora 还能够模拟人工过程——一个例子是视频游戏。 Sora 可以同时通过基本策略控制《我的世界》中的玩家,同时以高保真度渲染世界及其动态。这些能力可以通过用带“Minecraft”的caption提示 Sora 触发。
这些功能表明,视频模型的持续扩展是开发物理和数字世界以及生活在其中的物体、动物和人的高性能模拟器的一条有前途的道路。
Discussion
Sora目前作为模拟器显示出许多限制。例如,它没有准确模拟许多基本交互的物理,比如玻璃破碎。其他交互,比如吃东西,不总是会产生正确的物体状态变化。模型的其他常见故障模式还包括在长时间样本中出现的不一致性或物体的自发出现。
Sora目前具备的能力表明,继续扩展视频模型是通向开发能够模拟物理世界、数字世界以及其中的物体、动物和人类的有能力模拟器的一个有前景的路径。
相关文章:
SORA技术报告
文档链接:https://openai.com/research/video-generation-models-as-world-simulators 文章目录 Video generation models as world simulatorsTurning visual data into patchesVideo compression networkSpacetime latent patchesScaling transformers for video …...
Python Web开发记录 Day1:HTML
名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、HTML1、前端引入和HTML标签①前端引入②浏览…...
六、回归与聚类算法 - 模型保存与加载
目录 1、API 2、案例 欠拟合与过拟合线性回归的改进 - 岭回归分类算法:逻辑回归模型保存与加载无监督学习:K-means算法 1、API 2、案例...
Spring事务模板及afterCommit存在的坑
大家好,我是墨哥(隐墨星辰)。今天的内容来源于两个线上问题,主要和大家聊聊为什么支付系统中基本只使用事务模板方法,而不使用声明式事务Transaction注解,以及使用afterCommit()出现连接未按预期释放导致的…...
【区块链】联盟链
区块链中的联盟链 写在最前面**FAQs** 联盟链:区块链技术的新兴力量**联盟链的定义****联盟链的技术架构**共识机制智能合约加密技术身份认证 **联盟链的特点**高效性安全性可控性隐私保护 **联盟链的应用场景****金融服务****供应链管理****身份验证****跨境支付**…...
Oracle case when end和decode的区别
Oracle中的CASE WHEN和DECODE都是条件表达式,但它们在某些方面有所不同。 CASE WHEN: CASE WHEN是一个条件表达式,允许您基于条件返回不同的值。它具有以下结构: sql CASE WHEN condition1 THEN result1 WHEN condition2 THE…...
Java导出pdf格式文件
Java实现导出pdf |word |ppt 格式文件 controller层: ApiOperation("导出")GetMapping("/download")public void download(RequestParam("userId") Long userId ,HttpServletResponse response) {reportResul…...
Socket、UDP、TCP协议和简单实现基于UDP的客户端服务端
目录 Socket TCP和UDP区别 UDP:无连接,不可靠传输,面向数据报,全双工 TCP:有连接,可靠传输,面向字节流,全双工 无连接和有连接 可靠传输和不可靠传输 面向数据报和面向字节流…...
发布订阅模式:观察者模式的一种变体
发布-订阅模型(Publish-Subscribe Model)的底层机制通常基于观察者模式。 发布-订阅模型是观察者模式的一种变体。 在观察者模式中,主题(或被观察者)维护了一组观察者,当主题的状态发生变化时,…...
TiDB离线部署、Tiup部署TiDB
先做tidb准备工作: 部署 TiDB 前的环境检查操作:TiDB 环境与系统配置检查 | PingCAP 文档中心 1.查看数据盘 fdisk -l (2,3)本人的分区已经是 ext4 文件系统不用分区,具体官方文档的分区: 4.查看数据盘…...
10GBase-T万兆电口模块助力数据中心实现高效数据传输
10GBase-T万兆电口模块一种高速、高效的网络连接解决方案,具有快速传输速度和稳定可靠的特点。它可以在数据中心中广泛应用,提供出色的网络性能和可扩展性,为数据中心的发展做出了重要的贡献。 一、10GBase-T万兆电口模块的特点与优势 高速传…...
使用Docker中部署GitLab 避坑指南
在容器化的世界中,Docker已经成为了我们部署和管理应用程序的首选工具。然而,在使用Docker部署GitLab时,我们可能会遇到一些问题,本文将为你提供一份详细的避坑指南。网上的教程有的都没说清楚,或者干脆是错的。摸索了…...
我的NPI项目之设备系统启动(八) -- Android14的GKI2.0开发步骤和注意事项
GKI是什么? Google为什么要推行GKI? GKI全称General Kernel Image。GKI在framework和kernel之间提供了标准接口,使得android OS能够轻松适配/维护/兼容不同的设备和linux kernel。 Google引入GKI的目的是将Framework和Kernel进一步的解耦。因…...
鼠标右键助手专业版 MouseBoost PRO for Mac v3.3.6中文破解
MouseBoost Pro mac版是一款简单实用的鼠标右键助手专业版,MouseBoost Pro for Mac只要轻点你的鼠标右键,就可以激活你想要的各种功能,让你的工作效率大幅度提高,非常好用。 软件下载:MouseBoost PRO for Mac v3.3.6中…...
React学习计划-react-hooks补充
React Hooks 1. 使用hooks理由 高阶组件为了复用,导致代码层级复杂生命周期的复杂 2. useState(保存组件状态) const [state, setstate] useState(initialState)3. useEffect(处理副作用)和useLayoutEffect(同步执行副作用) 使用方式: useEffect(…...
KTV点歌系统vue+springboot音乐歌曲播放器系统
目前现有的KTV点歌系统对于用户而言其在线点歌流程仍然过于繁琐,对于歌曲而言其系统安全性并不能保障。同时整套系统所使用的技术相对较为落后,界面不能动态化展示。相比较于其它同类型网站而言不能体现技术先进性。 1.2 项目目标 KTV点歌系统的后台开发…...
vue video 多个视频切换后视频不显示的解决方法
先说一下我这边的需求是视频需要轮播,一个人员有多个视频,左右轮播是轮播某个人员下的视频,上下切换是切换人员。 vue 代码 <el-carouselindicator-position"none"ref"carousel"arrow"always":interval&qu…...
多态与代码屎山
到底什么是多态呢?多态是面向未来的,比如企业采购为例: 一般分为线上合线下两种, 我们设计一个父类叫做"采购", 里面做一些共通的处理: 申请, 承认, 支付, 购买方式. 然后让各自的子类(线上,线下)实现自己的方法.实际调用过程中传入不同的对象就可以.到此为止项目开…...
Git基本操作(2)
Git基本操作(2) 上交文件之后,git文件的变化git cat-file HEAD指针里面有啥文件被修改git statusgit diff 文件名 版本回退(git reset)撤销回退git reflog 撤销的三种情况还没有addgit checkout -- [file] 已经add还没…...
编程笔记 Golang基础 023 切片
编程笔记 Golang基础 023 切片 一、切片二、定义与初始化三、基本操作四、示例 Go语言中的切片(slices)是基于数组的抽象数据类型,它提供了一种灵活的方式来处理可变长度的数据序列。切片本身不存储任何数据,而是指向底层数组的一…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
