潞晨科技尤洋:如何用低成本做出類Sora?成功複現有四個要素,時空分割是關鍵一步|GenAICon2024

智東西 2024-05-03 16:53:02

作者 | GenAICon 2024

2024中國生成式AI大會于4月18-19日在北京舉行,在大會第二天的主會場AI Infra專場上,新加坡國立大學校長青年教授、潞晨科技創始人兼董事長尤洋以《技術共享:類Sora開源架構模型與訓練細節》爲題發表演講。

潞晨科技在今年3月開源的全球首個類Sora視頻生成模型Open-Sora,是迄今GitHub上獲得星標數最高的開源視頻大模型項目之一,截至發稿前已有1.6萬個星標,用戶群體遍及全球。

值得一提的是,這個模型在低成本下訓練而成,相比Sora耗費數千張H100 GPU、花費數千萬美元乃至數億美元,Open-Sora的訓練成本僅不到1萬美元。

尤洋認爲,視頻生成正處于“GPT-2時刻”,還沒有出現成熟的應用。對于視頻生成模型來說,數據可能是最核心的資産。他還談到,模型開源是有意義且重要的。正如Meta最新發布的Llama 3,極大地調動了開源社區的積極性,不但造福大量開發者,更有助于開源社區整體的繁榮。

因此,Open-Sora模型也進行了全面的訓練流程開源,開源了包括模型架構、模型權重、訓練細節、數據處理在內的多項技術細節,讓更多的開發者可以嘗試Open-Sora模型,共同叠代與升級。

在演講期間,他詳細解讀了成功複現類Sora視頻生成模型的四個關鍵要素,並分享了Open-Sora的底層架構、demo和教程。

在他看來,考慮到成本壓力,視頻生成模型將分爲大規模圖像預訓練、大規模視頻預訓練、高質量視頻數據微調三個階段。在模型設計上,時空分割處理將是顯著降低視頻生成模型計算成本和內存壓力的關鍵一步。他還提到,Open-Sora未來的發展方向主要在于完善數據處理流程以及訓練視頻壓縮Encoder。

以下爲尤洋的演講實錄:

我演講的主題是最近做的Open-Sora,希望幫助更多中小企業以及研究人員去快速地複現類似Sora這樣的視頻生成模型。

首先簡要介紹一下我的技術背景。這張照片拍攝自我博士畢業答辯時,圖中的人物包括我在加州大學伯克利分校的幾位教授,他們的專業背景主要集中在高性能計算(HPC)和計算機視覺(CV)領域。HPC的目標是提高模型訓練的效率,即用成百上千的處理器卡來加快訓練速度。CV則是視頻生成模型的關鍵技術之一,這與我的個人技術背景非常相似。

目前,我們了解到大模型對計算能力的需求非常高,特別是在今天的Infra專場中,我們可以預見,未來對算力要求最高的模型可能會是視頻生成模型。

今天我的分享旨在抛磚引玉,我認爲視頻生成模型目前還處于一個相對早期的發展階段,其情形有點類似于視頻領域的GPT-2時期。市場上尚未出現一個完全成熟且廣泛可用的視頻生成應用。因此,我將分享我們在這一領域的一些初步探索成果,並希望這能激發大家的興趣,進而深入探討。

本次演講將分爲幾個部分。首先,我會簡單介紹Open-Sora模型,以及與之相關的OpenAI Sora。需要明確的是,盡管我們稱之爲Open-Sora,也確實采用了類似于OpenAI技術報告中類似的技術,但它實際上是一個不同的模型。然後我將介紹Open-Sora的技術要點、性能表現,以及我們對未來發展的規劃。

一、未來人人都能成爲導演,視頻生成有顛覆教育和技術傳播的潛力

大家都看過Sora的Demo視頻,其效果確實令人震撼。未來,我們可能會進入一個每個人都能成爲導演的時代,每個人都能夠迅速生成自己想要的視頻或故事,並且通過視頻這種形式進行學習,這很可能比傳統的文字學習效率要高得多。

如果我們需要了解某個問題,能否讓AI爲我們生成一段視頻,以便快速掌握相關知識呢?我認爲視頻生成技術有潛力顛覆教育和技術傳播領域。

在Sora模型之前,市場上已經存在一些視頻生成工具,例如Pika、RunwayML、Stable Video等。然而,Sora在視頻長度上實現了顯著的突破,超越了之前所有頂尖産品,因此其效果還是非常驚豔的。Sora的應用前景非常可觀,可以涵蓋遊戲、藝術、媒體創作、藥物研發、市場營銷和教育等多個領域。甚至在未來,許多物理模擬領域也可能采用視頻生成模型。

