自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀

發(fā)布于 2024-10-14 15:01
瀏覽
0收藏

一、背景

前段時間 Meta 發(fā)布了對標 OpenAI SORA 和快手可靈的視頻生成模型 Movie Gen,這里我們進行相關的技術解讀。本文主要聚焦在其圖像和視頻生成模型部分,進行詳細介紹;然后對視頻個性化、編輯和音頻生成進行簡單概述。

對應的論文:Movie Gen: A Cast of Media Foundation Models

對應的 Blog:How Meta Movie Gen could usher in a new AI-enabled era for content creators

更多的 Video:Meta Movie Gen

我們在之前的文章中也詳細介紹過各種文生圖相關的技術方案、OpenAI SORA 技術原理以及 Meta 的 LLaMA 3 技術報告和大規(guī)模 GPU 集群建設,可以參考:

二、摘要

Movie Gen 是一組基礎模型,可生成具有不同寬高比、同步音頻的高質量 1080P 高清視頻。此外,作者還展示了其他的能力,比如基于指令的精確視頻編輯、根據(jù)用戶圖像生成個性化視頻等。

作者的模型在多個任務上都達到了新的 SOTA 水平,包括:文本->視頻生成、視頻個性化、視頻編輯、視頻->音頻生成、文本->音頻生成等。

最大的視頻生成模型是一個 30B 參數(shù)的 Transformer 模型,經(jīng)過訓練,最大上下文長度可達 73K 視頻 Token,對應以每秒 16 幀的速度生成 16 秒的視頻。此外,作者還展示了相應的多項技術創(chuàng)新和簡化,比如模型結構、隱空間、訓練目標和方案、數(shù)據(jù)管理、評估以及并行化方案和推理優(yōu)化方案,使得能夠從擴展預訓練數(shù)據(jù)、模型大小以及訓練預算中獲益,以最終訓練大規(guī)模視頻生成模型。

三、概覽

總體來說,Movie Gen 包含 4 個模型以及 3 個基準。

3.1 四個模型

與 LLM 模型不同,LLM 聚焦與生成文本,而本文的 Movie Gen 模型聚焦于生成圖像、視頻和音頻。包含 2 個基礎模型、1 個個性化模型以及一個編輯模型。

兩個基礎模型為:

  • Movie Gen Video:包含一個30B 參數(shù)量的基座模型,可用于文本->圖像、文本->視頻生成。支持可變寬高比、分辨率以及時長。在 O(100)M 視頻和 O(1)B 圖像上訓練,作者發(fā)現(xiàn),預訓練的模型可以推理物體動作、交互、幾何、相機移動和物理學。為了進一步提升視頻生成能力,額外在小規(guī)模高質量的視頻和文本數(shù)據(jù)集上進行 SFT。
  • Movie Gen Audio:包含一個13B 參數(shù)量的基座模型,可用于文本->音頻、視頻->音頻生成。支持遵循文本提示,生成 48kHz 的高質量電影音效以及與視頻輸入同步的音樂等。在O(1)M 小時的音頻上預訓練,并且在一個小規(guī)模的高質量(文本、音頻)、(視頻、文本、音頻)數(shù)據(jù)集上 SFT,以生成高質量音頻。

如下圖所示為上述兩個模型的使用示例:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

個性化模型和視頻編輯模型為:

  • Personalized Movie Gen Video:提供視頻個性化能力,可以輸入一個個人圖片,然后生成針對這個人的個性化視頻。在Movie Gen Video 基礎上使用包含人類的視頻子集(自動構建了圖像-文本對輸入和視頻輸出數(shù)據(jù)) Post Training而來。
  • Movie Gen Edit:允許用戶使用文本說明輕松地對真實和生成的視頻進行精確和富有想象力的編輯。同樣在Movie Gen Video 基礎上 Post Training 而來。

如下圖所示為上述兩個模型的使用示例:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

3.2 三個基準

為了更好的進行基準評估,作者也進一步發(fā)布了 3 個評估基準:

  • Movie Gen Video Bench:用于評估視頻生成能力,總共包含 1000 個 Prompt,涉及各種不同的元素。
  • Movie Gen Edit Bench:用于評估視頻編輯能力,總共包含 1152 個樣本,涉及 6 個不同的編輯任務。
  • Move Gen Audio Bench:用于評估音頻生成能力,總共包含 538 個樣本。

四、圖像和視頻生成

4.1 概覽

針對文本->圖像和文本->視頻生成,作者訓練了一個統(tǒng)一的基座模型。作者將圖像看做一個單幀的視頻,給定一個文本提示作為輸入,模型可以生成包含一個或多個 RGB 圖像作為輸出的視頻幀。

如下圖 Figure 2 所示為 Movie Gen Video 模型的訓練過程,其包含 3 個階段:

  • 256 px Image Training:使用 256 分辨率的圖像-文本對訓練文本->圖像生成模型,使用 O(1) B 圖像數(shù)據(jù)集,訓練總共迭代 1.94B 個 Sample。
  • 256->768 px Video Training:
  • 使用 256 分辨率混合訓練文本->圖像和文本->視頻能力,包含 O(100)M 切片數(shù)據(jù)集,訓練總共迭代 394.8M 個 Sample。
  • 使用 768 分辨率混合訓練文本->圖像和文本->視頻能力,包含 O(100)M 切片數(shù)據(jù)集,訓練總共迭代 73.8M 個 Sample。
  • 個性化、編輯模型訓練:基于上述的基座模型 Post Training。?

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

為了提升訓練和推理效率,生成是在壓縮的時空隱空間(spatio-temporally latent space)進行。因此作者訓練了一個時序自編碼模型(Temporal Autoencoder Model,TAE),以便將圖像、視頻編碼到壓縮的時空隱空間。對于用戶輸入的文本提升,使用預訓練的 Text Encoder 模型進行編碼,以獲得文本 Embedding,這也將作為生成模型的 Condition 輸入。此外,作者使用 Flow Matching 訓練目標來訓練生成模型。將采樣噪聲和所有 Condition 作為輸入,使 Generative 模型生成輸出隱向量。然后使用 TAE 的 Decoder 將其映射回像素空間,以便生成圖像和視頻。整個過程如下圖 Figure 3 所示(包含了上述的 TAE、Text Encoder 以及 Generative 模型):

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

在對基座模型的所有組件進行設計選型時,作者都盡量注重簡單化,包括訓練目標、主干架構以及 TAE 的時空壓縮。具體來說,這些選擇包括:

  • 使用 LLaMA 3 作為統(tǒng)一的圖像、視頻生成模型主干架構,以便更簡單的擴展和高效訓練;
  • 最大的 30B 模型可以直接生成不同寬高比(比如 1:1,9:16,16:9)、多種長度(4-16s)的視頻(768x768);
  • 此外,使用空間上采樣(Spatial Upsampling)模型可以進一步生成全高清 1080P 的視頻。

4.2 圖像、視頻基座模型

