【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.pswp.cn/news/714070.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714070.shtml
英文地址,請注明出處:http://en.pswp.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;創建畫布的時候會同時創建一個事…