Open-Sora 在開源社群中悄悄更新了,現在支援長達16秒的影片生成,解析度最高可達720p,並且可以處理任何寬高比的文字到圖像、文字到影片、影像到影片、影片到影片和無限長影片的生成需求。我們來嘗試嘗試效果。
產生個橫屏聖誕雪景,發b站
#再產生個豎屏,發抖音
還能產生16秒的長視頻,這下人人都能過把編劇癮了
怎麼玩?指引
GitHub:https://github.com/hpcaitech/Open-Sora
更酷的是,Open-Sora 依舊全部開源,包含最新的模型架構、最新的模型權重、多時間/解析度/長寬比/幀率的訓練流程、資料收集和預處理的完整流程、所有的訓練細節、demo範例和詳盡的上手教學。
#最新功能概覽
作者團隊在GitHub上正式發布了Open-Sora 技術報告[1],根據筆者的了解,本次更新主要包括以下幾項關鍵特性:
時空擴散模型ST-DiT-2
#作者團隊表示,他們對Open-Sora 1.0中的STDiT架構進行了關鍵性改進,旨在提高模型的訓練穩定性和整體性能。針對目前的序列預測任務,團隊採納了大型語言模型(LLM)的最佳實踐,將時序注意力中的正弦波位置編碼(sinusoidal positional encoding)替換為更高效的旋轉位置編碼(RoPE embedding)。此外,為了增強訓練的穩定性,他們參考SD3模型架構,進一步引入了QK歸一化技術,以增強半精度訓練的穩定性。為了支援多解析度、不同長寬比和幀率的訓練需求,作者團隊提出的ST-DiT-2架構能夠自動縮放位置編碼,並處理不同大小尺寸的輸入。
多階段訓練
#根據Open-Sora 技術報告指出,Open-Sora 採用了一種多階段訓練方法,每個階段都會基於前一個階段的權重繼續訓練。相較於單一階段訓練,這種多階段訓練透過分步驟引入數據,更有效率地實現了高品質視訊生成的目標。
初始階段大部分影片採用144p分辨率,同時與圖片和 240p,480p 的影片進行混訓,訓練持續約1週,總步長81k。第二階段將大部分視訊資料解析度提升至240p和480p,訓練時間為1天,步伐可達22k。第三階段進一步增強至480p和720p,訓練時間為1天,完成了4k步長的訓練。整個多階段訓練流程在約9天內完成,與Open-Sora1.0相比,在多個維度提升了影片產生的品質。
統一的圖生影片/視訊生視訊框架
#作者團隊表示,基於Transformer的特性,可以輕鬆擴展DiT 架構以支援影像到影像以及影片到影片的任務。他們提出了一種遮罩策略來支援影像和影片的條件化處理。透過設定不同的掩碼,可以支援各種生成任務,包括:圖生視頻,循環視頻,視頻延展,視頻自回歸生成,視頻銜接,視頻編輯,插幀等。
支援影像和視訊條件化處理的遮罩策略
作者團隊表示,受到UL2[2]方法的啟發,他們在模型訓練階段引入了一種隨機遮罩策略。具體而言,在訓練過程中以隨機方式選擇並取消遮罩的幀,包括但不限於取消遮罩第一幀、前k幀、後k幀、任意k幀等。作者也向我們透露,基於Open-Sora 1.0的實驗,應用50%的機率應用遮罩策略時,只需少量步數模型能夠更好地學會處理影像條件化。在Open-Sora 最新版本中,他們採用了從頭開始使用遮罩策略進行預訓練的方法。
此外,作者團隊也貼心地為推理階段提供了遮罩策略配置的詳細指南,五個數字的元組形式在定義遮罩策略時提供了極大的靈活性和控制力。
掩碼策略配置說明
#支援多時間/解析度/長寬比/幀率訓練
OpenAI Sora的技術報告[3]指出,使用原始影片的解析度、長寬比和長度進行訓練可以增加取樣彈性,改善幀和構圖。對此,作者團隊提出了分桶的策略。
具體怎麼實現呢?透過深入閱讀作者發布的技術報告,我們了解到,所謂的桶,是(分辨率,幀數,長寬比)的三元組。團隊為不同解析度的影片預先定義了一系列寬高比,以覆蓋大多數常見的視訊寬高比類型。在每個訓練週期epoch開始之前,他們會對資料集進行重新洗牌,並將樣本根據其特徵分配到相應的桶中。具體來說,他們會將每個樣本放入一個解析度和幀長度均小於或等於該視訊特性的桶中。
Open-Sora 分桶策略
作者團隊進一步透露,為了降低運算資源的要求,他們為每個keep_prob和batch_size引入兩個屬性(分辨率,幀數),以減少計算成本並實現多階段訓練。這樣,他們可以控制不同桶中的樣本數量,並透過為每個桶搜尋良好的批次大小來平衡GPU負載。作者在技術報告中對此進行了詳盡的闡述,有興趣的小夥伴可以閱讀作者在GitHub上發布的技術報告來獲取更多的資訊:https://github.com/hpcaitech/Open-Sora
資料收集和預處理流程
#作者團隊甚至對資料收集與處理環節也提供了詳盡的指南。根據作者在技術報告中的闡述,在Open-Sora 1.0的開發過程中,他們意識到資料的數量和品質對於培育一個高效能模型極為關鍵,因此他們致力於擴充和優化資料集。他們建立了一個自動化的資料處理流程,該流程遵循奇異值分解(SVD)原則,涵蓋了場景分割、字幕處理、多樣化評分與篩選,以及資料集的管理系統和規格。同樣,他們也將資料處理的相關腳本無私地分享至開源社群。對此感興趣的開發者現在可以利用這些資源,結合技術報告和程式碼,來有效地處理和優化自己的資料集。
Open-Sora 資料處理流程
#影片產生效果展示
Open-Sora 最令人矚目的亮點在於,它能夠將你腦中的景象,透過文字描述的方式,捕捉並轉化為動人的動態影片。那些在思維中一閃而過的畫面和想像,現在得以被永久地記錄下來,並與他人分享。在這裡,筆者嘗試了幾種不同的prompt,作為拋磚引玉。
例如,筆者嘗試產生了一個在冬季森林裡遊覽的影片。雪剛下不久,松樹上掛滿了皚皚白雪,暗色的松針和潔白的雪花錯落有致,層次分明。
#又或者,在一個靜謐夜晚中,你身處像無數童話裡描繪過黑暗的森林,幽深的湖水在漫天璀璨的星河的照耀下波光粼粼。
在空中俯瞰繁華島嶼的夜景則更是美麗,溫暖的黃色燈光和絲帶一樣的藍色海水讓人一下子就被拉入度假的悠閒時光。
城市裡的車水馬龍,深夜依然亮著燈的高樓大廈和街邊小店,又有另一番風味。
除了風景之外,Open-Sora 還能還原各種自然生物。無論是紅豔豔的小花,
或慢悠悠扭頭的變色龍, Open-Sora 都能產生較真實的影片。
筆者也嘗試了多種prompt 測試,也提供了許多產生的影片供大家參考,包括不同內容,不同分辨率,不同長寬比,不同時長。
筆者也發現,只需一個簡潔的指令,Open-Sora便能產生多解析度的影片短片,徹底打破創作限制。
解析度:16*240p
##分辨率:32*240p
解析度:64*360p
############################################################################################################################################### ##解析度:480*854p############我們也可以餵Open-Sora一張靜態圖片讓它產生短片############## ##########
Open-Sora 還可以將兩個靜態圖巧妙地連接起來,輕觸下方視頻,將帶您體驗從下午至黃昏的光影變幻,每一格都是時間的詩篇。
再比如說我們要對原有影片進行編輯,只需一個簡單的指令,原本明媚的森林便迎來了一場鵝毛大雪。
#我們也能讓Open-Sora 產生高畫質的圖片
##值得注意的是,Open-Sora的模型權重已經完全免費公開在他們的開源社群上,不妨下載下來試試看。由於他們也支援影片拼接功能,這意味著你完全有機會免費創作出一段帶有故事性的小短片,將你的創意帶入現實。
權重下載網址:https://github.com/hpcaitech/Open-Sora
#儘管在復現類Sora文生視頻模型的工作方面取得了不錯的進展,但作者團隊也謙遜地指出,當前生成的視頻在多個方面仍有待改進:包括生成過程中的噪音問題、時間一致性的缺失、人物生成品質不佳、美學評分較低。對於這些挑戰,作者團隊表示,他們將在下一版本的開發中優先解決,以期望達到更高的影片產生標準,有興趣的朋友不妨持續關註一下。我們期待Open-Sora社群帶給我們的下一次驚喜。
開源位址:https://github.com/hpcaitech/Open-Sora
以上是Open-Sora全面開源升級:支援16s視訊生成和720p分辨率的詳細內容。更多資訊請關注PHP中文網其他相關文章!