Sora 和之前 Runway 那些在架构上有啥区别呢?_sora和diffsion的区别

简介: Sora 和之前 Runway 那些在架构上有啥区别呢?_sora和diffsion的区别


问:Sora 和之前 Runway 那些在架构上有啥区别呢?

答:简单来说 Runway 是基于扩散模型(Diffusion Model)的,而 Sora 是基于 Diffusion Transformer。

Runway、Stable Diffusion 是基于扩散模型(Diffusion Model),扩散模型(Diffusion Model)的训练过程是通过多个步骤逐渐向图片增加噪点,直到图片变成完全无结构的噪点图片,然后在生成图片的时候,基于一张完全噪点的图片,逐步减少噪点,直到还原出一张清晰的图片。

文本模型像 GPT-4 则是 Transformer 模型。Transformer 则是一套编码器和解码器的架构,将文本编码成数字向量,然后解码的时候从数字向量还原出文本。

Sora 则是一个融合了两者的 Diffusion Transformer 模型。通过 Transformer 的编码器 - 解码器架构处理含噪点的输入图像,并在每一步预测出更清晰的图像版本。编码器负责对含噪点的输入进行编码,而解码器则负责生成更清晰图像的预测。

GPT-4 被训练以处理一串 Token,并预测出下一个 Token。Sora 不是预测序列中的下一个文本,而是预测序列中的下一个“Patch”。

在文本预测生成中,基本单位是 Token,Token 很好理解,就是一个单词或者单词的一部分。Patch 的概念相对不那么好理解,不过今天看到一篇文章,作者举了个很好的例子。

想象一下《黑暗骑士》的电影胶片,将一卷胶片绕在一个金属盘上,然后挂在一个老式电影院的投影机上。

你把电影胶卷从盘中展开,然后剪下最前面的 100 帧。你挑出每一帧——这里是小丑疯狂大笑,那里是蝙蝠侠痛苦的表情——并进行以下不同寻常的操作:

你拿起一把 X-acto 精细刻刀,在第一帧电影胶片上剪出一个变形虫状的图案。你像处理精密仪器一样小心翼翼地用镊子提取这片形似变形虫的胶片,然后安全地保存起来。之后,你处理下一帧:在接下来的胶片上切出同样位置、同样形状的变形虫图案。你再次用镊子小心地取出这个新的变形虫形状的胶片——形状与前一个完全相同——并将其精确地放置在第一个之上。你这样做,直到完成所有的 100 帧。

你现在有了一个色彩斑斓的变形虫,沿着 Y 轴扩展。这是一座可以通过投影机播放《黑暗骑士》的小片段的胶片塔,就好像有人在投影机前握着拳头,只让电影的一小部分影像从拳心通过。

然后,这座胶片塔被压缩并转化为所谓的“Patch”——一种随时间变化的色块。

Patch 的创新之处——以及 Sora 之所以显得如此强大——在于它们让 OpenAI 能够在大量的图像和视频数据上训练 Sora。想象一下从每一个存在的视频中剪出的 Patch——无尽的胶片塔——被堆叠起来并输入到模型中。

以前的文本转视频方法需要训练时使用的所有图片和视频都要有相同的大小,这就需要大量的预处理工作来裁剪视频至适当的大小。但是,由于 Sora 是基于“Patch”而非视频的全帧进行训练的,它可以处理任何大小的视频或图片,无需进行裁剪。

因此,可以有更多的数据用于训练,得到的输出质量也会更高。例如,将视频预处理至新的长宽比通常会导致视频的原始构图丢失。一个在宽屏中心呈现人物的视频,裁剪后可能只能部分展示该人物。因为 Sora 能接收任何视频作为训练输入,所以其输出不会受到训练输入构图不良的影响。

在结合前面提到的 Diffusion Transformer 架构,OpenAI 可以在训练 Sora 时倾注更多的数据和计算资源,从而得到令人惊叹的效果。

另外 Sora 刚发布视频时,能模拟出咖啡在杯子里溅出的液体动力学,以至于有人以为是连接了游戏引擎,但实际上 Sora 还是基于生成式模型,这是因为 Sora 在训练时,使用了大量的视频数据,这些视频中包含了大量的物理规则,所以 Sora 能够模拟出液体动力学。这类似于 GPT-4 在训练时,使用了大量的代码来作为训练数据,所以 GPT-4 能够生成代码。