4.2.1 TAE 模型

上述提到的 TAE 模型是一個標準的 VAE(Variational AutoEncoder)模型。假設輸入的空間維度為 T’ x 3 x H’ x W’,經(jīng)過 TAE 的 Encoder 后將編碼為 T x C x H x W 的隱空間向量,在空間、時間維度均是 8 倍下采樣,也就是 T’/T=H’/H=W’/W=8;而 Decode 是 8 倍上采樣。通過這種方式,可以大幅降低輸入生成模型(Transformer Backone)的維度,以便生成長時間、高分辨率的視頻幀。如下圖 Figure 4 所示為相應的流程:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

TAE 模型結構來自 [2112.10752] High-Resolution Image Synthesis with Latent Diffusion Models (也就是 Stable Diffusion)中的 Image AutoEncoder 模型,并進行相應的修改以增加時序信息。具體來說:

  • 每一個 2D 空間卷積后增加一個 1D 時序卷積,稱為2.5D Convolution;每一個 2D 空間 Attention 之后增加一個 1D 時序 Attention,稱為2.5D Attention。
  • 所有時序卷積兩邊對稱 Padding。
  • 時序卷積通過 stride 為 2 來實現(xiàn)下采樣,上采樣時采用最近鄰插值。
  • Channel 維度 C = 16,作者同樣發(fā)現(xiàn)增加 Channel 維度可以提升重建和生成質量。
  • TAE 訓練時采用了預訓練的 Image AutoEncoder 模型來初始化,并增加時序參數(shù)。
  • 聯(lián)合圖像和視頻進行序列,圖像 Batch 和視頻 Batch 的比例為 1:3。

TAE 模型的訓練目標:如下圖 Figure 5 所示,之前 StableDiffusion 中的訓練目標容易導致 Spot Artifact 問題,為了緩解這個問題,作者在損失函數(shù)上增加了一個異常損失懲罰(Outlier Penalty Loss,OPL),如下圖公式 (1) 所示:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

通過時序 tiling 實現(xiàn)高效推理:直接編碼、解碼高分辨率長視頻的代價很高,比如 1024x1024 分辨率、256 幀需要非常大的存儲空間。為了解決這個問題,作者在時序維度將長視頻切分為不同的 tile,然后每個 tile 分別進行編碼和解碼,最后再將結果融合到一起。在切片的時候允許一定的 Overlap,如果執(zhí)行 Overlap,則結果要對應線性加權。使用 Overlap 可以避免邊界處的 Artifact,但是也會引入額外的計算開銷。在作者的實踐中,Encoder212!!@2121 并沒有使用 Overlap,對應的 tile size 為 32(32個視頻幀,降采樣后對于隱空間 4 幀);而在 Decoder 中使用了 16 幀的 Overlap(對應隱空間 2 幀)。如下圖 Figure 6 所示為推理階段對應的切片方案:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

4.2.2 視頻和圖像生成訓練目標

生成模型訓練采用了 [2210.02747] Flow Matching for Generative Modeling 提出的 Flow Matching 框架。

4.2.3 視頻和圖像生成 Backbone 架構

采用了類 LLaMA 3 模型架構,并且使用了 RMSNorm 和 SwiGLU。主要做了 3 點改造:

  • 為了集成基于文本提示提取的文本 Embedding 作為 Condition,在每一個 Transformer Block 的Self-Attention 和 FFN 之間插入一個 Cross-Attention。當然,作者使用了多個文本模型來提取 Embedding。
  • 增加了一個Adaptive Layer Norm Block以便集成時間步長 t,類似[2212.09748] Scalable Diffusion Models with Transformers。
  • 使用雙向 Full Attention,而不是 Causal Attention。

對應的模型超參如下圖 Table 1 所示,共包含 30B 參數(shù)量,因為直接基于 LLaMA 3 改造而來,也就可以直接應用 LLaMA 3 的相關經(jīng)驗,比如模型結構超參配置,學習率和 Batch Size 設置等。

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

4.2.4 豐富的文本 Embedding 和視覺-文本生成

如下圖所示,作者使用了 3 個預訓練的文本 Embedding 模型:UL2、ByT5 和 Long-prompt MetaCLIP,以便提前語義級(Semantic-Level)和字符級(Character-Level)文本 Embedding。

  • Long-prompt MetaCLIP 是基于 MetaCLIP 的文本 Encoder 在長文本描述數(shù)據(jù)上微調而來,以將輸入文本 Token 長度從 77 擴展到 256。
  • 針對 3 個模型,會分別提取文本 Embedding,然后Concat 到一起并通過一個線性投影和 LayerNorm 層將其投影到 6144 維的歸一化向量。
  • UL2 和 Long-prompt MetaCLIP 用于提取語義級 Embedding。
  • ByT5 用于提取字符級 Embedding,僅用于編碼視覺文本,比如明確要求輸出結果中包含特定的字符串(“No,Movie Gen is the best”)。?

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

控制 FPS:使用 FPS Condition 來控制生成視頻的長度,方法是將每個訓練視頻的采樣 FPS 值預先添加到輸入文本提示(例如,“FPS-16”)。在預訓練期間,以原始 FPS 采樣視頻切片,最小維 16 FPS;在微調中,以 16 和 24 兩個固定 FPS 值采樣視頻切片。

4.2.5 空間上采樣

需要說明的是,上述的模型生成最終只能生成 768 px 的視頻,作者用過一個空間上采樣模型(Spatial Upsample)將 768 px 的視頻轉換為 full HD(1080P) 分辨率的視頻??梢源蠓档鸵曨l生成模型的計算開銷,主要是低分辨率會大幅降低文本->視頻模型處理的 Token 數(shù)。

如下圖 Figure 7 所示,作者將空間上采樣看做一個視頻->視頻的生成任務,低分辨率視頻作為輸入,高分辨率視頻作為輸出。

  • 低分率輸入視頻在輸入模型之前首先經(jīng)過雙線性插值擴展到期望的輸出大小,然后經(jīng)過 VAE 模型生成高分辨率視頻。
  • VAE 模型同樣是使用 Encoder 將每個視頻幀編碼到隱空間的隱向量,然后隱空間模型會生成用于高分辨率的隱向量,最后使用 Decoder 來生成高分辨率視頻幀。?


實現(xiàn)細節(jié):空間上采樣模型是一個文本->視頻 Transformer 模型的變種,包含 7B 參數(shù)量,并使用 1024 px 訓練的文本->視頻模型來初始化,以便更好的利用高分辨率圖像數(shù)據(jù)。空間上采樣模型訓練用于預測視頻的隱向量,然后使用 VAE Decoder 逐幀生成視頻幀。

如下圖 Fig 3 所示,在 [2311.10709] Emu Video: Factorizing Text-to-Video Generation by Explicit Image Conditioning(也是 Meta 的工作) 中,首先會使用文本提示生成視頻首幀 I,然后將生成的首幀 I 作為條件輸入,同時使用 Mask m 標識首幀 I,然后使用生成模型 F 生成視頻 V。


