【Datawhale组队学习:Sora原理与技术实战】Sora技术原理

Sora能力边界探索

在这里插入图片描述

  • 最大支持60秒高清视频生成,以及基于已有短视频的前后扩展,同时保持人物/场景的高度一致性
  • 如奶茶般丝滑过渡的视频融合能力
  • 同一场景的多角度/镜头的生成能力
  • 具有动态摄像机运动的视频。随着摄像机的移动和旋转,人和其
    他场景元素在三维空间中一致地移动
  • 支持任意分辨率,宽高比的视频输出
  • Sora对物理规律的理解仍然十分有限

Sora能力总结

  • Text-to-video: 文生视频
  • Image-to-video: 图生视频
  • Video-to-video: 改变源视频风格or场景
  • Extending video in time: 视频拓展(前后双向)
  • Create seamless loops: Tiled videos that seem like they never end
  • Image generation: 图片生成 (size最高达到 2048 x 2048)
  • Generate video in any format: From 1920 x 1080 to 1080 x 1920 视频输出比例自定义
  • Simulate virtual worlds: 链接虚拟世界,游戏视频场景生成
  • Create a video: 长达60s的视频并保持人物、场景一致性

Sora模型训练流程

Video generation models as world simulators
https://openai.com/research/video-generation-models-as-world-simulators

模型训练流程

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

模型训练:扩散模型 DDPM

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模型训练:基于扩散模型的主干 U-Net

  1. U-Net 网络模型结构把模型规模限定;
  2. SD/SDXL 作为经典网络只公布了推理和微调;
  3. 国内主要基于 SD/SDXL 进行二次创作;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Sora关键技术拆解

einops是一个用于操作张量的库,它的出现可以替代我们平时使用的reshape、view、transpose和
permute等操作
einops支持numpy、pytorch、tensorflow等
y = x.transpose(0, 2, 3, 1) 等同
y = rearrange(x, ‘b c h w -> b h w c’)

