16幀1024×1024視頻耗時僅16秒!64倍壓縮助力高效視頻生成:復旦&微軟發布Reducio-DiT
文章鏈接:https://arxiv.org/pdf/2411.13552
項目鏈接:https://github.com/microsoft/Reducio-VAE
亮點直擊
- 將視頻編碼為極少量的運動隱變量和一個內容圖像,其中設計的 Reducio-VAE 可以將視頻壓縮到比常見的二維VAE 小64倍的隱變量空間。
- 基于Reducio-VAE,通過結合額外的圖像條件設計了一個名為Reducio-DiT的擴散模型。
- 實驗表明,Reducio-DiT可以顯著加速生成過程,同時生成高質量的視頻。
總結速覽
解決的問題
- 商用視頻生成模型雖然能生成逼真的高保真結果,但因昂貴的訓練與推理成本,難以大規模應用。
- 視頻包含比圖像更多的冗余信息,現有方法未充分壓縮視頻的運動信息表征。
提出的方案
- 設計了一個圖像條件變分自編碼器(Image-Conditioned VAE),將視頻編碼為極度壓縮的運動隱變量(Motion Latents)。
- 提出Reducer-DiT方法,通過極大程度減少隱變量的數量來提高視頻生成效率。
- 采用兩階段視頻生成范式:文本到圖像和文本-圖像到視頻。
應用的技術
- Reducer Charm:通過圖像條件 VAE,隱變量數量減少64 倍,而不犧牲視頻質量。
- 擴散模型(Diffusion Model):在壓縮的隱變量表示上進行訓練和生成。
- 高效的 GPU 資源利用:總訓練耗時3.2K GPU時,使用單張 A100 GPU 實現快速生成。
達到的效果
- 大幅提升視頻隱變量擴散模型(Video LDMs)的訓練和推理效率。
- 支持生成1024×1024 分辨率、16 幀的視頻,耗時僅15.5 秒。
- 在有限的 GPU 資源下實現了高質量視頻生成,評估性能表現優異。
Reducio
Reducio 視頻自動編碼器
變分自編碼器 (VAE)
將輸入的圖像或視頻投影到服從特定分布的壓縮隱變量空間,并通過解碼器將從分布中采樣的隱變量映射到 RGB 空間。隱變量擴散模型 (LDM)利用 VAE 的下采樣隱變量空間以支持更高效的生成。本文遵循這一通用方法,并基于 VAE 構建我們的視頻自動編碼器。
視頻的 Reducio 魔咒
Reducio 擴散Transformer
得益于 Reducio-VAE 的魔法壓縮能力,以4096的下采樣因子將輸入視頻投影到壓縮隱變量空間,從而顯著加速了擴散模型的訓練和推理過程。采用 DiT-XL模型,并遵循 PixArt-α 的大部分設計選擇,例如使用 AdaLN 單模塊、帶有 Flan-T5-XXL 文本條件的交叉注意力層。訓練目標遵循反向擴散過程,其可表示為:
為了將圖像擴散模型適配到視頻,考慮了兩種選擇:
(1) 直接將 2D 注意力轉換為完整的 3D 注意力,而不添加額外的參數。
(2) 添加時間層,并將模型轉換為執行 2D 空間注意力加 1D 時間注意力。
本文默認采用選項 (1)。
此外,為了針對圖像條件的視頻生成,引入了 Reducio-DiT(如下圖 3 所示),并加入了額外的圖像條件模塊,如下所述。
內容幀模塊包括一個基于預訓練 OpenCLIP ViT-H 的語義編碼器和一個初始化為 SD2.1-VAE 的內容編碼器。前者將內容幀投影到高級語義空間,而后者主要專注于提取空間信息。將獲得的特征與由 T5 輸出的文本token進行拼接,形成圖像-文本-聯合條件,然后將其與帶噪聲的視頻隱變量進行交叉注意力操作。具體來說,詳細的操作可以描述為:
在常規視頻擴散模型中,放大到高分辨率視頻需要消耗大量計算資源。然而,Reducio-DiT 在很大程度上緩解了這一限制。為了支持高分辨率(例如,10242)的視頻生成,采用了漸進式訓練策略:
- 在訓練的第一階段,模型學習將視頻潛空間與圖像-文本先驗對齊,輸入大量的 2562 視頻;
- 在第二階段,我們對分辨率更高的視頻(即 512×512)進行微調。因此,內容編碼器與帶噪聲隱變量一起增強了 4 倍的token;
- 在第三階段,對空間分辨率大約為 1024 的視頻進行進一步微調,采用多角度增強。
實驗
訓練與評估細節
Reducio-VAE 在一個由 Pexels* 收集的 40萬視頻數據集上進行訓練。Pexels 提供了大量免費的高質量素材視頻,每個視頻都附帶簡短的文本描述。我們從頭開始訓練 Reducio-VAE,使用的是 256×256 分辨率、16 幀每秒(FPS)的視頻。需要注意的是,我們將高分辨率的視頻按空間維度分割為多個小塊。為了進行 VAE 比較,使用 PSNR、SSIM 、LPIPS 和重建 FVD (rFVD)作為評估指標。
Reducio-DiT 在上述 Pexels 數據集和一個包含 500 萬個高分辨率文本-視頻對的內部數據集上進行訓練。本文采用多階段訓練策略,將模型從低分辨率訓練到高分辨率。首先在 4 塊 Nvidia A100 80G GPU 上以批量大小 512 訓練 Reducio-DiT-256,訓練約 900 個 A100 小時,并使用 PixArt-α-256初始化模型權重。然后,我們在 5122 視頻上進行短時間微調,訓練 300 個 A100 小時,得到 Reducio-DiT-512。在第三階段,我們從 40 個寬高比桶中隨機采樣視頻批次,這與 PixArt-α 中的設置相同。我們使用 8 塊 AMD MI300 GPU 支持批量大小為 768 的訓練,并微調 Reducio-DiT-1024,訓練 1000 個 GPU 小時。
本文采用 DPM-Solver++ 作為高效推理的采樣算法,并將采樣步驟設置為 20。對于下表 2 中的評估,我們計算在單塊 A100 80G GPU 上生成 16 幀視頻片段的速度,并將內存溢出token為 OOM。對于 Reducio-DiT,我們使用 PixArt-α-256 和 PixArt-α-1024 分別生成 2562 和 10242 視頻的內容幀。我們報告了在零-shot 設置下,Reducio-DiT-512 在 UCF-101 和 MSR-VTT 上的 FVD 和 IS 分數。由于我們的方法是一種兩階段視頻生成方法,要求使用條件圖像先驗,按照 MicroCinema 的做法,使用 SDXL 生成所有評估的條件圖像,包括在 UCF-101 和 MSR-VTT 上的 FVD 評估。此外,還在最近的視頻生成基準 VBench 上評估了 Reducio-DiT-512。
主要結果
Reducio-VAE 保留了視頻輸入的細節。下圖 4 展示了由 SDXL-VAE 和 Reducio-VAE 重建的 2562 視頻的第一幀和最后一幀,黃色框框突出顯示了細節上明顯不同的區域。盡管 SDXL-VAE 會造成損壞和模糊,Reducio-VAE 通常能保持中間幀中的微妙紋理。
下表 1 也反映了 Reducio-VAE 在定量重建指標上的優勢,例如 PSNR、SSIM 和 LPIPS,這些是在 Pexels 上隨機抽取的 1K 視頻驗證子集(每個視頻時長 1 秒)上的評估結果,并且在 UCF-101 和 Pexels 上進行了 FVD 測試。
從表中可以看出,Reducio-VAE 在整體重建性能上具有明顯優勢。具體來說,我們的模型在 PSNR 上比現有的最先進 2D VAE(例如 SD 2.1-VAE 和 SDXL-VAE)高出超過 5db。此外,與最近文獻中專門為視頻設計的 VAE(如 OmniTokenizer 和 OpenSora-1.2)相比,Reducio-VAE 也表現出更好的性能。我們的 VAE 還優于與之同時發布的 Cosmos-VAE,該模型也采用了進一步壓縮的視頻潛空間,Reducio-VAE 在 SSIM 上高出 0.2,并且在 PSNR 上高出 5 db,且下采樣因子高達 8 倍。
Reducio-VAE 在 UCF-101 上的 rFVD 比其他方法差。通過仔細檢查,我們發現選定的先驗內容圖像在許多情況下因為 UCF-101 視覺質量較低而導致模糊,從而導致重建質量較差。相比之下,Reducio-VAE 在 Pexels 上的 rFVD 排名第一,Pexels 中的視頻具有更高的視覺質量和更高的分辨率。
Reducio-DiT 在效率和性能之間取得了良好的平衡。由于我們使用了極其壓縮的潛空間,我們的擴散模型的訓練成本與文本到圖像的擴散模型相似。經過僅 3.2K A100 小時的訓練,我們的模型在 UCF-101 上的 FVD 得分為 318.50,在 MSR-VTT 上為 291.0,并且在 VBench 上的得分為 81.39,超越了表 2 中記錄的一系列以前的最先進視頻 LDM。下圖 5 展示了 Reducio-DiT 與另外兩個最先進的圖像到視頻模型的比較。雖然 DynamicCrafter 和 SVD-XT 都未能生成與給定內容幀一致的穩定幀,Reducio-DiT 則能生成具有高視覺質量且面部細節未被損壞的內容幀。
消融研究
Reducio-VAE 設計
增加隱空間通道有助于提高重建性能,如下表 4 所示。當 z 從 4 增加到 16 時,重建視頻的 PSNR 增加了 2.71 db。然而,增加隱空間通道會出現天花板效應,將 z 設置為 32 幾乎不會在 PSNR 和 SSIM 上帶來進一步的提升。因此,選擇將隱空間的大小設置為 |z| = 16 作為 Reducio 的默認設置。下圖 6 展示了一個視覺上的定性比較,其中比較了 |z| = 16、8 和 4 時的結果。
使用交叉注意力融合在下表 5 中取得了最具競爭力的性能。對于基于加法的融合,我們將內容幀特征輸入卷積,并在時間維度上復制輸出。然后,我們將視頻特征與內容特征加在一起,并加入時間嵌入。關于基于線性融合的方法,我們將內容條件視為單幀視頻特征,并將其與視頻特征按時間維度拼接。拼接后的特征通過 3D 卷積層進行精煉。如表 5 所示,基于注意力的 Reducio-VAE 在 PSNR 上比其他基準高出 1.71,SSIM 上高出 0.01,但計算成本較高。默認情況下,我們展示的是使用基于注意力的融合方法的結果。請注意,表 5 中展示的所有 Reducio-VAE 都共享相同的 3D 編碼器,因此具有相同的隱空間,用戶可以根據不同的資源限制選擇任何解碼器。
Reducio-DiT的設計
對于DiT的消融實驗,我們在Pexels數據集上進行了每個實驗300個A100小時的訓練,并在UCF-101上報告了FVD和IS得分。
使用聯合時空注意力(3D 注意力)在生成質量上優于使用分解的空間和時間注意力(即 2D + 1D 注意力)。有趣的是,我們觀察到分解注意力導致訓練損失的收斂速度更快。然而,正如下表 7 所示,在相同的訓練步驟下,分解注意力在 FVD 上落后于聯合 3D 注意力 45 點。推測可能的原因是 2D + 1D 方案需要添加額外的時間層,并對每個小的 token 集進行分解自注意力,使得在輕量計算下很難建模平滑的開放集運動。相比之下,3D 注意力直接利用原始參數,并協作所有時空 tokens。
同時融合語義信息和內容信息有助于獲得最佳質量。如下表 8 所示,單獨使用語義特征(即基于 OpenClip 的特征)可能導致視覺細節失真,從而導致較低的 FVD。另一方面,使用基于內容的特征有助于使視頻更加平滑和穩定,盡管其運動不夠多樣化,從而實現更高的 FVD。下圖 7 中展示了一個對比示例。內容和語義特征的協同作用幫助 Reducio 在內容一致性和運動豐富性之間取得最佳平衡。
結論
視頻生成在許多潛在應用中展現了良好的前景,但仍然受到不可承受的計算成本的限制。本文探討了如何通過減少隱空間的大小來有效降低開銷。特別地,我們發現借助內容圖像先驗,視頻可以被編碼成極度壓縮的隱空間表示,其中隱空間編碼只需表示運動變量。基于這一觀察,設計了 Reducio-VAE,將視頻壓縮為 4096 倍更小的隱空間表示。利用這個強大的 Reducio-VAE,我們訓練了 Reducio-DiT,實現了快速的高分辨率視頻生成。我們的方法也與其他加速技術兼容,例如修正流,允許進一步的加速,未來我們將對此進行進一步探索。
局限性和未來工作。盡管 Reducio-DiT 在與中心幀的一致性方面展現了強大的能力,但生成的視頻仍然相對較短(16幀,16fps,即 1 秒),不適用于現實世界中的應用。鑒于視頻的長度,生成視頻中的運動幅度也有所限制。相信將我們的工作適應更長視頻生成的潛力,并將在未來進行探索。
本文轉自AI生成未來 ,作者:AI生成未來