與上述 Emu Video 類似,空間上采樣模型中編碼視頻在通道維度也會與生成視頻拼接,一起輸入空間上采樣 Transformer 模型。由于拼接,輸入初的附加參數(shù)也將初始化為 0。

作者在 400K 高清視頻上以 24 FPS、14 幀切片的方式訓練空間上采樣模型。 并且采用了二階退化([2107.10833] Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data)來模擬輸入中的復雜退化,以訓練模型生成高清輸出視頻。訓練時采用的是已有的高清視頻,而推理時使用的是經(jīng) TAE Decoder 解碼的視頻,為了最小化訓練-測試偏差,也會使用 TAE 生成的視頻隨機替換二階退化的視頻。此外,作者觀察到,只經(jīng)過 20 個推理 Step 就可以生成一個很好的結果視頻。

這種簡單的架構可以用于各種倍數(shù)的超分辨;然而,本文中作者只訓練了 2x 的空間超分模型。與上述 TAE tail 類似,同樣會使用滑動窗口方式對視頻進行上采樣,窗口大小為 14,重疊 4 個 Latent 幀。

這種簡單的架構可用于各種倍數(shù)的超分辨率;然而,我們?yōu)槲覀兊陌咐柧毩艘粋€ 2? 的空間超分辨率模型。與 TAE 平鋪(第 3.1.1 節(jié))類似,我們使用滑動窗口方法對視頻進行上采樣,窗口大小為 14,重疊 4 個潛在幀。

內存限制導致無法使用更長的視頻訓練 Spatial Upsample。所以才使用上述滑動窗口的方案,然而,這也導致在邊界處出現(xiàn)明顯不一致的現(xiàn)象。為了避免這種情況,作者采用了 MultiDiffusion([2302.08113] MultiDiffusion: Fusing Diffusion Paths for Controlled Image Generation)方案,其無需訓練,可以通過約束條件來保證不同生成階段的一致性。具體來說,在每個 Denoising Step 中,使用重疊幀隱向量的加權平均值來促使窗口間的信息交換,以增強輸出的時序一致性。

4.2.6 模型擴展和訓練效率

這個部分作者具體介紹了高效訓練  Movie Gen Video 30B 模型的方案,包括 Meta 的 AI Infra 建設,與 SOTA 模型訓練的對比以及采用的分布式并行策略等。

Infrastructure:我們在前面的文章中介紹過,Meta 有 2 個 24K H100 GPU 的 Data Center,一個是 NVIDIA Quantum2 Infiniband(IB) 網(wǎng)絡互聯(lián),一個是 RoCE 互聯(lián),其中 RoCE 集群采用 3 層 Clos 網(wǎng)絡。

  • 每個 Rack包含 2 個 Server,每個 Server 有 8 個 H100 80GB GPU,8 個 400 Gbps NIC。每個 Rack 中都有一個 TOR(top-of-the-fack) Switch。
  • 每個 Cluster包含 192 個 Rack,共 192x2x8=3072 個 H100 GPU,Cluster 內部的后向網(wǎng)絡是無收斂的,而跨 Cluster 是 1:7 的收斂比。?


Scheduler:訓練任務調度采用的是 Meta 在 MAST: Global Scheduling of ML Training across Geo-Distributed Datacenters at Hyperscale 中提到的 MAST。MAST 的設計原則是:時間解耦(Temporal decoupling)、范圍解耦(Scope decoupling)和全面搜索(Exhaustive search),使得 MAST 能夠在全局范圍內有效地調度復雜的 ML 訓練工作負載。如下圖 Figure 1 所示,MAST 架構包含全局 ML 調度器(GMS)、區(qū)域 ML 調度器(RMS)和集群管理器(CM),它們分別在全局、區(qū)域和 Cluster 范圍內處理不同的調度職責。此外,MAST 還利用了 Tetris 系統(tǒng),可以優(yōu)化跨區(qū)域數(shù)據(jù)放置,確保數(shù)據(jù)和 GPU 在同一個位置。


與 LLM 對比:LLM 通常采用 Causal Mask Attention,而 Movie Gen Video 中采用雙向 Full Attention,這樣就導致 Movie Gen Video 中 Attention 計算代價更高,幾乎是 LLM 的 2x。

此外,在 LLaMA 3 中會使用 GQA 來代替 MHA,以便降低 KV Cache 大小和計算量,推理時也可以進一步加速。由于 Movie Gen Video 不是自回歸模型,也就不需要 KV Cache,因此作者并沒有采用 GQA。

和 LLaMA 3 類似,模型同樣支持可變的上下文長度,上下文長度與空間分辨率密切相關。對于 768x 的訓練,其上下文長度將達到 73K(768x768, 256 幀,8x8x8 的下采樣 -> 768x768x256/8/8/8=294912,得到 294912 個隱向量,然后使用 3D 卷積(2x2x1)得到 73728 個 Token)。LLM 通常先在短上下文(比如 4K、8K)上預訓練,然后擴展到長上下文,主要訓練預算花費在短上下文預訓練上;而 Movie Gen Video 的訓練主要花費在 768x 的預訓練上。

模型并行:由于模型比較大,上下文序列很長,同時又是主要的訓練開銷,因此就需要盡可能高效的訓練。為此,作者采用了 3D 并行策略,允許靈活的擴展 GPU 規(guī)模;具體來說,作者結合了 FSDP、TP、SP(Megatron-LM SP) 和 CP(Megatron-LM CP) 方案。

序列并行的方案有很多,上述提到 SP 和 CP 與 Megatron-LM 對應。如下圖 Figure 5 所示為 Megatron-LM SP,其主要是為了解決 TP 中無法分攤的顯存。作者分析后發(fā)現(xiàn) LayerNorm 和 Dropout 的輸入輸出沒有被分攤到不同的 GPU。實際上它們在不同的 Token 上并沒有依賴關系,因此可以按照 Sequence 維度進行切分,不同 GPU 只保留序列的一部分,也只計算這一部分:


在 Megatron-LM 中還有Megatron-LM CP(上下文并行,Context Parallelism),實際上就是按照輸入序列進行切分。如下圖所示為 Megatron-LM 中 TP 和 CP 的組合,其中 AG/RS 表示 Forward 為 All Gather,Backward 為 Reduce Scatter;RS/AG 表示 Forward 為 Reduce Scatter,Backward 為 All Gather。具體可參考 Context parallelism overview - NVIDIA Docs:


