解剖Sora:37頁論文逆向工程推測技術細節,微軟參與,華人團隊出品
Sora剛發布不久,就被逆向工程“解剖”了?!
來自理海大學、微軟研究院的華人團隊發布了首個Sora相關研究綜述,足足有37頁。
他們基于Sora公開技術報告和逆向工程,對模型背景、相關技術、應用、現存挑戰以及文本到視頻AI模型未來發展方向進行了全面分析。
連計算機視覺領域的AI生成模型發展史、近兩年有代表性的視頻生成模型都羅列了出來:
網友們也屬實沒想到,僅僅過了半個月、Sora還暫未公開僅有部分人可使用,學術圈相關研究竟出現得這么快。
不少網友表示,綜述非常全面有條理,建議全文閱讀。
那么這篇綜述具體都講了啥?
量子位在不改變原意的基礎上,對部分內容進行了整理。
目錄
逆向工程剖析Sora技術細節
- 整體架構
- 多樣性視覺數據預處理
- 指令調優:視頻摘要生成器
- 視頻提示工程
Sora具有里程碑式意義
Sora的五大應用前景及局限性
逆向工程剖析Sora技術細節
眾所周知,Sora發布后,OpenAI緊接著發布了技術報告,但未詳細透露技術細節,被有的網友吐槽OpenAI果然還是這么“Close”。
學術圈的猜測也是五花八門,ResNeXt一作謝賽寧、英偉達AI科學家Jim Fan等各路大佬都曾激情開麥。Jim Fan還高呼Sora就是視頻生成的GPT-3時刻。
不過,OpenAI研究員Jason Wei最近對Sora的評價是視頻生成的GPT-2時刻。
大佬們眾說紛紜,然而誰的猜測更為準確還不好說。
而在這篇研究綜述中,研究人員用逆向工程同樣推測分析了Sora的技術細節,并討論了一系列相關工作。大致涉及以下幾個問題——
整體架構
根據OpenAI發布的技術報告,Sora是一個在不同時長、分辨率和寬高比的視頻及圖像上訓練而成的擴散模型,同時采用了Transformer架構,即為一種“擴散型Transformer”。
回顧現有工作并運用逆向工程,研究人員推測補充了如下信息。
Sora整個框架可能由三部分組成:
- 首先,時間-空間壓縮器將原始視頻映射到潛在空間;
- 隨后,ViT處理這些被token化的潛在表示,并輸出去噪后的潛在表示;
- 類似CLIP的條件機制接收由LLM增強的用戶指令和潛在的視覺提示,生成具有特定風格主題的視頻。經過多次去噪迭代,最終得到了生成視頻的潛在表示,隨后通過相應的解碼器映射回像素空間。
△逆向工程:Sora框架概述
更細節一點,逆向工程推測Sora利用了級聯擴散模型架構,結合基礎模型和多個時空細化模型。
由于高分辨率下使用注意力機制的計算成本高且性能提升有限,基礎擴散模型和低分辨率擴散模型不太可能大量使用注意力模塊。
同時,考慮到視頻/場景生成中時間一致性比空間一致性更重要,Sora或采用長視頻(用于時間一致性)和低分辨率的高效訓練策略來保證空間和時間上的一致性。
△Diffusion Transformer,DiT(左)、U-ViT(右)的整體架構
另外,考慮到與預測原始潛在變量x或噪聲?的其他變體相比,v參數化擴散模型的性能更優,Sora可能使用v參數化擴散模型。
在潛在編碼器方面,大多數現有工作為提升訓練效率,利用Stable Diffusion的預訓練VAE編碼器作為初始化的模型checkpoint。
然而,編碼器缺乏時間壓縮能力。盡管一些工作提議只微調解碼器來處理時間信息,但解碼器在壓縮的潛在空間中處理視頻時間數據的性能仍然不是最優的。
基于技術報告,研究人員推測Sora可能不是使用現有預訓練VAE編碼器,而是使用從零開始在視頻數據上訓練的時空VAE編碼器,該編碼器在針對視頻內容優化的壓縮潛在空間中的表現優于現有編碼器。
多樣性視覺數據預處理
與傳統方法需要裁剪視頻大小或調整寬高比以適應統一的標準尺寸不同,Sora能夠在原生尺寸的視頻和圖像上訓練、理解并生成視頻。
也就是能處理多樣性視覺數據,且對原始尺寸的樣本無損,這顯著提升了Sora的視頻構圖與框架,使生成的視頻更自然連貫。
舉個例子,用傳統方法訓練如左圖,由于正方形裁剪,視頻畫面主體被截斷,而右圖使用原始樣本訓練,視頻主體完全被捕捉。
這部分的技術細節,OpenAI在技術報告中雖然做了重點介紹,不過也僅是提出了一個高層次的想法:
為處理不同分辨率、寬高比、時長的圖像和視頻,Sora采用了統一的視覺表示。具體來說,模型先將視頻壓縮到低維潛在空間中,然后將表示分解為時空patch,從而實現了視頻的“patch化”。
而在綜述中,研究人員做了如下分析。
Sora的視頻壓縮網絡(視覺編碼器)目的是減少輸入數據(原始視頻)的維度,并輸出一個在時間和空間上都被壓縮的潛在表示。
根據Sora技術報告中的參考文獻,壓縮網絡建立在VAE或VQ-VAE之上。如果按照技術報告中提到的不調整大小、不裁剪,VAE很難將視覺數據映射到統一且固定大小的潛在空間。
不過,這里總結了兩種方法來解決這個問題。
一種方法是空間-patch壓縮(Spatial-patch Compression),類似于ViT和MAE中采用的方法,將視頻幀分割成固定大小的patch然后將它們編碼到潛在空間。
有幾個關鍵問題要注意:
- 時間維度的可變性。因視頻時長不同、潛在空間維度不固定,需通過采樣固定幀數或設定超長輸入長度來整合時間信息。
- 利用預訓練視覺編碼器。大多數研究者傾向于使用預訓練編碼器如Stable Diffusion的VAE,但Sora團隊可能自行訓練編碼器和解碼器,能高效處理大尺寸patch數據。
- 時間信息的整合。由于這種方法主要關注空間patch壓縮,所以需要模型內部的額外機制來聚合時間信息,這對于捕捉動態變化至關重要。
另一種方法是空間-時間-patch壓縮(Spatial-temporal-patch Compression),使用3D卷積提取時間信息。
這種方法同時封裝視頻數據的空間和時間維度,提供一種全面的視頻表示,考慮了幀之間的運動和變化,從而捕捉視頻的動態特性。
與空間-patch壓縮相似,空間-時間-patch壓縮通過設置特定的卷積核參數處理視頻,由于視頻輸入的特征差異,導致潛在空間維度發生變化,在這里上文提到的空間-patch的方法同樣適用并有效。
在壓縮網絡這部分還有一個關鍵問題:如何處理不同視頻類型中潛在特征塊或patch的數量,然后再將patch輸入到Diffusion Transformer的輸入層?
研究人員認為,基于Sora的技術報告和相應參考文獻,patch n’ pack(PNP)可能是解決方案。
PNP將來自不同圖像的多個patch打包到一個序列中,類似于NLP中的示例打包,通過丟棄token來適應可變長度輸入的高效訓練。
在打包過程中,需要考慮如何以緊湊的方式打包這些patch,以及如何控制哪些patch應被丟棄。
對于第一個問題,研究人員提到了一種簡單的算法,即在有足夠剩余空間時添加示例,然后用token填充序列,以獲得批量操作所需的固定序列長度。
對于第二個問題,一種直觀的方法是丟棄相似的token,或者像PNP那樣應用丟棄率調度器。
不過丟棄token可能會在訓練過程中遺失一些細節。因此,研究人員認為OpenAI可能會使用超長的上下文窗口打包視頻中的所有token。
長視頻的空間-時間潛在patch可以打包在一個序列中,而來自幾個短視頻的潛在patch則在另一個序列中連接。
總的來說,在數據預處理這部分,研究人員推測Sora首先將視覺patch壓縮成低維潛在表示,然后將這樣的潛在patch或進一步patch化潛在patch排列成一個序列,接著在將這些潛在patch輸入到Diffusion Transformer的輸入層之前注入噪聲。
Sora采用空間-時間patch化,因為它易于實現,并且可以有效減少具有高信息密度token的上下文長度,降低后續對時間信息建模的復雜性。
指令調優:視頻描述生成器
模型指令調優旨在增強AI模型遵循提示的能力,使模型能適應更廣泛的用戶請求,確保對指令中的細節給予細致的關注,并生成精確滿足用戶需求的視頻。
Sora在這方面采用了一種與DALL·E 3類似的方法。
首先訓練一個能夠詳細描述視頻的視頻描述生成器(Video captioner)。然后,將其應用于訓練數據中的所有視頻,來生成高質量的視頻-文本對,用這些視頻-文本對微調Sora,提高其遵循指令的能力。
Sora的技術報告沒有透露訓練視頻摘要生成器的細節。鑒于視頻摘要生成器是一個視頻-文本的模型,構建它有多種方法。
方法之一是利用CoCa架構進行視頻摘要生成,通過獲取視頻的多個幀并將每個幀輸入到圖像編碼器VideoCoCa。
VideoCoCa基于CoCa并重用預訓練的圖像編碼器權重,獨立地應用于采樣的視頻幀。得到的幀token嵌入被展平并連接成一個長視頻表示序列。這些展平的幀token隨后被一個生成性池化器和一個對比性池化器處理,這兩者與對比損失和摘要生成損失一起聯合訓練。
構建視頻描述生成器的其他選擇包括mPLUG-2、GIT、FrozenBiLM等。
最后,為確保用戶提示與訓練數據中的描述性摘要格式對齊,Sora執行了一個額外的提示擴展步驟,其中用GPT-4V將用戶輸入擴展為詳細的描述性提示。
視頻提示工程
提示工程是為了讓用戶引導AI模型生成與其意圖一致的內容。
以前關于提示工程的研究主要集中在LLM和文本生成圖像的提示上,研究人員推測對視頻生成模型的視頻提示將會越來越受到關注。
提示工程的效果依賴于精準選擇用詞、明確細節,以及對這些細節如何影響模型輸出的深刻理解。比如下圖示例中,提示詞詳細描述了動作、環境、角色造型,甚至是期望的情緒和場景氛圍。
Sora還能夠同時利用視覺和文本信息,將靜態圖像轉換為動態的、敘事驅動的視頻。
除此外,Sora還能夠向前或向后擴展視頻,通過提示可以指定擴展的方向、主題等。
在下圖(a)中,視頻提示指導Sora倒退擴展視頻。下圖(b)中,切換視頻場景時,模型需要通過prompt清楚理解所需視頻風格、氛圍、光線明暗變化等細節。圖(c)中,指導Sora連接視頻,在不同場景中對象間順暢過渡,也需要在提示工程上下功夫。
Sora具有里程碑式意義
在圈內外炸開鍋、被稱為是視頻生成GPT-3、GPT-2時刻,Sora為何被認為具有里程碑式意義?
透過計算機視覺(CV)領域的AI生成模型發展史來看,Sora的突破性或許就更加明了了。
過去十年,生成式CV模型的發展變換了多種路線。
- 深度學習革命前,傳統圖像生成依賴于基于手工制作特征的紋理合成和紋理映射等方法。
- 而后生成對抗網絡(GAN)和變分自編碼器(VAE)、流模型( flow model)和擴散模型(diffusion model)相繼出現。
- Transformer架構出現格局發生巨變,先在NLP領域成功應用,而后在CV領域與視覺組件結合,催生了ViT、Swin Transformer等。
- 與此同時,擴散模型在圖像和視頻生成領域也取得了顯著進展。
- 2021年以來,AI多模態迎來變革。CLIP、Stable Diffusion接連爆火。
重要的一點是,大語言模型領域開始逐漸展示出規模化定律,ChatGPT、GPT-4等展示出了一定的涌現能力。
不過視覺模型是否同樣符合規模化定律還不是很清晰。
而Sora作為一個大型視覺模型(LVM),它的問世與規模原則保持了一致,揭示了在文本-視頻生成中的幾種涌現能力。這一進展凸顯了LVM實現類似LLM那樣的進步的潛力。
根據Sora的技術報告,它是第一個確認展示出涌現能力的視覺模型,標志著計算機視覺領域的一個重要里程碑。
除了其涌現能力,正如上面提到的,Sora在遵循指令、視覺提示工程以及視頻理解等方面的能力亦有重大進步。
比如,Sora能生成具有多個角色、包含特定運動的復雜場景,不僅能理解用戶在提示中提出的要求,似乎還能理解簡單物體在物理世界中的存在方式。它還可以在單個視頻中創建多個鏡頭,并依靠對語言的深入理解準確地解釋提示詞,保留角色和視覺風格……
Sora的五大應用前景及局限性
研究人員總結Sora具有五大亮點:提高模擬能力、促進創造力、推動教育創新、增強無障礙性、促進新興應用。
最后還總結了Sora的五大應用場景:
1、電影制作:Sora的應用在電影制作領域具有革命性意義,它能夠將文本腳本轉化為電影風格的視頻,降低了電影制作的門檻,使得個人創作者也能夠制作電影內容。
2、教育:在教育領域,Sora能夠將教學大綱或文本描述轉化為動態視頻內容,提高學生參與度和理解能力,為定制和激活教育材料提供了前所未有的機會。
3、游戲:傳統游戲開發常常受限于預渲染環境和腳本事件。擴散模型能夠實時生成動態、高保真度的視頻內容和真實的聲音,有望克服現有限制,為開發者提供創造有機響應玩家行動和游戲事件的演變游戲環境的工具。
4、醫療保健:在醫療領域,它特別適合于識別身體內的動態異常,如早期細胞凋亡、皮膚病變進展和不規則的人體運動,對于早期疾病檢測和干預策略至關重要。
5、機器人:在機器人技術中,Sora可以增強機器人的視覺感知和決策能力。使它們能夠與環境交互,并以前所未有的復雜性和精度執行任務。
不過,盡管Sora在AI視頻生成領域取得了顯著進步,但仍面臨一些挑戰。
解決生成內容中的偏見問題和防止產生有害視覺內容,確保Sora輸出的持續安全和無偏見是一項主要挑戰。
此外,局限性還包括以下幾點:
- 物理真實性的挑戰:Sora在處理復雜場景的物理規律時存在不一致性,例如,吃餅干不一定留下咬痕。
- 空間和時間的復雜性:Sora有時難以準確理解空間布局和時間順序的指令,導致物體和角色的位置或安排出現混淆。
- 人機交互的限制:用戶很難對生成內容進行詳細修改或優化。
- 使用限制:OpenAI尚未將Sora對公眾開放,在安全性、隱私保護和內容審查等方面,Sora可能仍需進一步的改進和測試。且目前Sora只能生成長達一分鐘的視頻,限制了其在需要展示更長內容的應用場景中的使用。
更多細節,感興趣的家人們可以查閱原論文。
One More Thing
這篇綜述發布后引起了不少網友關注,有網友表示值得全文閱讀,但也有網友吐槽標題“Sora:”的設置極易引起誤會。
對此,疑似論文作者在小紅書做出回應:
論文鏈接:https://arxiv.org/abs/2402.17177
參考鏈接:https://twitter.com/_akhaliq/status/1762678991549354121