8天狂收6100顆星,可商用!東京工業、麻省理工等開源Stream Diffusion

      后臺-系統設置-擴展變量-手機廣告位-內容正文頂部

      加州大學伯克利分校、東洋大學、東京工業大學、麻省理工學院和筑波大學等研究人員,聯合開源了一款創新性實時交互圖像生成框架——Stream Diffusion。

      Stream Diffusion的技術創新點在于,將傳統的順序去噪變成流批處理去噪,消除了漫長的等待、交互生成方式,實現了流暢且吞吐量超高的圖像生成方法

      同時引入了“殘差無分類器指導”方法,進一步提升了流批處理的效率和圖像質量。

      根據Stream Diffusion在Github上的項目提交歷史記錄顯示,僅用了8天的時間就收到6100顆星成為霸榜開源產品,其性能和歡迎程度可見一斑。允許開發者商用。

      開源地址:https://github.com/cumulo-autumn/StreamDiffusion

      論文地址:https://arxiv.org/abs/2312.12491

      Demo展示:https://github.com/cumulo-autumn/StreamDiffusion/blob/main/assets/demo_03.gif


       

      目前,擴散模型在圖像生成方面獲得了廣泛應用并成功實現商業化落地,例如,該領域的標桿產品Midjourney。

      但在實時交互方面表現不佳需要漫長的等待,尤其是涉及連續輸入的場景中尤為明顯。

      為了解決這些難題,研究人員設計了一種新穎的輸出、輸入方法,就是將原始的順序去噪轉化為批處理去噪過程。

      簡單來說,Stream Diffusion相當于大模型領域的機械化流水作業,將單一、繁瑣的去噪、推理流程改成批量處理。

      流批式去噪方法

      流批式去噪是Stream Diffusion的核心功能之一,也是實現實時交互的關鍵所在。

      傳統的交互式擴散模型都是順序執行:一次輸入一張圖片,走完全部的去噪步驟后,再輸出一張結果圖像。然后不斷重復這個過程,生成完成更多的圖像處理。

      這樣就造成一個很大的問題速度和質量難以同時得到保證。為了生成高質量的圖像,需要設置較多的去噪步驟,導致生成圖像的效率較慢,無法做到“魚與熊掌”兼得。

      流批式去噪的核心思想是:當輸入第一張圖像開始去噪步時,不必等待它完成,就可以接收第二張圖像,以實現批量方式處理。

      這樣,U-Net只需要不斷調用,處理一個批量的特征,就可以高效實現圖像生成流水線的批量推進。


       

      此外,流批式去噪方法的好處在于,每次調用U-Net就可以使多個圖像同時推進一步,而U-Net的批量運算非常適合GPU并行計算,所以整體運算效率非常高。

      最終可以在保證質量的同時,顯著縮短單張圖像的生成時間。

      殘差無分類器指導

      為了強化提示條件對結果的影響,擴散模型通常使用一種叫“無分類器指導”的策略。

      在傳統方法中,計算負條件向量時需要對每個輸入潛向量配對負條件嵌入,每次推理都要調用U-Net算力消耗巨大。

      為了解決這個問題,研究人員提出了“殘差無分類器指導”方法。其核心方法是,假定存在一個“虛擬殘差噪聲”向量,用來逼近負條件向量


       

      首先計算“正條件”向量,再用正條件向量反推這個虛擬負條件向量。這樣就避免了每次都要額外調用U-Net來計算真實的負條件向量,從而大幅減少了算力。

      簡單來說,就是用原始的輸入圖像編碼作為負樣本,無需調用U-Net就可以計算。稍微復雜一點的“一次負條件”,是在第一步使用U-Net計算一次負向量,然后重復使用這個向量近似后面的所有負向量。

      流水線作業

      該模塊的功能是使整個系統的瓶頸不再是數據格式的轉換,而是基于模型本身的推理時間。

      通常,輸入的圖片需要縮放、轉換格式等預處理才能成為模型可用的張量;輸出的張量也需要后處理恢復為圖片格式,整個流程消耗大量時間和算力。


       

      流水線作業將預/后處理與模型推理完全分離開來,置于不同的線程中并行執行。輸入圖像經過預處理進入輸入隊列緩存;

      輸出張量從輸出隊列發出,再后處理為圖片。這樣兩者就可以不互相等待,從而優化了整體流程速度。


       

      此外,該方法還起到平滑數據流的作用。當輸入源故障或通信錯誤導致暫時沒法傳入新圖像時,隊列可以繼續提供之前緩存的圖像,保證模型的流暢運行。

      隨機相似度過濾

      該模塊的功能是顯著減少GPU算力消耗。當輸入的圖片連續相同或高度相似時,反復推理是沒有任何意義的。

      所以,相似度過濾模塊計算輸入圖片與歷史參考幀的相似度。如果高于設定閾值,則以一定概率跳過后續的模型推理;

      如果低于閾值,則正常進行模型推理并更新參考幀。這種概率采樣機制使得過濾策略可以平滑自然地對系統進行節流,降低平均GPU使用率。


       

      在靜態輸入下過濾效果明顯,動態變化大時自動降低過濾率,系統可以自適應場景動態性。

      這樣,復雜度動態變化的連續流輸入下也可以自動調節系統推理負載,節約GPU算力消耗。

      實驗數據

      為了測試Stream Diffusion的性能,研究人員在RTX3060、RTX4090上進行了測試。

      效率方面,實現了超過91 FPS的生成幀率,是當前最先進的AutoPipeline的近60倍,并極大減少去噪步驟。

      功耗方面,靜態輸入下,RTX3060和RTX4090的平均功率分別降低了2.39倍和1.99倍。

      本文素材來源Stream Diffusion論文,如有侵權請聯系刪除

      未經允許不得轉載:RPA中國 | RPA全球生態 | 數字化勞動力 | RPA新聞 | 推動中國RPA生態發展 | 流 > 8天狂收6100顆星,可商用!東京工業、麻省理工等開源Stream Diffusion

      后臺-系統設置-擴展變量-手機廣告位-內容正文底部
      主站蜘蛛池模板: 灵山县| 德清县| 沐川县| 乡城县| 汶上县| 静海县| 株洲市| 观塘区| 探索| 应用必备| 黑山县| 嘉兴市| 锡林郭勒盟| 黎川县| 峨眉山市| 互助| 东辽县| 江川县| 平武县| 黎川县| 陈巴尔虎旗| 壶关县| 涪陵区| 乐安县| 高碑店市| 通城县| 阜平县| 贵溪市| 迭部县| 呼和浩特市| 平利县| 河西区| 沭阳县| 吉木乃县| 鄄城县| 开江县| 陇南市| 留坝县| 淳化县| 古浪县| 巫山县|