如下圖 Figure 8 所示,作者展示了本文中如何在 Transformer 模型的不同部分應用這些并行方案:

  • Tensor Parallelism(TP):在FFN 層各個 Token 之間沒有交叉,直接采用 TP,對模型參數(shù)進行切分;當然,也就在 Forward 和 Backward 過程額外引入了 AllReduce 通信操作。
  • Sequence Parallelism(SP):對應NVIDIA Megatron-LM SP,在 TP 的基礎上可以進一步使用 SP。具體來說,Scale 和 Norm 等操作按照序列維度切分,每個設備只處理一部分序列。如果不這么做,將導致部分層(比如 LayerNorm)出現(xiàn)重復計算,在不同的 TP Group 產(chǎn)生相同的激活。
  • Context Parallelism(CP):對應NVIDIA Megatron-LM CP,在輸入序列維度切分,具體來說,將輸入序列切分為不同的 Chunk,每個設備處理一部分的 Token,然后通過通信來實現(xiàn) Attention 到其他 Chunk 的 Token。CP 主要應用在 Attention 計算中,不過在 Self-Attention 和 Cross-Attention 中實現(xiàn)方式會不太一樣:
  • Cross-Attention 的 Contexts(對應 K 和 V) 是一些 Condition,往往不會特別長,因此不用 CP 切分;對應FSDP + TP + SP。
  • Self-Attention 中 Forward 過程通過 K 和 V 的 AllGather 來實現(xiàn) Attention 計算(不用傳輸 Q),Backward 過程通過 ReduceScatter 來傳遞相關梯度。對應FSDP + TP + SP + CP。
  • 由于 LLaMA 3 使用 GQA,而 Movie Gen Video 采用 MHA,K 和 V 的大小存在明顯差異,也就導致 K 和 V 的通信量存在明顯差異(比如 LLaMA 3 70B 會小 8x)。
  • Fully Sharded Data Parallel(FSDP):其實就是數(shù)據(jù)并行(Data Parallelism,DP),不過會將模型權重、優(yōu)化器狀態(tài)和梯度切分到所有 DP Group,然后在訓練中通過 Gather 和 Scatter 權重、梯度來實現(xiàn)同步。?

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

其他部分的切分:

  • Text Encoder:ByT5 和 Long-Prompt MetaCLIP 模型都很小,因此在所有 GPU 上都有一個完整的副本。UL2 稍微大點,但相比整個 Pipeline 還比較小,因此僅在 DP Group 的每個 TP rank 上使用 FSDP 切分。
  • TAE:僅包含較少的凍結參數(shù),但隨著輸入的增加,中間激活會非常大。此外,對 TAE 進行各種切分也并不容易,這導致數(shù)據(jù)預處理(TAE Encode)生成隱向量可能出現(xiàn)瓶頸,因此作者采用提前計算和緩存的方式來隔離這部分的影響,這也是常見的方案。

通信和計算重疊:雖然并行方案可以通過跨 GPU 切分 FLOP 和內存需求來訓練長序列 Transformer 模型,但是直接的實現(xiàn)可能帶來額外的開銷并導致效率低下。因此,作者構建了一個分析框架來對計算和通信時間進行建模,能夠識別出需要 GPU 間通信的重復 Activation,從而設計出高度優(yōu)化的模型并行方案。作者自定義了相關并行化實現(xiàn),用 PyTorch 編寫并編譯成 CUDAGraph,以最大限度的降低暴露的通信時間、提升可用的 Activation 內存。

4.3 預訓練

4.3.1 預訓練數(shù)據(jù)

預訓練數(shù)據(jù)集包含 O(100)M 視頻-文本對數(shù)據(jù)和 O(1)B 圖像-文本對數(shù)據(jù)。對于圖像-文本數(shù)據(jù)采用類似 [2311.10709] Emu Video: Factorizing Text-to-Video Generation by Explicit Image Conditioning 的方案,本文中作者主要聚焦在視頻數(shù)據(jù)。

數(shù)據(jù)池中包含 4s-120s 的視頻數(shù)據(jù),包含各種場景,比如人類、自然、動物和物體等,最終會生成 4s-16s 的視頻切片-文本對訓練數(shù)據(jù)集。如下圖 Figure 9 所示為其數(shù)據(jù)處理過程,總共包含 3 個過濾階段和 1 個描述生成階段:

  • Visual 過濾:6 種過濾手段來移除低質量視頻。包括:
  • 刪除長或寬小于 720 px 的視頻。
  • 控制數(shù)據(jù)集中的寬高比,最終 60% 橫屏視頻,40% 豎屏視頻。更傾向于橫屏視頻是因為它們的持續(xù)時間更長、美觀性更好且動作穩(wěn)定。
  • 使用視頻 OCR 模型去除包含太多文本的視頻。
  • 使用 FFmpeg 的場景邊界檢測來提取 4s-16s 的視頻幀。
  • 訓練了一個視覺模型來預測幀級的美觀度,視覺質量、大的邊界以及視覺效果,用于過濾。
  • 參考 Panda-70M,刪除視頻中起始的幾秒 ,因為其經(jīng)常包含一些不穩(wěn)定的相機移動或者過渡效果。
  • Motion 過濾:同樣參考 Emu Video,刪除很少動作的視頻。
  • 首先,使用內部的一個靜態(tài)視頻檢測模型刪除沒有任何動作的視頻。
  • 然后,根據(jù) VMAF Motion 分數(shù)和 Motion 矢量確定具有“合理”動作的視頻(FFmpeg)。為了刪除相機頻繁抖動的視頻,作者使用 PySceneDetect 庫中的鏡頭邊界檢測。
  • 最后,刪除了具有特殊動作效果的視頻,比如幻燈片視頻。
  • Content 過濾:確保預訓練數(shù)據(jù)集的多樣性。
  • 利用視頻幀的 Embedding 相似性去除重復的切片。
  • 采用重采樣技術來平衡不同類別的占比。具體來說,基于視頻-文本聯(lián)合 Embedding 進行聚類,然后根據(jù)每個聚類簇大小的平方根倒數(shù)進行采樣。
  • Captioning:使用 LLaMA3-Video 模型為視頻切片創(chuàng)建準確而詳細的文本描述。
  • 作者微調了 8B 和 70B 的模型變體,并使用它們來生成描述,整個訓練集中 70% 是 8B 模型生成,30% 是 70B 模型生成。
  • 為了實現(xiàn)影片級攝像機移動控制,作者還訓練了一個相機移動分類模型,可以預測 16 類相機移動,比如縮小、向左平移等。然后將高置信度的攝像機移動預測作為之前生成的文本描述的前綴。推理時,允許用戶顯示制定攝像機移動控制提示。?


如下圖 Table 38 所示為各階段的過濾閾值,最終只保留了不到 1% 的數(shù)據(jù):


多階段數(shù)據(jù)子集:作者整理了 3 個預訓練數(shù)據(jù)子集,具有逐漸嚴格的 Visual、Motion 和 Content 閾值,以滿足預訓練不同階段的需求。

  • 首先,使用最小寬度或高度為 720 px 的視頻切片進行低分辨率訓練。
  • 然后,篩選數(shù)據(jù)集,使用最小寬度或高度為 768 px 的視頻用于高分辨率訓練。
  • 最后,還會使用新的視頻來增強高分辨率訓練集,其包含 80% 橫屏視頻和 20% 豎屏視頻。此外,至少 60% 包含人類,在這個過程中,作者構建了一個600 個人類動作和表情的詞庫,然后使用 zero-shot 文本->視頻檢索的方式來篩選包含人類的視頻。在 Content 重采樣期間,保留了這些人類視頻的比例。

