hao86下載站:值得大家信賴的游戲下載站!

首頁 > 區(qū)塊鏈 > 8天狂收6100顆星,可商用!東京工業(yè)、麻省理工等開源Stream Diffusion

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

時間:2023-12-29 09:41:49
來源:hao86下載
區(qū)塊鏈

【#區(qū)塊鏈# #8天狂收6100顆星,可商用!東京工業(yè)、麻省理工等開源Stream Diffusion#】

原文來源:AIGC開放社區(qū)

圖片來源:由無界 AI?生成

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

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

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

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

開源地址: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

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

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

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

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


流批式去噪方法


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

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

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

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

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

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

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


殘差無分類器指導


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

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

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

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

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


流水線作業(yè)


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

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

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

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

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


隨機相似度過濾


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

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

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

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

這樣,復雜度動態(tài)變化的連續(xù)流輸入下也可以自動調節(jié)系統(tǒng)推理負載,節(jié)約GPU算力消耗。


實驗數(shù)據(jù)


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

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

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

小編推薦下載

相關文章

更多>>

同類軟件下載