又見神仙打架,全面超越快手可靈?智譜AI聯合清華發布CogVideoX | 技術報告解析
文章鏈接:https://arxiv.org/pdf/2408.06072
項目鏈接:https://github.com/THUDM/CogVideo
近期,國內視頻生成領域發展迅速,各家模型都在效果上下足了功夫,可謂神仙打架,前面分享過快手可靈,效果可以媲美Sora,這次智譜AI又發布了CogVideoX,效果如何呢,一起來看技術報告解讀。
CogVideoX是一個基于文本提示生成視頻的大規模擴散Transformer模型。為了高效地建模視頻數據,提出使用3D變分自編碼器(VAE)在空間和時間維度上對視頻進行壓縮。為了改善文本與視頻的對齊,提出了一個帶有專家自適應LayerNorm的專家Transformer,以促進兩種模態之間的深度融合。通過采用漸進式訓練技術,CogVideoX能夠生成具有顯著動作的連貫長時間視頻。此外,還開發了一種有效的文本-視頻數據處理pipeline,包括各種數據預處理策略和視頻字幕生成方法。這大大有助于提升CogVideoX的性能,提高生成質量和語義對齊度。結果表明,CogVideoX在多種機器指標和人工評估中均表現出最先進的性能。
效果先睹為快
CogVideoX架構
本節介紹了CogVideoX模型。下圖2展示了整體架構。給定一對視頻和文本輸入,設計了一個3D causal VAE,將視頻壓縮到潛在空間中,然后將這些潛在變量打包并展開為一個長序列,記作zvision。同時,使用T5將文本輸入編碼為文本embeddings 。隨后,和在序列維度上進行連接。連接后的embeddings隨后被輸入到一堆專家Transformer塊中。最后,模型輸出被反打包以恢復原始的潛在形狀,然后使用3D causal VAE解碼器解碼以重建視頻。
3D causal VAE
視頻不僅包含空間信息,還包含大量的時間信息,通常導致比圖像多出數個數量級的數據量。為了解決視頻數據建模的計算挑戰,本文提出了基于3D變分自編碼器(3D VAEs)的視頻壓縮模塊。其思路是通過三維卷積在空間和時間上對視頻進行壓縮。這有助于實現更高的壓縮率,并在視頻重建時大大提高質量和連貫性。
下圖3(a)展示了所提出的3D VAE的結構。它包括一個編碼器、一個解碼器和一個潛在空間正則化器。高斯潛在空間受到Kullback-Leibler (KL) 正則化器的約束。編碼器和解碼器分別由四個對稱排列的階段組成,通過交錯的ResNet塊堆疊階段分別進行2倍下采樣和上采樣。前兩輪的下采樣和最后兩輪的上采樣同時涉及空間和時間維度,而最后一輪僅應用空間采樣。這使得3D VAE在時間維度上實現4倍壓縮,在空間維度上實現8×8壓縮。總的來說,從像素到潛變量的壓縮達到了4×8×8倍。
本文采用了時間因果卷積,它將所有填充放置在卷積空間的開頭,如上圖3(b)所示。這確保了未來的信息不會影響當前或過去的預測。由于處理大量幀的視頻會引入過多的GPU內存使用,在時間維度上應用上下文并行來分配3D卷積的計算到多個設備上。如圖3(b)所示,由于卷積的因果特性,每個排名僅將長度為k-1的片段發送到下一個排名,其中k表示時間內核的大小。這導致了相對較低的通信開銷。
在實際實現過程中,首先在較低分辨率和較少幀數上訓練3D VAE,以節省計算資源。觀察到較大分辨率的編碼可以自然地泛化,而擴展幀數的編碼并不那么順暢。因此,通過首先在短視頻上進行訓練,然后通過上下文并行在長視頻上進行微調,采用了兩階段的訓練過程。訓練的兩個階段都使用了L2損失、LPIPS感知損失和來自3D判別器的GAN損失的加權組合。
專家Transformer
本文介紹了CogVideoX中的Transformer設計選擇,包括處理文本-視頻數據的分塊、位置embedding和注意力策略,以實現高效處理。
3D-RoPE:旋轉位置Embedding(RoPE)是一種相對位置編碼,已被證明能夠在大型語言模型中有效捕捉令牌之間的關系,尤其擅長處理長序列。為了適應視頻數據,將原始RoPE擴展為3D-RoPE。視頻張量中的每個潛變量可以用3D坐標(x, y, t)表示。分別在每個坐標維度上獨立應用1D-RoPE,每個維度分別占用隱藏狀態通道的3/8、3/8和2/8。然后將得到的編碼在通道維度上連接,得到最終的3D-RoPE編碼。
本文對RoPE的使用進行了經驗性研究。下圖4(a)顯示了3D RoPE和正弦絕對位置編碼的比較。可以觀察到,使用3D RoPE的損失曲線比使用正弦編碼的收斂速度顯著更快。還比較了單獨使用3D RoPE與結合3D RoPE和可學習的絕對位置嵌入的效果。下圖4(b)表明,兩種方法的損失曲線幾乎相同。因此,為了簡化,選擇單獨使用3D RoPE。
專家Transformer塊:在輸入階段,將文本和視頻的嵌入進行連接,以更好地對齊視覺和語義信息。然而,這兩種模態的特征空間差異顯著,它們的embeddings可能具有不同的數值尺度。為了在同一序列中更好地處理它們,使用了專家自適應Layernorm(Expert Adaptive Layernorm),以獨立處理每種模態。如前面圖2所示,遵循DiT的做法,使用擴散過程中的時間步長t作為調制模塊的輸入。然后,視覺專家自適應Layernorm(Vision Expert AdaLN)和文本專家自適應Layernorm(Text Expert AdaLN)將該調制機制分別應用于視覺隱藏狀態和文本隱藏狀態。這一策略促進了跨模態特征空間的對齊,同時盡量減少了額外的參數。
為了驗證專家自適應Layernorm的采用效果,嘗試了不同的專家整合方式:專家LayerNorm和MLP,及僅專家LayerNorm。實驗發現,添加專家MLP并沒有有效加速模型的收斂(參見上圖4(c))。為了減少模型參數,選擇僅使用專家自適應Layernorm。
3D全注意力:先前的研究通常采用分離的空間和時間注意力,以減少計算復雜性并便于從文本到圖像模型的微調。然而,如下圖5所示,這種分離的注意力方法需要大量隱式的視覺信息傳遞,顯著增加了學習的復雜性,并使得維持大動作物體的一致性變得困難。考慮到長上下文訓練在大型語言模型中的巨大成功以及FlashAttention的高效性,本文提出了一種3D文本-視頻混合注意力機制。該機制不僅取得了更好的結果,還能夠輕松適應各種并行加速方法。
訓練CogVideoX
在訓練過程中,將圖像和視頻混合處理,將每張圖像視為單幀視頻。此外,從分辨率的角度采用漸進式訓練方法。在擴散設置中,采用了v-prediction和零信噪比(SNR)策略,并遵循LDM中使用的噪聲調度。在擴散訓練的時間步采樣過程中,還采用了一種顯式均勻時間步采樣方法,有助于提高訓練的穩定性。
Frame Pack
以往的視頻訓練方法通常涉及使用固定幀數對圖像和視頻進行聯合訓練。然而,這種方法通常會導致兩個問題:首先,使用雙向注意力時,這兩種輸入類型之間存在顯著差距,圖像只有一幀,而視頻則有幾十幀。觀察到,以這種方式訓練的模型往往會根據令牌數量分化為兩種生成模式,且泛化效果不佳。其次,為了使用固定時長進行訓練,不得不舍棄短視頻并截斷長視頻,這限制了幀數不同的視頻的充分利用。
為了解決這些問題,選擇混合時長訓練,即將不同長度的視頻一起進行訓練。然而,批次內數據形狀的不一致使得訓練變得困難。受Patch’n Pack的啟發,將不同長度的視頻放入同一批次中,以確保每個批次內的數據形狀一致,這種方法稱之為Frame Pack。該過程如下圖6所示。
分辨率漸進訓練
CogVideoX的訓練流程分為三個階段:低分辨率訓練、高分辨率訓練和高質量視頻微調。與圖像類似,互聯網上的視頻通常包括大量低分辨率的視頻。漸進式訓練可以有效利用各種分辨率的視頻。此外,初期的低分辨率訓練可以賦予模型粗粒度的建模能力,隨后通過高分辨率訓練增強其捕捉細節的能力。與直接進行高分辨率訓練相比,分階段訓練還可以幫助減少整體訓練時間。
位置編碼的外推:在將低分辨率位置編碼調整為高分辨率時,考慮了兩種不同的方法:插值和外推。下圖7展示了這兩種方法的效果。插值更能有效保留全局信息,而外推則更好地保留了局部細節。鑒于RoPE是一種相對位置編碼,選擇了外推方法,以維持像素之間的相對位置。
高質量微調:由于經過篩選的預訓練數據仍包含一定比例的臟數據,例如字幕、水印和低比特率視頻,在最后階段選擇了占總數據集20%的高質量視頻數據子集進行微調。此步驟有效去除了生成的字幕和水印,并略微提升了視覺質量。然而,也觀察到模型的語義能力略有下降。
顯式均勻采樣
Ho等人(2020)定義了擴散的訓練目標為:
其中,t 在 1 到 T 之間均勻分布。常見的做法是數據并行組中的每個節點在 1 到 T 之間均勻采樣一個值,這在理論上等同于公式1。然而,實際上,這種隨機采樣得到的結果往往不夠均勻,由于擴散損失的大小與時間步長有關,這可能導致損失出現顯著波動。因此,提出使用顯式均勻采樣,將1到T的范圍劃分為n個區間,其中n是節點數量。每個節點在其對應的區間內均勻采樣。這種方法確保了時間步長的更均勻分布。如前面圖4(d)所示,使用顯式均勻采樣進行訓練的損失曲線明顯更加穩定。
此外,為了更精確地比較兩種方法,單獨比較了每個擴散時間步長的損失。結果發現,使用顯式均勻采樣后,各時間步長的損失下降速度更快,表明該方法能夠加速損失的收斂。
數據
通過視頻過濾器和重述模型構建了一系列相對高質量的視頻剪輯及其文本描述。過濾后,剩下約3500萬單次拍攝的剪輯,每個剪輯平均約6秒。
視頻過濾:視頻生成模型需要學習世界的動態信息,但未經篩選的視頻數據具有高度的噪聲分布,主要有兩個原因:首先,視頻是由人類創作的,人工編輯可能會扭曲真實的動態信息;其次,由于拍攝過程中出現的問題,如相機抖動和設備不合格,視頻質量可能顯著下降。
除了視頻的固有質量外,還考慮了視頻數據對模型訓練的支持程度。缺乏動態信息或在動態方面缺乏連接性的視頻被認為是不利的。因此,研究者們制定了一套負面標簽,包括:
- 編輯:經過明顯人工處理的視頻,如重新編輯和特效,導致視覺完整性下降。
- 缺乏運動連接性:圖像過渡中缺乏運動連接性的視頻片段,通常見于人工拼接或從圖像中編輯的視頻。
- 低質量:拍攝不佳的視頻,視覺不清晰或相機抖動過大。
- 講座類型:主要關注一個人持續講解、有效運動最少的視頻,如教育內容、講座和直播討論。
- 文本主導:包含大量可見文本或主要集中于文本內容的視頻。
- 噪聲截圖:從手機或計算機屏幕錄制的噪聲視頻。
抽樣了20,000個視頻數據樣本,并標記了每個樣本中的負面標簽。通過這些注釋,訓練了幾個基于視頻-llama的過濾器,以篩選低質量視頻數據。
此外,計算了所有訓練視頻的光流分數和圖像美學分數,并在訓練過程中動態調整閾值范圍,以確保生成視頻的流暢性和美學質量。
視頻描述:通常,大多數視頻數據沒有對應的描述性文本,因此需要將視頻數據轉換為文本描述,以提供文本到視頻模型所需的訓練數據。目前,已經有一些視頻標題數據集,如Panda70M、COCO Caption和WebVid。然而,這些數據集中的標題通常非常簡短,無法全面描述視頻的內容。
為了生成高質量的視頻標題數據,建立了一個密集視頻標題數據生成pipeline,如下圖8所示。其思路是從圖像標題生成視頻標題。首先,使用Panda70M視頻標題模型為視頻生成簡短的標題。然后,利用在Stable Diffusion 3和CogView3中使用的圖像重述模型CogVLM為視頻中的每一幀創建密集的圖像標題。隨后,使用GPT-4總結所有圖像標題,以生成最終的視頻標題。為了加速從圖像標題到視頻標題的生成,使用GPT-4生成的摘要數據微調Llama2模型,從而實現大規模視頻標題數據的生成。
上述pipeline生成的標題數據用于訓練本報告中介紹的CogVideoX模型。為了進一步加速視頻重述,還基于CogVLM2-Video1和Llama3微調了一個端到端的視頻理解模型CogVLM2-Caption,使用從上述pipeline生成的密集標題數據。CogVLM2-Caption生成的視頻標題數據用于訓練下一代CogVideoX。附錄D中展示了該端到端CogVLM2-Caption模型生成的視頻標題示例。
附錄中還展示了一些視頻生成的示例,其中一個視頻首先輸入到CogVLM2-Caption以生成標題,然后這些標題被用作CogVideoX的輸入,從而生成新的視頻,有效地實現了視頻到視頻的生成。
實證評估
在這一部分,通過兩種主要方法展示CogVideoX的性能:自動化指標評估和人工評估。對不同參數規模的CogVideoX模型進行訓練。目前展示了2B和5B模型的結果,更大的模型仍在訓練中。
自動化指標評估
基準測試:本文選擇了公開可獲取的頂級文本到視頻模型作為基準,包括T2V-Turbo、AnimateDiff、VideoCrafter2、OpenSora、Show-1、Gen-2、Pika和LaVie-2。
評估指標
為了評估文本到視頻生成,采用了來自VBench的幾個指標:人類動作、場景、動態程度、多物體和外觀風格。VBench是一套旨在自動評估生成視頻質量的工具。本文選擇了VBench中的某些指標,排除了其他與本文的評估需求不符的指標。例如,顏色指標旨在通過計算視頻中物體對應特定顏色的出現概率來評估模型的質量。然而,這一指標可能會誤導那些具有較大變異的視頻生成模型,因此沒有將其包含在評估中。
對于生成較長的視頻,有些模型可能會生成幀間變化最小的視頻以獲得更高的分數,但這些視頻缺乏豐富的內容。因此,評估視頻動態性成為更重要的指標。為此,采用了兩個視頻評估工具:Devil的動態質量和ChronoMagic的GPT4o-MTScore,這兩個工具更側重于視頻的動態特性。動態質量通過將各種質量指標與動態分數結合來定義,減少了視頻動態性與視頻質量之間負相關帶來的偏差。例如,ChronoMagic引入了GPT4o-MTScore,一個旨在測量時光流逝視頻(如描繪物理、生物和氣象變化的視頻)變遷幅度的指標。該指標使用GPT-4o來評分變化程度,提供了對視頻動態性的細致評估。
結果:下表1提供了CogVideoX與其他模型的性能比較。CogVideoX在七個指標中的五個上取得了最佳性能,并且在剩余的兩個指標中表現競爭力。這些結果表明,該模型不僅在視頻生成質量上表現卓越,還在處理各種復雜動態場景時超越了以前的模型。此外,下圖1展示了一個雷達圖,直觀地展示了CogVideoX的性能優勢。
人工評估
除了自動評分機制,還通過人工評估對Kling和CogVideoX進行比較分析。使用了100個精心設計的提示,這些提示具有廣泛的分布、明確的表述和良好的概念范圍。對視頻進行隨機化以進行盲評。評估小組被要求根據從0到1的尺度對每個細節進行評分,總分在0到5的范圍內評定,其中更高的分數反映出更好的視頻質量。為了更好地補充自動評估,人工評估強調指令遵循能力:如果生成的視頻未能遵循指令,總分不能超過2分。
下表2顯示了CogVideoX在各個方面都優于Kling的人類偏好。
結論
本文介紹了CogVideoX,一種先進的文本到視頻擴散模型。它利用了3D VAE和Expert Transformer架構,生成連貫的長時間視頻,并具有顯著的運動效果。通過實施全面的數據處理pipeline和視頻重述方法,顯著提高了生成視頻的質量和語義對齊性。本文的漸進式訓練技術,包括混合時長訓練和分辨率漸進訓練,進一步提升了模型的性能和穩定性。研究者們正在繼續努力,專注于提升CogVideoX捕捉復雜動態的能力,并確保視頻生成的更高質量。目前還在探索視頻生成模型的擴展規律,旨在訓練更大、更強大的模型,以生成更長、更高質量的視頻,推動文本到視頻生成領域的極限。
本文轉自 AI生成未來 ,作者:Zhuoyi Yang等