時長和大小分桶:為了支持不同的視頻長度和寬高比,作者根據(jù)寬高比和時長對數(shù)據(jù)進行分桶。每個桶中的視頻最終都會生成完全相同的隱空間大小,從而可以比較輕松地對訓練數(shù)據(jù)進行批處理。作者對圖像和視頻數(shù)據(jù)集使用 5 個寬高比,比如 1024x576,576x1024;此外,也包含 5 個時長桶(4s-16s)。通過在文本描述中添加 FPS Token 來引入 FPS 控制,從而允許以不同的幀率對視頻進行采樣(16-32 FPS)。

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

4.3.2 訓練

與 Emu Video 類似,作者的 30B 模型訓練同樣包含多個階段,如下圖 Table 3 所示:

  • 文本->圖像 Warmup 訓練:在 O(1) B 圖像數(shù)據(jù)集上訓練 T2I,并且使用 256 px。
  • 從頭開始訓練 T2I/V 模型非常慢,不如從 T2I 模型初始化訓練;
  • 相比使用 768 px 訓練,256 px 允許使用更大的 Batch Size,同時在相同的訓練預算下訓練更多的數(shù)據(jù)。
  • 訓練了210K Step,迭代 1.94B 個樣本(并不能確定數(shù)據(jù)集就是 1.94B,有采樣策略)。
  • 使用1536 個 GPU訓練,Token 比較少,也就不用 TP 和 CP。
  • 文本->圖像/視頻聯(lián)合訓練:接著聯(lián)合訓練文本->圖像和文本->視頻生成。為了聯(lián)合訓練,需要將來自 T2I 的空間位置嵌入(PE)加倍以適配可變比例,同時需要新增時序 PE 來最多支持 32 個 Latent Frame(32x8=256 個視頻幀)。256 px T2I 的圖像數(shù)據(jù)同樣會用于這個階段,和視頻數(shù)據(jù)的比例為 1:10。整個訓練分為兩個階段訓練:
  • 256 px T2I/V:Global Batch Size 1536,首先訓練 123K 個 Step;然后將 GPU 數(shù)量從 3072 擴展到 6144,相應 Global Batch Size 也加倍變?yōu)?3072,繼續(xù)訓練 72K Step,驗證損失可以快速下降。共訓練 185K 個 Step(123K + 72K=195K?),迭代 395M(4+ Epoch)個視頻樣本。(PS:這里前期訓練 3072 GPU,調度比較好的話可以完全放在一個 Cluster,是無收斂的,可以實現(xiàn)最優(yōu)性能;6144 GPU 也只需 2 個 Cluster。)
  • 768 px T2I/V:繼續(xù)在 768 px 分辨率訓練 74.5K 個 Step,迭代 73.8M 個樣本。?

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

如上圖 Table 3 所示,在上述 768 px T2I/V 聯(lián)合訓練過程中其實經(jīng)歷了多個子階段,主要不同就是學習率和相應 Batch Size 的改變。這是因為作者發(fā)現(xiàn)在訓練到 10K 個 Step 時驗證損失快速抖動并且不怎么下降。因此,在 19.6K 個 Step 時將學習率減半。同時后續(xù)當驗證損失不怎么下降時就降低學習率,如下圖所示:


4.4 微調

與之前的工作類似,作者同樣在一個小的高質量視頻數(shù)據(jù)集上微調預訓練模型來提升生成視頻的動作和美學質量。微調視頻和描述是人工構建的,因此作者將這個階段成為監(jiān)督微調。在這個階段作者訓練了多個模型,然后通過模型平均方案將它們組合起來成為最終的模型。雖然模型本身可以生成高質量的圖像,但是作者發(fā)現(xiàn)專門針對圖像的后訓練可以進一步提升質量,將在后續(xù)部分介紹。

微調數(shù)據(jù)集:目標是收集一組用于微調的高質量視頻,這些視頻具有良好的動作、真實度、美觀度,同時具有廣泛的概念和高質量的描述。為此,作者從大量視頻開始,經(jīng)過自動和人工過濾方案來獲取視頻,具體來說包含 4 個關鍵階段:

  • 建立一組候選視頻,然后使用自動化的過濾方案從美學、動作、場景變化等方面進行嚴格過濾。此外,還使用物體檢測模型刪除帶有小主體的視頻。此階段會產(chǎn)生幾百萬個視頻,但概念分布很不均衡。
  • 平衡視頻中的概念,同樣使用之前提到的 600 個人類動作和表情詞庫來實行文本 K-NN 方法,從視頻候選池中檢索每個概念的視頻。為每個概念手動挑選一些視覺上吸引人的種子視頻,并執(zhí)行視覺 K-NN 以獲得概念均衡的視頻子集。
  • 人工識別影級視頻,自動化的手段往往無法高精度、高召回的捕獲高質量微調視頻數(shù)據(jù)。為此作者改為人工篩選。以此來確保包含各種角度光照、生動(但不飽和)的色彩、無雜亂、非異常動作、無相機抖動、無編輯效果和無疊加文本的視頻。在此階段,標注員還會將視頻剪輯到所需的時長,并選擇視頻中最佳、最引入注目的片段。
  • 人工視頻描述,具體來說,標注員通過修正 LLaMA3-Video 生成描述中不正確的細節(jié)來確保包含某些關鍵視頻細節(jié)。包括攝像頭控制、人類表情、主體和背景信息、詳細動作描述和光照信息。在此階段,標注了另外 6 種相機移動和位置類型。微調視頻數(shù)據(jù)時長在 10.6s-16s 之間,實際上 50% 視頻時長 16s,剩余 50% 在 10.6s-16s 之間。

監(jiān)督微調方案:SFT 中,使用預訓練的 Checkpoint 初始化進行微調。使用了相對比較小的 Batch Size 和 64 個節(jié)點(512 H100 GPU)來訓練模型,并使用 Cosine 學習率調度。與預訓練類似,16s 視頻使用 16FPS 訓練,10.6s-16s 視頻使用 24FPS 訓練。經(jīng)過訓練,可以更好地支持 10s 和 16s 視頻生成。

模型平均:作者實驗表明,選擇不同的微調數(shù)據(jù)集、超參數(shù)以及 Checkpoint 會顯著影響模型效果,包括動作、一致性和相機控制。為了利用這些模型的不同優(yōu)勢,作者采用了模型平均方案。和 LLaMA 3 類似,對使用各個版本的微調數(shù)據(jù)、超參數(shù)和 Checkpoint 實驗獲得的模型進行平均。

4.5 推理

4.5.1 推理提示改寫