盡管如此,視頻生成技術目前尚未廣泛普及。我們希望能大幅降低制作電影或視頻的成本。以今天的標准,制作一部優秀的電影可能需要高達五千萬美元的投資,這顯然限制了普通人參與的可能性。但如果未來有了先進的視頻生成模型,我們只需向AI描述我們的想法,它就能爲我們生成一部高質量的動畫片或電影。

只有達到這樣的水平,視頻生成模型的真正價值才能得到最大化的體現。

二、介紹首個類Sora開源視頻生成模型,成功複現Sora有四個關鍵要素

在介紹了Sora及其影響力後,第二部分介紹一下Open-Sora。

Open-Sora是一個開源的視頻生成模型項目,我們的目標是將模型的重要部分都公之于衆,以便社區能進一步發展這一技術。

要成功複現視頻生成模型,主要包括幾個部分。

首先,需要了解模型的架構,比如我到底用的是Diffusion、Llama、GPT還是BERT,不同的架構決定我模型基本的骨架。

其次,一旦模型訓練完成,分享訓練得到的權重也是非常重要的。這意味著其他人可以直接拿來用,而不需要從頭開始訓練模型。例如Meta剛剛開放了Llama 3,盡管4000億參數版本還沒有完全訓練完成,但已經可以從中看到很好的效果。通過分享這些權重,社區可以快速地將模型部署到各種應用中。

通過這種開放的方式,我們希望能夠促進視頻生成技術的創新和普及,讓更多有興趣的研究者和開發者能夠參與進來,共同推動這一領域的發展。

第三點非常關鍵,它涉及到開源模型的透明度和可控性。

雖然現有的一些開源模型,如Llama 1和Llama 2,已經公開了模型參數和使用方式,但它們並沒有公開訓練過程的具體細節,包括超參數的設置。這導致了我們無法完全複現其預訓練過程,也就是說,模型的預訓練並不是百分百自主可控的。

我們認爲,如果未來的視頻生成大模型能夠實現百分之百的自主可控,那麽將能更有效地激發和調動整個行業的生産力。

此外,數據處理也是決定模型性能的一個關鍵因素。

通過審視OpenAI的技術報告,我們可以發現,盡管在模型架構和算法方面,OpenAI並沒有特別強調其創新性,沿用了如Video Diffusion等現有模型,但OpenAI在數據方面做得非常出色。高質量的數據是決定視頻生成效果的直接因素,因此,數據處理方式和數據集的質量極爲關鍵。

三、解讀STDiT架構核心思想,將成本控制在1萬美元

我將展示一些我們的demo和教程,這將涵蓋開源模型的幾個重要組成部分。

從技術角度來看,Open-Sora模型采用了STDiT架構。我們選擇STDiT的主要原因是考慮到成本效益。我們的目標是將Open-Sora的成本控制在1萬美金或者更少。

STDiT架構的核心思想在于它包含時間維度的Self Attention和空間維度的Self Attention,這兩個方面是分開處理的,而不是合並計算,這樣的設計可以顯著降低模型的訓練和推理成本。相比于DiT模型,STDiT在成本上有著顯著的優勢,而且在相同的硬件條件下,其吞吐量也更高,這對于提升模型效率來說是非常有利的。

在架構方面,我們的創新點並不是特別多,核心思想仍然與DiT的架構相似。具體來說,處理視頻的流程是這樣的:首先,我們獲取一個視頻,然後通過Encoder將其壓縮到Latent Space中,這樣視頻就可以在這個空間中進行交互和處理。這種方法實際上與文本到圖像生成的技術非常相似。

我們對文生圖的概念並不陌生。我們首先對視頻進行壓縮,目的是爲了將其轉換到潛在空間中。壓縮有兩個主要目的:首先,原始視頻文件可能非常大,直接處理它們成本太高;其次,我們的目標是生成特定的視頻內容,比如一只狗在雪地裏追雪球的場景。如果我們不進行壓縮,而是直接在原始視頻上操作,可能會生成不符合要求的內容,比如生成了一只老虎或一只貓,即使視頻質量再高,如果內容不是我們想要的,那麽這樣的結果顯然是不可接受的。

通過這種方式,我們可以更有效地控制視頻生成的過程,確保生成的視頻內容符合我們的預期和需求。這種方法不僅降低了處理成本,而且提高了生成視頻的准確性和相關性。

在潛在空間中,我們需要融入人類的指令,這些指令通常通過自然語言處理來實現。然而,自然語言數據類型並不能直接與視頻信息進行交互。因此,潛在空間的第二個關鍵作用是將自然語言也轉換到這個空間中。這樣潛在空間就包含了視覺信息和文本信息,使得這兩類信息能夠在該空間內進行交互。這是我們壓縮視頻並將其轉換到潛在空間的兩個主要目的。

