Open Sora 釋出!開源的高效復現類 Sora 影片生成方案

freedragon發表於2024-03-20

不久前 OpenAI Sora 的釋出可以說是震驚了世界,但是奈何目前 OpenAI 還未將 Sora 開放公測,但在昨天,我們卻等來了 Open Sora 1.0 的釋出,這是 Colossal-AI 團隊的一個完全開源的影片生成專案,致力於高效製作高質量影片,並使所有人都能使用其模型、工具和內容的計劃。 透過採用開源原則,Open-Sora 不僅實現了先進影片生成技術的低成本普及,還提供了一個精簡且使用者友好的方案,簡化了影片製作的複雜性。

模型訓練報告
以下是 Colossal-AI 團隊提供的模型訓練報告:

為了降低計算成本,我們希望利用現有的 VAE 模型。 Sora 使用時空 VAE 來減少時間維度。然而目前還沒有開源的高質量時空 VAE 模型。 MAGVIT 的4x4x4 VAE 不是開源的,而 VideoGPT 的 2x4x4 VAE 在我們的實驗中質量較低。因此,我們決定在第一個版本中使用 2D VAE(來自 Stability-AI)。

影片訓練涉及大量的 token。考慮 24fps 1 分鐘影片,我們有 1440 幀。透過 VAE 下采樣 4 倍和補丁大小下采樣 2 倍,我們有 1440x1024≈1.5M 令牌。完全關注 150 萬個代幣會導致巨大的計算成本。因此,我們使用時空注意力來降低 Latte 之後的成本。

如圖所示,我們在 STDiT 中的每個空間注意力之後插入一個時間注意力(ST 代表空間-時間)。這與 Latte 論文中的變體 3 類似。然而,我們不控制這些變體的類似數量的引數。雖然 Latte 的論文聲稱他們的變體比變體 3 更好,但我們對 16x256x256 影片的實驗表明,在相同的迭代次數下,效能排名為:DiT(完整)> STDiT(順序)> STDiT(並行)≈ Latte。因此,出於效率考慮,我們選擇STDiT(順序)。此處提供了速度基準。

為了專注於影片生成,我們希望基於強大的影像生成模型來訓練模型。 PixArt-α 是一種經過有效訓練的高質量影像生成模型,具有T5條件DiT結構。我們用 PixArt-α 初始化模型,並將插入時間注意力的投影層初始化為零。這種初始化保留了模型在開始時生成影像的能力,而 Latte 的架構則不能。插入的 attention 使引數數量從580M增加到724M。

借鑑 PixArt-α 和 Stable Video Diffusion 的成功經驗,我們還採用漸進式訓練策略:在 366K 預訓練資料集上使用 16x256x256,然後在 20K 資料集上使用 16x256x256、16x512x512 和 64x512x512。透過縮放位置嵌入,該策略大大降低了計算成本。

我們還嘗試在 DiT 中使用 3D 補丁嵌入器。然而,在時間維度上進行 2 倍下采樣,生成的影片質量較低。因此,我們在下一個版本中將下采樣留給時間 VAE。目前,我們在 16 幀訓練中每 3 幀取樣一次,在 64 幀訓練中每 2 幀取樣一次。

我們發現資料的數量和質量對生成影片的質量有很大的影響,甚至比模型架構和訓練策略還要大。此時,我們只准備了 HD-VG-130M 的第一個分割(366K 影片剪輯)。這些影片的質量參差不齊,而且字幕也不太準確。因此,我們進一步從提供免費許可影片的 Pexels 收集了 20k 個相對高質量的影片。我們使用 LLaVA(一種影像字幕模型)來標記影片,其中包含三個幀和一個設計好的提示。透過精心設計的提示,LLaVA 可以生成高質量的字幕。

隨著我們更加重視資料的質量,我們準備在下一個版本中收集更多資料並構建影片預處理管道。

最新成果展示
以下是經過壓縮的影片 gif 動圖以及簡化的提示詞:

森林地區寧靜的夜景。 該影片是一段延時影片,捕捉從白天到黑夜的過渡,以湖泊和森林作為恆定的背景。

翱翔的無人機鏡頭捕捉到了海岸懸崖的雄偉美景,水輕輕地拍打著岩石底部和懸崖頂部的綠色植物。

瀑布從懸崖上傾瀉而下,注入寧靜的湖泊,景色雄偉壯觀。以相機角度提供了瀑布的鳥瞰圖。

夜晚繁華的城市街道,充滿了汽車前燈的光芒和路燈的氛圍光。

向日葵田充滿活力的美麗。向日葵排列整齊,營造出秩序感和對稱感。

寧靜的水下場景,海龜在珊瑚礁中游動。烏龜,有著綠棕色的殼。

專案開源地址:https://github.com/hpcaitech/Open-Sora

團隊表示 Open-Sora 專案目前處在早期階段,並將持續更新。

相關文章