推理時的文本提示可能和訓練時有比較大的差異,比如寫作風格,長度等,比如很多用戶提示都少于 10 個單詞,遠小于訓練時提示的平均長度。為了減小差異,作者利用 LLaMA3(推理改寫模型,Rewrite Model) 將簡短提示轉換為詳細描述。具體來說:

  • 采用標準化的信息結構重新表述提示,確保視覺結構的一致性。
  • 通過更易于理解和直接的術語替換復雜的詞匯,從而提升提示的清晰度和可理解性。
  • 作者觀察到,對動作細節(jié)的過度詳細描述會導致生成視頻中引入偽影,因此要在描述豐富性和視覺保真度之間取得平衡。

為了提高 Rewrite Model 的計算效率,作者額外提出了一種蒸餾方案。具體來說,使用基座模型訓練集中的詳細提示說明和上下文學習示例,基于 LLaMA3-70B 模型構建提示改寫教師模型,然后收集人機協(xié)同(Human-in-the-loop,HITL)微調數(shù)據(jù)。具體來說,是使用 LLaMA3 70B 提示改寫模型對大規(guī)模 Prompt Pool 中的樣本進行推理,并按照質量指南通過人工評估選擇高質量的改寫。最后在篩選出的 HITL 數(shù)據(jù)集上微調了一個 8B LLaMA3 模型,得到最終的改寫模型。

4.5.2 提升推理效率

作者發(fā)現(xiàn),與圖像生成相比,視頻生成額外引入了時間維度,減少視頻生成中的推理步數(shù)比圖像生成更有挑戰(zhàn),視頻生成的動作質量等對推理步數(shù)更為敏感。比如,使用 250、500 和 1000 個線性步驟生成的視頻在場景構圖和動作質量方面有明顯的差異。雖然可以采用蒸餾等方案加速,但是需要引入額外的訓練,為此作者采用了一種比較簡單的純推理方案,只需幾行代碼就可以提速 20x。

作者發(fā)現(xiàn),通過實施線性二次 t-schedule,可以僅用 50 個 Step 就獲得接近 N Step 生成的質量。這種方法保留 N Step 線性 schedule 的前 25 個 Step,然后在后 25 個 Step 采用二次放置近似。這樣做是因為作者觀察到一些獨特的現(xiàn)象,如下圖 Figure 10 所示,作者統(tǒng)計了每個推理 Step 中每個 Transformer Block 輸入和輸出的平均變化??梢钥闯?,在前期變化很快,然后很快就趨近于比較穩(wěn)定,變化很小。實踐中,作者使用 50 Step 的線性二次 schedule 模擬 N=250 的線性 Step 可以獲得最佳結果。

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

4.6 評估

4.6.1 評估維度

作者從 3 個維度進行評估:文本對齊(Text-alignment)、視覺質量(Visual quality)以及真實度和美觀度(realness、aesthetics)。如下圖 Table 4 所示:

  • Text-alignment:評估生成的視頻與提供的提示的對齊程度。輸入提示可以包括主體外觀、動作、背景、相機移動、光照、樣式和視覺文本等。人工評估員要密切關注這些方面。
  • Visual Quality:與文本->圖像生成不同,生成視頻中的大部分感知質量源自于動作質量——一個特定于視頻的維度。為此,文本->視頻的質量評估中主要關注生成視頻的一致性、自然度和足夠數(shù)量的動作。為此從下面 4 個角度衡量:
  • Frame consistency:幀一致性,評估生成內容的時間一致性。
  • Motion completeness:動作完整性,衡量輸出視頻是否包含足夠的動作。
  • Motion naturalness:動作自然度,評估生成自然、逼真動作的能力,展示對現(xiàn)實實際物理學的理解。
  • Overall quality:整體質量,根據(jù)上述 3 個維度整體評估,是一個整體的評價。?

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

4.6.2 評估基準

作者構建了 Movie Gen Video Bench 評估基準,包含 1000 個提示,覆蓋上述提到的各種因素。該基準比之前的基準大 3x。如下 Table 5 所示,該基準中主要包含 5 類概念:人類活動、動物、自然風景、物理、不常見物體或活動。

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

如下圖 Figure 11 是相應的評估集分布:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

4.7 結果

4.7.1 與之前工作對比

如下圖 Table 6 所示,作者與之前的 SOTA 方案進行對比,包括 Runway Gen3,LumaLabs,OpenAI Sora 以及快手 Kling1.5。凈勝率的計算是基于 Movie Gen Video 與其他模型在視頻生成任務中的直接對比,范圍 [-100%,100%],其中正數(shù)表示 Movie Gen Video 的勝率高于對比模型,負數(shù)則表示其表現(xiàn)不如對比模型。σ 表示每個維度下的標準差??梢钥闯觯?/p>

  • Movie Gen Video 明顯優(yōu)于 Runway Gen3 和 LumaLabs,略優(yōu)于 OpenAI Sora 和 Kling1.5。
  • 在 Motion Completeness 和 Text-alignment 上 Movie Gen Video 不如 Kling1.5,但 Realness 和 Aesthetics 上具有明顯優(yōu)勢。?

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

如下圖 Figure 15 所示,作者對比了不同迭代階段 Checkpoint 的評估結果以及對應的驗證損失,可以看出,驗證損失在持續(xù)下降,同時整體評估質量在越靠后的 Checkpoint 上表現(xiàn)越好,證明 Flow Matching 驗證損失可以作為模型開發(fā)過程中人工評估的有效代理:


4.7.2 消融實驗

作者使用 5B 參數(shù)量的 Movie Gen Video 模型來進行消融實驗,其生成 4-8s 352x192 px 的視頻。

  • 模型包含 32 個 Transformer Block,Embedding 維度 3072,包含 24 個 Head。
  • 兩階段訓練,文本->圖像和聯(lián)合訓練。使用 21M 個視頻的小數(shù)據(jù)集,并使用 LLaMA3-8B 模型生成描述。 在 512 個 GPU 上訓練。

如下圖 Table 8 所示,作者進行了一系列對比實驗,其中 Q 表示整體質量,A 表示文本對齊。實驗包括包括:

  • Flow Matching 訓練目標和 Diffusion 訓練目標
  • 視頻描述和圖像描述
  • 類 LLaMA 3 結構和 DiT 結構?


如下圖所示為上述類 LLaMA 3 結構和 DiT 結構的差異,其他都保持相同:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

4.7.3 TAE 結果

如下圖 Table 10 所示,作者進一步對比了本文 TAE 與 Frame-wise 的 AutoEncoder 的性能差異

  • 視頻維度:TAE 略差,但是能力也不錯。
  • 圖像維度:TAE 表現(xiàn)更好,并且FID 具有明顯優(yōu)勢。?

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

4.7.4 TAE 消融實驗

如下圖 Table 11 所示,作者也對比了 TAE 中 2.5D Attention/Convolution(先 2D 空間執(zhí)行,然后 1D 時序維執(zhí)行)與 3D Attention/Convolution 的性能差異。3D 方案有更好的重建質量,但是提升不大,而 2.5D 方案在 FID 上有明顯優(yōu)勢,因此采用 2.5D:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