完成這一過程後,我們的工作流程與文本到圖像生成技術非常相似。文本到視頻生成本質上是文本到圖像生成的一種擴展,因爲視頻可以被視爲一系列圖片的集合。在這種情況下,我們仍然需要借鑒許多文本到圖像生成的技術。

具體到實現方式,與擴散模型的做法非常相似,我們通過引入高斯噪聲來生成所需的視頻。首先,在潛在空間中隨機采樣一個高斯噪聲,然後將這個噪聲與人類的指令一起輸入模型,模型據此生成視頻。最後,我們將生成的視頻從潛在空間解碼回原始的三維空間,完成整個生成過程。

四、視頻生成模型三階段:圖像預訓練,視頻預訓練,高質量視頻數據微調

至于如何實現這一技術,考慮到成本的壓力,我們可以將其分爲三個階段進行。

盡管今天介紹的技術在未來十年或二十年可能會被新的技術所取代,但在當前算力有限的情況下,我們可能需要采取分階段的方法來訓練高質量的視頻模型。直接使用高質量視頻數據訓練視頻模型的成本可能高達數千萬甚至數億美元,這顯然限制了大多數人參與的可能性。

在成本受限的現實條件下,我們的策略是,首先找到一個不錯的文本到圖像生成模型,這類模型目前比較容易獲取,市場上也有很多選擇,當然我們也可以自己訓練一個。

第二階段,有了文生圖模型,再給它大量視頻做初始訓練,讓它對視頻世界有很好的理解。

第三階段,用高質量、精挑的視頻提升它的視頻質量。這種思想在大模型領域已經用了七八年,早在2018年、我們訓練BERT的時候,BERT訓練也是分兩個階段,第一階段sequence是128,第二階段的sequence是512。短序列上讓它對自然語言有基本的理解,再在長序列上微調,給它一個更好的生成效果,這些其實都是出于成本的壓力才這樣操作的。

理論上我們有無限算力的話,我們應該直接拿最好的數據讓它去訓練。包括Llama、GPT,它們訓練時也都參考了類似的思路,先在短序列上大規模訓練,之後再在長序列或者更好的數據上去做微調,提升最終的模型生成質量。

具體而言,我們可以看一下三個階段究竟是怎麽操作的。

第一個階段還比較簡單,現在有很多文生圖的模型,即便不自己訓練,也可能找一些不錯的文生圖模型,它其實就是我的基准,我從起點開始去構造我的整個方案。我們改造Stable Diffusion,可以快速把這件事完成。

第二階段,現在有了基本對三維世界的理解,文生圖本質上還是對自然語言指令信息轉到三維世界,有一個基本的能力之後,現在我希望它每秒鍾能生成很多圖,每秒鍾生成60張圖就是一個視頻了。這種情況下,再進一步給它很多視頻數據讓它訓練。

我們的創新點有兩部分,用了STDiT,有時間信息和空間信息,我們新加了時間上的Attention模塊,因爲本身已經有空間上的Attention模塊。比如空間上就是S,時間上就是T,現在有一個S和T,S是已經訓得差不多了,T剛剛開始。S相當于是一個初中生,T相當于是一個嬰兒,但現在我們希望S和T都能達到大學生的水平。

有時我們會采用一種混合訓練的方法,即將成熟度不同的模型一起訓練。這種方法聽起來可能有些冒險,因爲S可能已經相當于一個初中生,而T可能還只是一個剛剛起步的嬰兒。如果將它們放在一起訓練,可能會擔心它們無法跟上對方學習的節奏。

然而,現代的大型模型擁有龐大的參數量,這使得它們能夠通過適當的調整迅速自適應不同的學習速度。在這種情況下,盡管S模型最初學習速度較慢,但T模型可以快速增長,最終兩者都能迅速達到相同的水平,最終都能達到相當于大學生的能力水平。

即使我們沒有自己的S模型,也可以利用一些現有的資源。當我們引入T模型後,通過適當的整合和調整,可以顯著提升整體系統的性能。

這種策略體現了深度學習模型訓練的靈活性和適應性,通過合理的設計和調整,即使是成熟度不同的模型也能夠協同工作,最終實現性能的共同提升。

當我們擁有了視頻生成模型之後,接下來的第三部分工作是使用更高質量的視頻數據對模型進行精調。

這裏的核心區別在于,第三部分生成的視頻在質量上將顯著優于第二部分。盡管第二部分的模型已經對三維視覺世界有了一定的理解,但其生成的視頻質量仍有提升空間,這也正是我們進行第三階段工作的原因。

