我們探索了視頻數據上生成模型的大規模訓練。具體來說,我們在可變持續時間、分辨率和長寬比的視頻和圖像上聯合訓練文本條件擴散模型。我們利用了一個在視頻和圖像潛在碼的時空塊上操作的變壓器架構。我們規模最大的模型 Sora 能夠生成一分鐘的高保真視頻。我們的結果表明,擴大視頻生成模型的規模,是建立通用物理世界模擬器的一條有前景的途徑。
Sora:一鏡到底,驚艷了整個世界
本技術報告重點介紹(1)我們將各類視覺數據轉化為統一表示的方法,使生成模型能夠進行大規模訓練,以及(2)對 Sora 的能力和局限性的定性評估。本報告未包含模型和實現的詳細信息。
許多先前的研究工作已經使用各種方法研究了視頻數據的生成建模,包括循環網絡、1、2、3 生成對抗網絡、4、5、6、7 自回歸轉換器、8、9 和擴散模型。10、11、12 這些工作通常專注于狹窄的視覺數據類別、較短的視頻或固定大小的視頻。 Sora 是視覺數據的通用模型——它可以生成跨越不同持續時間、長寬比和分辨率的視頻和圖像,最長可達一分鐘的高清視頻。
將視覺數據轉化為塊
我們從大型語言模型(LLM)中獲取靈感,這些模型通過訓練互聯網規模的數據獲得通用能力。13、14 LLM 范式部分成功的原因在于使用了令牌,這些令牌可以優雅地統一文本的多種模態——代碼、數學和各種自然語言。在這項工作中,我們考慮視覺數據的生成模型如何繼承此類好處。 LLM 有文本令牌,而 Sora 有視覺塊。以前的研究已經表明,塊是視覺數據模型的有效表示。15、16、17、18 我們發現,塊是訓練各種類型和圖像生成模型的可擴展且有效的表示。
在高級別上,我們首先將視頻壓縮到較低維度的潛在空間,19 然后將表示分解為時空塊,從而將視頻轉化為塊。
視頻壓縮網絡
我們訓練了一個降低視覺數據維度的網絡。20 這個網絡以原始視頻為輸入,并輸出一個同時在時間和空間上被壓縮的潛在表示。 Sora 在這個壓縮的潛在空間內進行訓練,并隨后生成視頻。我們還訓練了一個相應的解碼器模型,將生成的潛在值映射回像素空間。
時空潛在塊
給定壓縮的輸入視頻,我們提取一系列時空塊,這些塊充當轉換器的令牌。這種方案也適用于圖像,因為圖像只是具有單個幀的視頻。我們基于塊的表示使 Sora 能夠訓練可變分辨率、持續時間和長寬比的視頻和圖像。在推斷時,我們可以通過在適當大小的網格中排列隨機初始化的塊來控制生成視頻的大小。
用于視頻生成的變換器擴展
Sora 是一個擴散模型21、22、23、24、25;給定輸入噪聲塊(以及條件信息,如文本提示),它被訓練來預測原始“干凈”塊。重要的是, Sora 是一個擴散轉換器。26 轉換器在各種領域中展示了出色的擴展性,包括語言建模13、14、計算機視覺15、16、17、18 和圖像生成27、28、29。
在這項工作中,我們發現擴散轉換器作為視頻模型也能有效地擴展。下面,我們展示了隨著訓練的進行,具有固定種子和輸入的視頻樣本的比較。隨著訓練計算量的增加,樣本質量明顯提高。
可變持續時間、分辨率、長寬比
過去的圖像和視頻生成方法通常會將視頻調整大小、裁剪或修剪為標準大小,例如分辨率為 256x256 的 4 秒視頻。我們發現,相反,在數據的原始大小上進行訓練可以提供幾個好處。
采樣靈活性
Sora 可以采樣寬屏 1920x1080p 視頻、垂直 1080x1920 視頻以及它們之間的所有內容。這讓 Sora 能夠直接以設備的原始長寬比創建內容。它還允許我們在以全分辨率生成之前,使用相同的模型快速生成較低大小的內容原型。
改進構圖和構圖
我們經驗地發現,在視頻的原始長寬比上進行訓練可以改進構圖和構圖。我們將 Sora 與我們模型的一個版本進行了比較,該版本將所有訓練視頻裁剪為正方形,這是在訓練生成模型時的常見做法。在正方形裁剪上訓練的模型(左)有時會生成僅部分顯示主體的視頻。相比之下,來自 Sora(右)的視頻具有改進的構圖。
語言理解
訓練文本到視頻的生成系統需要大量的帶有相應文本字幕的視頻。我們將 DALL·E 330 中引入的重新標注技術應用于視頻。我們首先訓練一個高度描述性的字幕模型,然后使用它為訓練集中的所有視頻生成文本字幕。我們發現,在高度描述性的視頻字幕上進行訓練可以提高文本的保真度和視頻的整體質量。
與 DALL·E 3 類似,我們還利用 GPT 將簡短的用戶提示轉換為更長的詳細字幕,然后將其發送到視頻模型。這使 Sora 能夠生成高質量的視頻,準確遵循用戶提示。
使用圖像和視頻進行提示
上面和我們的著陸頁上的所有結果都展示了文本到視頻的樣本。但 Sora 也可以用其他輸入進行提示,例如預先存在的圖像或視頻。這種能力使 Sora 能夠執行廣泛的圖像和視頻編輯任務——創建完美循環的視頻、使靜態圖像動起來、在時間上前向或后向擴展視頻等。
使 DALL·E 圖像動起來
Sora 能夠根據圖像和提示作為輸入生成視頻。下面,我們展示了基于 DALL·E 231 和 DALL·E 330 圖像生成的示例視頻。
擴展生成的視頻
Sora 還能夠向前或向后擴展視頻。以下是四個從生成的視頻片段開始向后擴展的視頻。因此,這四個視頻的開頭各不相同,但最終都以相同的結尾結束。
我們可以使用這種方法向前和向后擴展視頻,以產生無縫的無限循環。
視頻到視頻的編輯
擴散模型使得從文本提示中編輯圖像和視頻的方法變得豐富多樣。下面,我們將其中一種方法 SDEdit32 應用到 Sora 上。這種技術使 Sora 能夠零鏡頭地轉換輸入視頻的風格和環境。
連接視頻
我們還可以使用 Sora 逐漸在兩個輸入視頻之間進行插值,從而創建具有完全不同主題和場景組成的視頻之間的無縫過渡。在下面的示例中,中間的視頻在左側和右側對應的視頻之間進行插值。
圖像生成能力
Sora 也能夠生成圖像。我們通過在空間網格中排列一個時間長度為一幀的高斯噪聲塊來做到這一點。該模型可以生成可變大小的圖像,最高分辨率為 2048x2048。
新興的模擬能力
我們發現,當在大規模上進行訓練時,視頻模型會表現出許多有趣的新興能力。這些能力使 Sora 能夠模擬物理世界中的人、動物和環境的一些方面。這些屬性是在沒有任何明確的 3D、對象等歸納偏見的情況下出現的——它們完全是規模的現象。
3D 一致性。Sora 可以生成具有動態相機運動的視頻。當相機移動和旋轉時,人和場景元素會在三維空間中一致地移動。
長程一致性和物體恒存性。對于視頻生成系統來說,在采樣長視頻時保持時間一致性一直是一個重大挑戰。我們發現,盡管并非總是如此,但 Sora 通常能夠有效地建模短期和長期依賴關系。例如,我們的模型可以在人們、動物和物體被遮擋或離開畫面時保持它們的存在。同樣,它可以在單個樣本中生成同一角色的多個鏡頭,并在整個視頻中保持其外觀。
與世界互動。Sora 有時可以模擬以簡單方式影響世界狀態的動作。例如,畫家可以在畫布上留下隨時間持續的新筆觸,或者一個人可以吃漢堡并留下咬痕。
模擬數字世界。Sora 還能夠模擬人工過程——一個例子是視頻游戲。Sora 可以在高保真度的同時,用基本策略同時控制 Minecraft 中的玩家并渲染世界及其動態。通過用提到“Minecraft”的標題提示 Sora,可以零鏡頭地激發這些能力。
這些能力表明,繼續擴大視頻模型的規模是實現高度能力的物理和數字世界模擬器,以及其中生活的物體、動物和人的發展的有前途的途徑。
討論
目前,Sora 作為模擬器存在許多限制。例如,它不能準確地模擬許多基本交互的物理性質,如玻璃破碎。其他交互,如吃食物,并不總是會導致對象狀態的正確變化。我們在我們的著陸頁面上列舉了模型的其他常見故障模式,例如在長時間樣本中發展的不一致性或對象的自發出現。
我們認為 Sora 目前所具備的能力表明,繼續擴大視頻模型的規模是實現高度能力的物理和數字世界模擬器,以及其中生活的物體、動物和人的發展的有前途的途徑。