【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.hqwc.cn/news/494315.html

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

相关文章

Stable Diffusion 绘画入门教程(webui)-ControlNet(NormalMap)

法线贴图NormalMap可以把参考图的光影分布关系,法线贴图可以实现在不改变物体真实结构的基础上也能反映光影分布的效果,被广泛应用在 CG 动画渲染和游戏制作等领域 简单来讲可以参考原图的光影明暗关系并还原原图姿态,如下图:左边为原图&…

Java向ES库中插入数据报错:I/O reactor status: STOPPED

Java向ES库中插入数据报错:java.lang.IllegalStateException: Request cannot be executed; I/O reactor status: STO 一、问题问题原因 二、解决思路 一、问题 在使用Java向ES库中插入数据时,第一次成功插入,第二次出现以下错误&#xff1a…

StarRocks之监控管理(内含DashBoard模板)

先看下最终效果图 架构 Prometheus 是一个拥有多维度数据模型的、灵活的查询语句的时序数据库。它可以通过 Pull 或 Push 采集被监控系统的监控项,存入自身的时序数据库中。并且通过丰富的多维数据查询语言,满足用户的不同需求。 Grafana 是一个开源的 Metric 分析及可视化系…

RK3568平台开发系列讲解(基础篇)如何快速学习一套 Linux开发板源码

🚀返回专栏总目录 文章目录 一、基础代码二、驱动代码沉淀、分享、成长,让自己和他人都能有所收获!😄 拿到一份源码和一块评估板,如何快速找到与这块板相关的源码,是很多研发人员都曾遇到过的问题。如果对内核源码结构有大概了解,要完成这些事情也不难,通常可按照基础…

java:关于类的基础知识

一、类和对象 1.什么是类 类是对现实生活中一类具有共同属性和行为的事物的抽象。 2.类的特点: 类是对象的数据类型类是具有相同属性和行为的一组对象的集合 3.什么是对象的属性 属性:对象具有的各种特征,每个对象的每个属性都拥有特定…

GDB之(1)入门指令参数介绍

GDB之(1)基础入门指令参数介绍 Author:Once Day Date: 2022年7月29日/2024年2月26日 漫漫长路,才刚刚开始… 全系列文章请查看专栏: Linux实践记录_Once-Day的博客-CSDN博客 推荐参考文档: GDB: The GNU Project Debugger (sourceware.o…

java数据结构与算法刷题-----LeetCode530. 二叉搜索树的最小绝对差

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 解题思路:时间复杂度O(n),空间复杂度O(n) 一个有序…

Day02:Web架构前后端分离站Docker容器站集成软件站建站分配

目录 常规化站点部署 站库分离 前后端分离 集成软件搭建Web应用 Docker容器搭建Web应用 建立分配站 静态 与 伪静态 总结 章节知识点: 应用架构:Web/APP/云应用/三方服务/负载均衡等 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗…

docker创建mongodb数据库容器

介绍 本文将通过docker创建一个mongodb数据库容器 1. 拉取mongo镜像 docker pull mongo:3.63.6版本是一个稳定的版本,可以选择安装此版本。 2. 创建并启动主数据库 容器数据卷配置 /docker/mongodb/master/data # 数据库数据目录(宿主机&am…

顺丰科技2024届春季校园招聘常见问题解答及SHL测评题库

顺丰科技2024届春季校园招聘常见问题解答及SHL测评题库 Q:顺丰科技2024届校园招聘面向对象是? A:2024届应届毕业生,毕业时间段为2023年10月1日至2024年9月30日(不满足以上毕业时间的同学可以关注顺丰科技社会招聘或…

LCR 128. 库存管理 I

解题思路&#xff1a;二分法 class Solution {public int stockManagement(int[] stock) {int i 0,j stock.length-1;while(i < j){int m (i j)/ 2;if (stock[j] > stock[m]) j m;else if (stock[j] < stock[m]) i m1;else j--;}return stock[i];} }

2024环境工程、可再生能源与可持续发展国际会议(ICEERESD2024)

2024环境工程、可再生能源与可持续发展国际会议(ICEERESD2024) 一、【会议简介】 我代表2024环境工程、可再生能源与可持续发展国际会议(ICEERESD2024)组委会&#xff0c;诚挚地邀请您参加这次将在美丽的西安举行的会议。 这次会议旨在为环境工程、可再生能源和可持续发展领域…