如下圖 Table 12 所示,作者也對比了是否添加異常懲罰損失(OPL)的影響,可以看出,添加 OPL 后有比較明顯的提升:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

4.7.5 空間上采樣結果

如下圖 Figure 17 所示,經(jīng)過空間上采樣后清晰度和視覺質量有了明顯提升:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

4.8 文本 -> 圖像生成

4.8.1 方法

對于文本->圖像模型,目標是生成逼真的圖像。作者使用 Movie Gen 模型作為初始化,將 TAE 替換為 Image AutoEncoder。然后,在文本->圖像生成任務上訓練模型,使其能根據(jù)文本描述生成圖像,最終分辨率為 1024 px。在 Post Training 中,作者按照 [2309.15807] Emu: Enhancing Image Generation Models Using Photogenic Needles in a Haystack 中的方式構建了 O(1000) 張高質量圖像,并訓練了 6K Step,學習率 0.00001,Batch Size 64,并且 Warmup 2000 Step。

4.8.2 結果

如下圖所示,作者利用 ELO 評級系統(tǒng)對 SOTA 模型進行對比,本文的模型取得了最優(yōu)性能:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

五、個性化視頻

5.1 模型

如下圖 Figure 20 所示,其主要的不同是將人臉圖像經(jīng) Long-prompt MetaCLIP 的 Vision Encoder 提取 Vision Embedding,然后經(jīng)過投影與文本 Embedding 拼接在一起作為 Condition 輸入模型:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

5.2 預訓練

5.2.1 預訓練數(shù)據(jù)

從原始的 T2V 視頻數(shù)據(jù)中選擇人類相關的子集,然后每 1s 提取一張人臉,并計算人臉相似性(ArcFace cosine similarity score 超過 0.5 認為是一個人)。然后挑選僅包含一個人的視頻,得到 O(1) M 文本-視頻數(shù)據(jù)對。

然后作者將其分為 “paired” 和 “cross-paired” 數(shù)據(jù),區(qū)別是對應的 Reference 人臉是否來自對應的視頻切片。作者發(fā)現(xiàn),如果只使用 “paired” 數(shù)據(jù),也就是視頻切片中包含對應的 Reference 人臉,則會導致過擬合,也就是出現(xiàn)直接拷貝人臉的效果。

  • Paird 數(shù)據(jù):每個 Video 切片提取 5 幀作為 Reference,最終得到 O(10)M 訓練樣本。
  • Cross-Paired 數(shù)據(jù):從屬于同一個人但是不同視頻切片中選擇 Reference,得到 O(10)K 真實樣本,同時也用個性化人臉生成模型來生成數(shù)據(jù),最終得到 O(1)M 合成訓練樣本。

5.2.2 預訓練方案

作者發(fā)現(xiàn)直接訓練生成長視頻比較困難,因此也分為多個階段訓練,如下圖 Figure 21 所示:

  • Stage I:短視頻訓練,對應 64 幀,凍結 Vision Encoder,只訓練 Transformer Backbone。
  • Stage II:長視頻訓練,和第一階段類似,不過幀數(shù)擴展到 128/192/256。
  • Stage III:提升自然度,主要是調整學習率,并且也會訓練 Vision Encoder。?

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

5.3 監(jiān)督微調

與 Movie Gen Video 的 Post Training 類似,作者也額外收集了一批高質量的微調數(shù)據(jù),目的是生成具有良好動作質量的高度美觀的視頻。作者從 T2V 微調數(shù)據(jù)集開始,篩選包含只包含一個人的視頻。然后人工選擇具有不同人類動作的視頻,確保數(shù)據(jù)集包含各種動作和行為。最終數(shù)據(jù)集包含 O(1000) 個高質量視頻,其中 “paired” 和 “cross-paired” 的比例為 1:1。

5.4 評估&結果

如下圖 Figure 22 所示為本文方案與 ID-Animator 生成效果的對比:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

如下圖 Table 12 所示,提出的 PT2V 模型明顯優(yōu)于之前的 ID-Animator 方案:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

如下圖 Table 14 和 Table 16 所示,訓練 Vision Encoder 在所有指標上都有所提升,而 Cross-Paired 訓練會導致 Identity 指標下降,但對改善生成視頻的面部表情和自然動作至關重要:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

如下圖 Table 15 所示,PT2V 微調后所有指標上均優(yōu)于 ID-Animator;PT2V 相比沒有視覺 Condition 的 T2V 相比,整體質量更高,一致性也更好,但是動作完整性和文本對齊方面稍弱:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

六、指令引導精確編輯

6.1 模型

鑒于監(jiān)督視頻編輯數(shù)據(jù)的稀缺性,訓練模型來執(zhí)行視頻編輯容易出現(xiàn)訓練和測試階段的偏差,從而導致生成質量欠佳。為了應對這一挑戰(zhàn),作者引入了一種多階段方案,以逐步減少這些差異。如下圖 Figure 24 所示:

  • 模型結構和初始化:
  • 為了支持視頻編輯,需要對現(xiàn)有文本->視頻模型架構進行修改,包括增加額外的輸入通道以實現(xiàn)輸入視頻的編輯,并添加任務嵌入向量以支持特定編輯任務的適配。
  • 模型初始化時,保留預訓練的文本->視頻模型權重,并添加新的可學習參數(shù)以實現(xiàn)對參考圖像的條件調節(jié)。
  • 第一階段:單幀視頻編輯
  • 通過在圖像編輯數(shù)據(jù)集上訓練,將圖像編輯視為單幀視頻編輯,以此作為視頻編輯任務的起點。
  • 采用多任務學習目標,交替進行圖像編輯和文本->視頻的生成任務,以此來訓練模型使用編輯指令和視頻輸入。編輯任務和文本->視頻任務的比例為 5:1。
  • 由于圖像編輯和視頻生成在序列長度上的差異,通過交替處理這兩種任務的批次來加速訓練。
  • 有趣的是,在初步實驗中,作者發(fā)現(xiàn)在圖像編輯訓練期間直接使用第一幀的位置嵌入會導致在視頻編輯上測試模型時輸出完全失真。通過使用隨機采樣的臨時位置嵌入作為圖像的位置嵌入可以解決此問題,使用此目標訓練模型 30 K Step。
  • 第二階段:多幀視頻編輯
  • 為了解決在第一階段訓練中產(chǎn)生的視頻模糊問題,引入了兩個新的合成任務,這些任務更貼近多幀視頻編輯的實際需求。
  • 第一個任務是 Animated Frame Editing:通過隨機仿射增強將圖像編輯樣本動畫化,創(chuàng)建合成視頻編輯樣本。
  • 第二個任務是 Generative Instruction-Guided Video Segmentation:將視頻分割視為視頻編輯任務,要求模型根據(jù)給定的顏色標記視頻中的特定對象。
  • 模型在這些新數(shù)據(jù)集上進行微調,以減少訓練和測試之間的差異。文本->視頻、Segmentation、Animated 的比例為 1:1:3。
  • 第三階段:通過 BackTranslation 進行視頻編輯
  • 為了解決在第二階段訓練中仍然存在的問題,如新生成元素缺乏自然運動和過飽和現(xiàn)象,采用了 BackTranslation 技術來訓練模型。
  • 通過生成編輯后的示例,然后使用語言模型生成反向編輯指令,以此來訓練模型在保持清晰視頻的同時,根據(jù)編輯指令進行精確的視頻編輯。
  • 這一階段的訓練使用了真實的輸出視頻,并且通過 BackTranslation 技術構建了弱監(jiān)督視頻編輯數(shù)據(jù)集,進一步提高了視頻編輯的質量。?

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