self.gkv = nn.Linear(self.embed dim, self.head size * self.n heads * 3,bias=False
self.scale=self.head size **-0.5
self.register buffer("tril',torch.tril(torch.ones(self.seg len,self.seg len))
self.attn dropout =nn.Dropout(0.)def forward(self,x):b,t,c=x.shape# q,k,v shape individually: batch size x seg len x embed dim# we know that gk t=gxkt, where g=bxtxhead dim, k t=bxhead timxtq,k,v=self.qkv(x).chunk(3,dim=-1)q=rearrange(q,'bt(h n)->bnt h',n=self.n heads)# h= head sizek=rearrange(v,'b t(h n)->bnth',n=self.n heads)v=rearrange(v,'bt(hn)->bnth',n=self.n heads)qkt=einsum(q,k,'b n tl h, bn t2 h->bn tl t2')* self.scaleweights=qk t.masked fill(m==0,float('-inf'))weights=F.softmax(weights,dim=-1)weights =self.attn dropout(weights)attention =weights @ v# batch xn heads x seg len x head sizeattention=rearrange(attention,'bnth->bt(n h)')return attentionpatches = rearrange(im,'c (h pl)(w p2)->(h w)c pl p2',pl=patch size,p2=patch size)
patches.shape
# torch.Size([196,3,16,16])figure =plt.figure(figsize=(5,5))
for i in range(patches.size(0)):img =patchesli].permute(1,2,0)fiqure.add subplot(14,14,i+1)plt.axis('off')plt.imshow(img)
plt.show()

在这里插入图片描述
在这里插入图片描述

  • ViT 尝试将标准 Transformer 结构直接应用于图
    像;
  • 图像被划分为多个 patch后,将二维 patch 转换为一维向量作为 Transformer 的输入;

技术报告分析

Diffusion Transformer,= VAE encoder + ViT + DDPM + VAE

DiT 利用 transformer 结构探索新的扩散模型,成功用 transformer 替换 U-Net 主干
在这里插入图片描述

  • 例如输入一张256x256x3的图片,经过Encoder后得到对应的latent
  • 推理时输入32x32x4的噪声,得到32x32x4的latent
  • 结合当前的 step t , 输入label y , 经过N个Dit Block通过 MLP 进行输出
  • 得到输出的噪声以及对应的协方差矩阵
  • 经过T个step采样,得到32x32x4的降噪后的latent
  • 在训练时,需要使得去躁后的latent和第一步得到的latent尽可能一致

网络结构:Diffusion Transformer,DiT

在这里插入图片描述

  • DiT 首先将将每个 patch 空间表示Latent 输入到第一层网络,以此将空间输入转换为 tokens 序列。
  • 将标准基于 ViT 的 Patch 和Position Embedding 应用于所有输入token,最后将输入 token 由Transformer 处理。
  • DiT 还会处理额外信息,e.g. 时间步长、类别标签、文本语义等

网络结构: DALLE 2

在这里插入图片描述

  1. 将文本提示输入文本编码器,该训练过的编码器便将文本提示映射到表示空间;
  2. 先验模型将文本编码映射到图像编码,图像编码捕获文本编码中的语义信息;
  3. 图像解码模型随机生成一幅从视觉上表现该语义信息的图像;

技术总结

  1. Scaling Law:模型规模的增大对视频生成质量的提升具有明确意义,从而很好地解决视
    频一致性、连续性等问题;
  2. Data Engine:数据工程很重要,如何设计视频的输入(e.g. 是否截断、长宽比、像素
    优化等)、patches 的输入方式、文本描述和文本图像对质量;
    AI Infra:AI 系统(AI 框架、AI 编译器、AI 芯片、大模型)工程化能力是很大的技术
    壁垒,决定了 Scaling 的规模。
  3. LLM:LLM 大语言模型仍然是核心,多模态(文生图、图生文)都需要文本语义去牵引和
    约束生成的内容,CLIP/BLIP/GLIP 等关联模型会持续提升能力;

学习资源

DataWhale社区Sora学习资源:
https://datawhaler.feishu.cn/wiki/RKrCw5YY1iNXDHkeYA5cOF4qnkb#KljXdPfWJo62zwxdzYIc7djgnlf
学习视频:
https://www.bilibili.com/video/BV1wm411f7gf/?spm_id_from=333.1350.jump_directly&vd_source=299ce227a965167d79f374c15b2fddf5

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

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

相关文章

x-pack的破解方式和免费jar包!!可直接用!!

原理介绍 我们平时为es安装x-pack组件,用elasticsearch-plugin install x-pack ,安装成功后。 1.cd $es目录/pulgins/x-pack 里面有一个x-pack-5.6.2.jar ,将jar包反编译,然后将里面的licence的程序改下。再编译成jar包。 2…

通过笔记本桥接打印机组成网络打印机其它电脑与之相连各种问题汇总

根据描述需要一台低配闲置笔记本(有无线网卡),一台普通台式打印机(不带WIFI)就可以组成网络打印机,能省1000块不? 1. 让笔记本安装驱动使其可以打印。 2. 让笔记本上的打印机共享,…

解决 MacOS Sonoma 14 系统下修改用户名无法进入系统的历史Bug

苹果系统祖传Bug概述 在MacOS中如果在系统偏好设置/用户和群组中尝试修改用户名或用户ID,当且仅当只有一个管理员账号的时候重启,就可能面临到无法进入操作系统,即使出现了登录框,但是一直是 loading状态在这个期间,你…

javaScript 深浅拷贝

javaScript深浅拷贝 浅拷贝 自己创建一个新的对象,来接受你要重新复制或引用的对象值。如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象,但如果属性是引用数据类型,复制的就是内存中的地址,如果其中一个…

Python 编程中的迭代器、生成器和装饰器探究【第110篇—迭代器】

Python 编程中的迭代器、生成器和装饰器探究 在Python编程中,迭代器(Iterators)、生成器(Generators)和装饰器(Decorators)是三个强大的概念,它们为代码的可读性、效率和灵活性提供…

PaddleOCR的部署教程(实操环境安装、数据集制作、实际应用案例)

文章目录 前言 PaddleOCR简介 一、PaddleOCR环境搭建 因为我之前安装过cuda和cudnn,查看cuda的版本根据你版本安装合适的paddlepaddle版本(之前没有安装过cuda的可以看我这篇文章Ubuntu20.04配置深度学习环境yolov5最简流程) 1.创建一个…

【C++从0到王者】第四十八站:最短路径

文章目录 一、最短路径二、单源最短路径 -- Dijkstra算法1.单源最短路径问题2.算法思想3.代码实现4.负权值带来的问题 三、单源最短路径 -- Bellman-Ford算法1.算法思想2.算法实现3.SPFA优化4.负权回路 四、多源最短路径 -- Floyd-Warshall算法1.算法思想2.算法实现 一、最短路…

antd vue 日期控件的使用(选年份)

Ant Design Vue-------DatePicker 今天就讲讲Ant Design Vue下的控件----DatePicker 日期选择框 结合项目中的需求,先讲一下选择年份如何使用,需求: (1)将库中存的年份读出到DatePicker控件里面; &…

Windows 10上安装Docker

在Windows 10上安装Docker需要使用Docker Desktop for Windows,这是一个完全包含Docker工具和Docker Engine的应用程序,让你可以在Windows环境中运行容器化应用程序。以下是安装Docker Desktop for Windows的步骤: 系统要求检查: …

推荐收藏!字节AI Lab-NLP算法(含大模型)面经总结!

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂同学、参加社招和校招面试的同学,针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何备战、面试常考点分享等热门话题进行了深入的讨论。 今天整理…

Python调用ChatGPT API使用国内中转key 修改接口教程

大家好,我是淘小白~ 有的客户使用4.0的apikey ,直接使用官方直连的apikey消费很高,有一位客户一个月要消费2万,想使用4.0中转的apikey,使用中转的apikey 需要修改官方的openai库,下面具体说下。 1、首先确保安装的op…

Java ElasticSearch-Linux面试题

Java ElasticSearch-Linux面试题 前言1、守护线程的作用?2、链路追踪Skywalking用过吗?3、你对G1收集器了解吗?4、你们项目用的什么垃圾收集器?5、内存溢出和内存泄露的区别?6、什么是Spring Cloud Bus?7、…

安装ProxySQL,教程及安装链接(网盘自提)

一、网盘下载,本地直传 我网盘分享的是proxysql-2.5.5-1-centos8.x86_64.rpm,yum或者dnf直接安装就行 提取码:rhelhttps://pan.baidu.com/s/1nmx8-h8JEhrxQE3jsB7YQw 官方安装地址 官网下载地址https://repo.proxysql.com/ProxySQL/ 二、…

题解:CF1889C1-Doremy‘s Drying Plan (Easy Version)

题解:CF1889C1-Doremy’s Drying Plan (Easy Version) 一、 题意描述 1. 题目链接 (1) CF链接 CodeForces (2) 洛谷链接 洛谷 2. 题目翻译 有一个长度为 n n n 的序列,上面有 n n n 个点&#xf…

快速搭建项目运行环境(JDK+Maven+Git+Docker+Mysql+Redis+Node.js+Nginx)+前后端项目分别部署

JDK ①、从oracle官方网站上下载1.8版本中的最新版的JDK https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html ②、把文件通过WinSCP或者XFTP上传到服务器上 ③、解压和配置环境变量 #进入安装包目录,解压 cd /data/tmp tar -zxvf jdk-8…

【AIGC】“光影交织的恋曲:绝美情侣在蓝天下的深情互动“

外貌特征 (Physical Appearance):给远景镜头,这对情侣拥有出众的容貌和气质。男子身材挺拔,五官立体鲜明,阳光洒在他俊朗的脸庞上,更显英气逼人;女子则拥有一头柔顺亮丽的秀发,明亮的眼睛如同星…

代码随想录| 深搜、797.所有可能的路径

回溯算法其实就是深搜&#xff0c;只不过这里的深搜是侧重于在图上搜索&#xff0c;回溯大多是在树上搜索。 797.所有可能的路径 完成 代码 模板题 class Solution {List<List<Integer>> res new ArrayList<>();List<Integer> path new ArrayList…

GPT-4论文精读【论文精读·53】

Toolformer 今天我们来聊一下 GPT 4&#xff0c;但其实在最开始准备这期视频的时候&#xff0c;我是准备讲 Toolformer 这篇论文的&#xff0c;它是 Meta AI 在2月初的时候放出来的一篇论文。说这个大的语言模型可以利用工具了&#xff0c;比如说它就可以去调用各种各样的API&a…

腾讯云优惠券领取的三个渠道,一个比一个优惠!

腾讯云代金券领取渠道有哪些&#xff1f;腾讯云官网可以领取、官方媒体账号可以领取代金券、完成任务可以领取代金券&#xff0c;大家也可以在腾讯云百科蹲守代金券&#xff0c;因为腾讯云代金券领取渠道比较分散&#xff0c;腾讯云百科txybk.com专注汇总优惠代金券领取页面&am…

Unity(第二十四部)UI

在游戏开发中&#xff0c;用户界面&#xff08;UI&#xff09;是至关重要的一部分。它负责与玩家进行交互&#xff0c;提供信息&#xff0c;并增强游戏的整体体验。Unity 提供了强大的工具和功能来创建和管理 UI。 ui的底层就是画布&#xff0c;创建画布的时候会同时创建一个事…