有两篇论文: 《Scalable Diffusion Models with Transformers》https://arxiv.org/abs/2212.09748 《Patch n’ Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution》https://arxiv.org/abs/2307.06304

包含更多专业细节。

顺便说一下,两篇论文好像都来自 Google,并且似乎 Sora 项目是在这两篇论文发表后才启动的。

还有电影胶片 + 变形虫的例子来自《How Sora Works (And What It Means)》 https://every.to/chain-of-thought/sora-and-the-future-of-filmmaking 译文:https://baoyu.io/translations/sora/sora-and-the-future-of-filmmaking问:Sora 和之前 Runway 那些在架构上有啥区别呢?

答:简单来说 Runway 是基于扩散模型(Diffusion Model)的,而 Sora 是基于 Diffusion Transformer。

Runway、Stable Diffusion 是基于扩散模型(Diffusion Model),扩散模型(Diffusion Model)的训练过程是通过多个步骤逐渐向图片增加噪点,直到图片变成完全无结构的噪点图片,然后在生成图片的时候,基于一张完全噪点的图片,逐步减少噪点,直到还原出一张清晰的图片。

文本模型像 GPT-4 则是 Transformer 模型。Transformer 则是一套编码器和解码器的架构,将文本编码成数字向量,然后解码的时候从数字向量还原出文本。

Sora 则是一个融合了两者的 Diffusion Transformer 模型。通过 Transformer 的编码器 - 解码器架构处理含噪点的输入图像,并在每一步预测出更清晰的图像版本。编码器负责对含噪点的输入进行编码,而解码器则负责生成更清晰图像的预测。

GPT-4 被训练以处理一串 Token,并预测出下一个 Token。Sora 不是预测序列中的下一个文本,而是预测序列中的下一个“Patch”。

在文本预测生成中,基本单位是 Token,Token 很好理解,就是一个单词或者单词的一部分。Patch 的概念相对不那么好理解,不过今天看到一篇文章,作者举了个很好的例子。

想象一下《黑暗骑士》的电影胶片,将一卷胶片绕在一个金属盘上,然后挂在一个老式电影院的投影机上。

你把电影胶卷从盘中展开,然后剪下最前面的 100 帧。你挑出每一帧——这里是小丑疯狂大笑,那里是蝙蝠侠痛苦的表情——并进行以下不同寻常的操作:

你拿起一把 X-acto 精细刻刀,在第一帧电影胶片上剪出一个变形虫状的图案。你像处理精密仪器一样小心翼翼地用镊子提取这片形似变形虫的胶片,然后安全地保存起来。之后,你处理下一帧:在接下来的胶片上切出同样位置、同样形状的变形虫图案。你再次用镊子小心地取出这个新的变形虫形状的胶片——形状与前一个完全相同——并将其精确地放置在第一个之上。你这样做,直到完成所有的 100 帧。

你现在有了一个色彩斑斓的变形虫,沿着 Y 轴扩展。这是一座可以通过投影机播放《黑暗骑士》的小片段的胶片塔,就好像有人在投影机前握着拳头,只让电影的一小部分影像从拳心通过。

然后,这座胶片塔被压缩并转化为所谓的“Patch”——一种随时间变化的色块。

Patch 的创新之处——以及 Sora 之所以显得如此强大——在于它们让 OpenAI 能够在大量的图像和视频数据上训练 Sora。想象一下从每一个存在的视频中剪出的 Patch——无尽的胶片塔——被堆叠起来并输入到模型中。

以前的文本转视频方法需要训练时使用的所有图片和视频都要有相同的大小,这就需要大量的预处理工作来裁剪视频至适当的大小。但是,由于 Sora 是基于“Patch”而非视频的全帧进行训练的,它可以处理任何大小的视频或图片,无需进行裁剪。

因此,可以有更多的数据用于训练,得到的输出质量也会更高。例如,将视频预处理至新的长宽比通常会导致视频的原始构图丢失。一个在宽屏中心呈现人物的视频,裁剪后可能只能部分展示该人物。因为 Sora 能接收任何视频作为训练输入,所以其输出不会受到训练输入构图不良的影响。

在结合前面提到的 Diffusion Transformer 架构,OpenAI 可以在训练 Sora 时倾注更多的数据和计算资源,从而得到令人惊叹的效果。