在這一過程中,還有一個關鍵點值得注意,即我們在OpenAI的技術報告中發現,他們使用了多模態版本的GPT-4來進行視頻描述,但這種方法的成本較高。爲了降低成本,我們轉而采用了開源的LLaVA 1.6模型來進行視頻描述任務。LLaVA 1.6是基于E34B數據集訓練的,如果大家對此感興趣,可以進一步了解和探索。

通過使用LLaVA 1.6,我們能夠在保持描述質量的同時,減少計算資源的消耗。這種方法不僅有助于提升最終視頻産品的質量,也使得整個視頻生成過程更加高效和經濟,從而爲更廣泛的應用場景和用戶群體提供了可能性。

五、如何將成本降到最低?時空分割是關鍵一步

介紹完整體的模型、算法、設計流程之後,接下來考慮如何把成本降到最低。

要想把成本控制在1萬美金左右,顯然我們不能用太多的GPU,我們可以簡單地做一筆數學計算。現在H800一台月租8萬-10萬人民幣,假設有8台H800,每月的租金就要80萬,如果用20台,每月的租金大概需要200萬。要想一次性試驗成本控制在10萬以下,只能用8台H800 64個H800GPU,就需要把速度、效率破到最高。

之前我們打造了Colossal-AI系統,從三個角度,高效的內存優化、N維並行系統、低延遲推理,通過Colossal-AI進一步實現2-4倍的加速。

訓練過程中,一個關鍵因素是它們需要處理的序列長度通常非常長。無論是國內還是美國的大模型,研究者們都在努力擴展模型的序列長度,以期獲得更高的預測精度。以GPT模型爲例,其損失函數依賴于一個窗口的信息來預測下一個詞的概率,窗口越大,即包含的信息越多,預測的准確性也就越高。

對于視頻生成模型而言,即便是較短的視頻,其序列長度,這裏指的是幀數,即每秒鍾包含的畫面數量,也可能是巨大的。例如,即便是每秒24幀的視頻,如果幀率提高到60,那麽在數據訓練中的長度可能達到150萬tokens,這將導致計算和內存開銷急劇增加。

因此,將時間信息和空間信息進行分割處理是非常關鍵的一步。通過時空分割,我們可以顯著降低計算成本和內存壓力。具體來說,這意味著我們不是同時計算時間信息和空間信息,而是分步驟進行,先處理時間維度,再處理空間維度,這樣可以大幅提升處理效率。

通過這種方法,我們可以更高效地訓練視頻生成模型,同時控制計算資源的消耗,使得模型訓練變得更加可行,即使是在資源有限的情況下。

經過我們的優化之後,訓練策略提升了很大。從右圖可以看出,即使在8個GPU上訓練速度也提升了16%,尤其在Encoder部分,計算密集型任務也實現了顯著加速。

六、低成本模型能生成20秒視頻,Open-Sora已獲得1.4萬個GitHub星標

最後展示下我們的demo。我們的demo遠差于OpenAI,主要有兩個原因:

首先,我們的demo是在低成本條件下完成的,OpenAI使用了2000到4000個H100 GPU,花費了五千萬美元到兩億美元,而我們僅用了不到1萬美金進行試驗。在如此有限的預算下,我們取得的效果是可接受的。

其次,我們沒有使用大量的數據。通常數據質量越高,生成的視頻質量越好。如果我們采用更好的數據集,我們目前的內部版本能夠生成大約20秒的視頻。這是一個在成本受限條件下的演示版本,感興趣的朋友可以在我們GitHub頁面上查看更多信息。

Open-Sora目前在視頻大模型開源領域中是GitHub上獲得星標數最高的項目之一。自從我們在3月3日開源以來,已經獲得了1.6萬個星標,用戶群體遍布全球,包括中國、美國、歐洲、印度和東南亞。

我們的發展方向包括完善數據處理流程。我再次強調,對于視頻生成模型來說,數據可能是最核心的資産。雖然算法大多是公開的,比如STDiT、DiT或Video Diffusion,大家使用的算法和模型結構相似,結果也不會有太大差異。但是,如果數據質量有顯著差異,那麽模型的質量也會有很大差別。因此數據處理流程非常關鍵。

此外,視頻壓縮和編碼也非常重要,如何將視覺信息有效地轉換到潛在空間,以及潛在空間是否能夠准確表達視頻內容的所有信息,這對于模型的推理和學習過程至關重要。

以上是尤洋演講內容的完整整理。

0 阅读:0

智東西

簡介:智能産業第一媒體!聚焦智能變革,服務産業升級。