6.2 評估

6.2.1 視頻編輯基準測試

TGVE+ 基準測試:這是最近提出的基準測試,包括 76 個視頻,每個視頻附帶 7 個編輯指令,覆蓋多種編輯任務,如物體修改、背景修改等。但這些視頻分辨率比較低,都是 480x480 px,時長比較短,10FPS 的 3.2s 視頻或 16FPS 的 8s 視頻。

Movie Gen Edit Bench 基準測試:為了評估新一代的視頻編輯模型,作者提出了新的基準,包括不同分辨率、幀率、長度和寬高比的視頻。初始數(shù)據(jù)來自 Segment-Anything V2 數(shù)據(jù)集的 51000 個視頻,經(jīng)過美觀度和動作得分過濾,構建了驗證集和測試集,驗證集包含 64 個視頻,測試集包含 128 個視頻。此外,通過眾包為每個視頻和編輯操作編寫編輯指令,以支持使用基于 CLIP 的圖像編輯評估指標。作者額外為每個視頻針對每個編輯任務構建了 1 個輸入和輸出描述,最終的基準包含 1152 個樣本。(128+64)x6=1152。

6.2.2 視頻編輯評估指標

主要評估模型編輯輸入視頻的能力,同時準確遵循提供的提示指令,并保留那些應保持不變的結構和元素。使用人工評估和自動化評估指標來評估。

  • 自動化評估使用 ViCLIP 方向相似性(ViCLIPdir)和 ViCLIP 輸出相似性(ViCLIPout)。
  • 人工評估遵循 TGVE+ 的標準評估協(xié)議,評估者需要對輸入視頻、編輯指令和一對生成的視頻進行評估,以確定哪個編輯視頻能更好地反應給定的描述,保持原始輸入的結構完整性以及在視覺上更有吸引力和美觀度優(yōu)越性。

6.3 結果

6.3.1 與之前工作對比

如下圖 Table 17 所示,作者評估了 Movie Gen Edit 模型與多個視頻編輯模型的性能,包括無需訓練的方案(如 SDEdit)和需要訓練的方案(如 InsV2V 和 EVE 等),可以看出:

  • 在TGVE+ 基準上,Movie Gen Edit 在整體人類評估標準上比當前最先進的 EVE 模型更受偏好,其偏好率達到 74%。
  • 在Movie Gen Edit Bench 基準上,Movie Gen Edit 同樣優(yōu)于其他基線模型,包括 Runway Gen3 V2V。?

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

6.3.2 消融實驗

第一階段:如下圖 Table 18 所示,作者對比了兩種變體的影響,人工評估表明本文的模型在圖像編輯任務上具有更好性能。

  • 凍結文本 ->視頻模型,訓練 ControlNet
  • 本文的多任務學習?

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

第二階段:如下圖 Table 19 所示,評估了使用 Animated Frame Editing 相比 Animated Image Editing 的效果,人類評估員更喜歡 Animated Frame Editing  的結果:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

第三階段:如下圖 Table 20 所示,對比使用 BackTranslation 方案與標準微調方案,人類評估員更喜歡 BackTranslation 方案的結果:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

不同階段對比:通過比較每個訓練階段的模型,作者發(fā)現(xiàn)每個后續(xù)階段的模型都在人類評估中更受偏好,表明多階段訓練方法的有效性。

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

七、聲音和音樂生成

7.1 模型

Movie Gen Audio 模型的目標是為視頻切片和短片生成音軌(soundtrack),時間可能從幾秒到幾分鐘不等。涉及的音軌包括環(huán)境聲音、音效(Foley)和器樂(instrumental music),但是不包括語音或帶人聲的音樂。特別是,環(huán)境聲音應與視覺幻覺相匹配,音效應在時間上與動作保持一致,并且對于視覺對象應該合理。

為了支持可變時長視頻的音軌,作者構建了一個音頻生成方案,即可以給定視頻生成音頻,也可以給定部分音頻來擴展。如下圖 Figure 27 所示為生成過程,其核心是有 Overlap 的分塊生成:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

如下圖 Figure 28 所示為對應的 Movie Gen Audio 模型架構,其采用了 Flow Matching + DiT 的方案,其中黃色表示輸入,藍色表示預訓練后凍結的部分,灰色表示沒有可學習參數(shù),綠色為可學習的模塊:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

7.2 數(shù)據(jù)

如下圖所示為不同的數(shù)據(jù)類別:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

如下圖 Table 24 所示為對應的預訓練數(shù)據(jù)集類別及數(shù)量:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

如下圖 Table 25 所示為微調數(shù)據(jù)集的分布:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

7.3 評估&結果

如下圖 Table 29 和 Table 30 所示,作者對比了本文 Movie Gen Audio 模型與以前 SOTA 模型,凈勝率范圍為 [-100%, 100%],正值表示 Movie Gen Audio 的質量更優(yōu)??梢钥闯?,Movie Gen Audio 幾乎在所有任務上都獲得更好的效果:

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

Meta Movie Gen:新的 SOTA 視頻生成模型-技術報告解讀-AI.x社區(qū)

八、參考鏈接

  1. ??https://ai.meta.com/static-resource/movie-gen-research-paper??
  2. ??https://ai.meta.com/blog/movie-gen-media-foundation-models-generative-ai-video/??
  3. ??https://ai.meta.com/research/movie-gen/??
  4. ??https://arxiv.org/abs/2112.10752??
  5. ??https://arxiv.org/abs/2210.02747??
  6. ??https://arxiv.org/abs/2212.09748??
  7. ??https://arxiv.org/abs/2311.10709??
  8. ??https://arxiv.org/abs/2107.10833??
  9. ??https://arxiv.org/abs/2302.08113??
  10. ??https://www.usenix.org/system/files/osdi24-choudhury.pdf??
  11. ??https://docs.nvidia.com/megatron-core/developer-guide/latest/api-guide/context_parallel.html??
  12. ??https://arxiv.org/abs/2311.10709??
  13. ??https://arxiv.org/abs/2309.15807??

 

本文轉載自 ??AI閑談??,作者: AI閑談

收藏
回復
舉報
回復
相關推薦