另外 Sora 刚发布视频时,能模拟出咖啡在杯子里溅出的液体动力学,以至于有人以为是连接了游戏引擎,但实际上 Sora 还是基于生成式模型,这是因为 Sora 在训练时,使用了大量的视频数据,这些视频中包含了大量的物理规则,所以 Sora 能够模拟出液体动力学。这类似于 GPT-4 在训练时,使用了大量的代码来作为训练数据,所以 GPT-4 能够生成代码。

有两篇论文: 《Scalable Diffusion Models with Transformers》https://arxiv.org/abs/2212.09748 《Patch n’ Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution》https://arxiv.org/abs/2307.06304

包含更多专业细节。

顺便说一下,两篇论文好像都来自 Google,并且似乎 Sora 项目是在这两篇论文发表后才启动的。

还有电影胶片 + 变形虫的例子来自《How Sora Works (And What It Means)》 https://every.to/chain-of-thought/sora-and-the-future-of-filmmaking 译文:https://baoyu.io/translations/sora/sora-and-the-future-of-filmmaking

目录
相关文章
|
5月前
|
设计模式 存储 前端开发
MVVM、MVC、MVP三种常见软件架构设计模式的区别
MVC、MVP 和 MVVM 是三种常见的软件架构设计模式,主要通过分离关注点的方式来组织代码结构,优化开发效率。
123 12
|
17天前
|
存储 前端开发 调度
Flux 与传统的 MVC 架构模式区别
Flux是一种用于构建用户界面的架构模式,与传统的MVC架构不同,它采用单向数据流,通过Dispatcher统一管理数据的分发,Store负责存储数据和业务逻辑,View只负责展示数据,使得应用状态更加可预测和易于维护。
|
16天前
|
前端开发 测试技术 数据库
DDD架构中assembler和converter的区别
在 DDD 四层架构模式中,assembler 和 converter 常用于对象转换,但两者在实际项目中的使用较为随意。本文从英文释义、语义区分和模型层区分三个方面探讨了两者的区别,建议按模型层区分,即 Interface 和 Application 层使用 assembler,Infrastructure 层使用 converter,以避免混淆和随意使用。此外,将转换代码抽离为独立方法有助于保持代码整洁和可测试性。
51 1
|
25天前
|
存储 JavaScript 前端开发
Flux 架构模式和 Redux 区别
Flux架构模式和Redux都是前端状态管理工具,Flux强调单向数据流,通过Dispatcher分发Action到Store,再由View更新;Redux则简化了这一流程,使用单一的全局Store,通过Reducer纯函数处理状态变更,使状态管理更加集中和可预测。
|
1月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
|
3月前
|
机器学习/深度学习 算法 数据库
阿里云服务器架构区别解析:从X86计算、Arm计算到高性能计算架构的区别参考
在我们选择阿里云服务器的架构时,选择合适的云服务器架构对于提升业务效率、保障业务稳定至关重要。阿里云提供了多样化的云服务器架构选择,包括X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等。本文将深入解析这些架构的特点、优势及适用场景,以供参考和选择。
阿里云服务器架构区别解析:从X86计算、Arm计算到高性能计算架构的区别参考
|
3月前
|
边缘计算 人工智能 物联网
传统架构与RISC-V架构有什么区别?
计算机架构的发展经历了多个阶段,从最早的CISC(复杂指令集计算机)到后来的RISC(精简指令集计算机)。RISC-V作为一种新兴的RISC架构,以其开放性和模块化设计受到广泛关注。
91 2
|
3月前
|
测试技术 UED
与Sora同架构,高效、连贯文生视频模型Snap Video
【8月更文挑战第4天】Snap Video是一种创新模型,针对视频生成中的运动保真度、视觉质量和可扩展性难题。它采用基于Transformer的架构,优化EDM框架以高效处理时空信息,提升视频连贯性和细节真实感。相较于U-Net,新的Transformer设计加速训练并提高推理效率。尽管如此,面对复杂场景及高计算需求仍有挑战,实际效能需进一步验证。[论文](https://arxiv.org/abs/2402.14797)
74 1
|
4月前
|
Kubernetes 关系型数据库 分布式数据库
PolarDB产品使用问题之PolarDB-X的架构形态有什么区别
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
3月前
|
程序员
软件设计与架构复杂度问题之战略编程与战术编程的主要区别如何解决
软件设计与架构复杂度问题之战略编程与战术编程的主要区别如何解决