一秒十圖!英偉達(dá)MIT聯(lián)手刷新SOTA,一步擴(kuò)散解鎖實(shí)時高質(zhì)量可控圖像生成
擴(kuò)散生成模型通常需要50-100次迭代去噪步驟,效率很低,時間步蒸餾技術(shù)可以極大提高推理效率,「基于分布的蒸餾」方法,如生成對抗網(wǎng)絡(luò)GAN及其變分分?jǐn)?shù)蒸餾VSD變體,以及「基于軌跡的蒸餾方法」(如直接蒸餾、漸進(jìn)蒸餾、一致性模型)可以實(shí)現(xiàn)10-100倍的圖像生成加速效果。
但仍然存在一些關(guān)鍵難點(diǎn),比如基于GAN的方法由于對抗動態(tài)的振蕩特性和模式坍塌問題,訓(xùn)練過程不穩(wěn)定;基于VSD的方法需要聯(lián)合訓(xùn)練一個額外的擴(kuò)散模型,增加了計(jì)算開銷;一致性模型雖然穩(wěn)定,但在極少數(shù)步驟(例如少于4步)的情況下,生成質(zhì)量會下降。
如何開發(fā)一個能夠兼顧效率、靈活性和質(zhì)量的蒸餾框架成了模型部署的關(guān)鍵。
圖片
論文地址:https://arxiv.org/pdf/2503.09641
項(xiàng)目主頁:https://nvlabs.github.io/Sana/Sprint/
基于OpenAI提出的連續(xù)時間一致性模型(sCM)的方法,研究人員提出SANA-Sprint,進(jìn)一步結(jié)合了LADD的對抗蒸餾技術(shù),幫助模型在蒸餾過程中更好地保留細(xì)節(jié)信息,從而實(shí)現(xiàn)超快速且高質(zhì)量的文本到圖像生成,同時避免了離散化帶來的誤差,保留了傳統(tǒng)一致性模型的優(yōu)勢。
SANA-Sprint的核心在于其創(chuàng)新的混合蒸餾框架和對ControlNet的集成,主要貢獻(xiàn)包括:
1.混合蒸餾框架:設(shè)計(jì)了一種新穎的混合蒸餾框架,將預(yù)訓(xùn)練的流匹配模型無縫轉(zhuǎn)換為TrigFlow模型,集成了連續(xù)時間一致性模型(sCM)和潛在對抗擴(kuò)散蒸餾(LADD)。
sCM確保了模型與教師模型的一致性和多樣性保留,而LADD則增強(qiáng)了單步生成的保真度,從而實(shí)現(xiàn)了統(tǒng)一的步長自適應(yīng)采樣。
圖片
2.卓越的速度/質(zhì)量權(quán)衡:SANA-Sprint僅需1-4步即可實(shí)現(xiàn)卓越的性能。在H100上,SANA-Sprint僅需0.10-0.18秒即可生成1024x1024的圖像,在MJHQ-30K數(shù)據(jù)集上實(shí)現(xiàn)了7.59的FID和0.74的GenEval分?jǐn)?shù),超越了FLUX-schnell(7.94FID/0.71GenEval),速度提升了10倍。
圖片
3.實(shí)時交互式生成:通過將ControlNet與SANA-Sprint集成,實(shí)現(xiàn)了在H100上僅需0.25秒的實(shí)時交互式圖像生成。這為需要即時視覺反饋的應(yīng)用(如ControlNet引導(dǎo)的圖像生成/編輯)提供了可能,實(shí)現(xiàn)了更好的人機(jī)交互。
圖片
SANA-Sprint不僅在速度和性能上表現(xiàn)出色,生成的圖像質(zhì)量也非常高。
圖片
SANA-Sprint
SANA-Sprint方法主要包括以下四個關(guān)鍵步驟:
1. 無訓(xùn)練轉(zhuǎn)換到TrigFlow
研究人員提出了一種簡單的方法,通過直接的數(shù)學(xué)輸入和輸出轉(zhuǎn)換,將預(yù)訓(xùn)練的流匹配模型轉(zhuǎn)換為TrigFlow模型。這使得可以直接使用已有的預(yù)訓(xùn)練模型,無需額外的TrigFlow模型的訓(xùn)練。
動機(jī)是,雖然sCM使用TrigFlow公式簡化了連續(xù)時間一致性模型的訓(xùn)練,但大多數(shù)基于分?jǐn)?shù)的生成模型(如擴(kuò)散模型和流匹配模型)并不直接支持TrigFlow。
為了克服這一挑戰(zhàn),SANA-Sprint提出了一種無需重新訓(xùn)練的轉(zhuǎn)換方法,通過數(shù)學(xué)變換將流匹配模型轉(zhuǎn)換TrigFlow模型,從而避免了復(fù)雜的額外算法設(shè)計(jì)和額外的計(jì)算成本。
2. 混合蒸餾策略
混合蒸餾策略結(jié)合了sCM和LADD兩種蒸餾方法。sCM利用TrigFlow的公式簡化了連續(xù)時間一致性模型的訓(xùn)練,而LADD則通過對抗訓(xùn)練在潛在空間中直接進(jìn)行判別,進(jìn)一步提升了生成質(zhì)量。
3. 穩(wěn)定訓(xùn)練的關(guān)鍵技術(shù)
- 密集時間嵌入(Dense Time-Embedding):為了穩(wěn)定連續(xù)時間一致性模型的訓(xùn)練,SANA-Sprint采用了密集時間嵌入設(shè)計(jì)。通過將噪聲系數(shù)
調(diào)整為
- Query-Key歸一化(QK-Normalization):在Transformer模型的自注意力和交叉注意力機(jī)制中引入了RMS歸一化,進(jìn)一步穩(wěn)定了訓(xùn)練過程,尤其是在大模型和高分辨率場景下。
4. 集成ControlNet
將SANA-Sprint的訓(xùn)練流程應(yīng)用于ControlNet任務(wù),利用圖像和文本提示作為條件,實(shí)現(xiàn)了SANA-ControlNet模型,并通過蒸餾得到SANA-Sprint-ControlNet,支持實(shí)時的圖像編輯和生成。
實(shí)驗(yàn)結(jié)果
研究人員采用了兩階段的訓(xùn)練策略,詳細(xì)的設(shè)置和評估協(xié)議在論文附錄中進(jìn)行了概述。
教師模型通過剪枝和微調(diào)SANA-1.5 4.8B模型得到,然后使用文中提出的訓(xùn)練范式進(jìn)行蒸餾,使用包括FID、MJHQ-30K上的CLIP Score和GenEval在內(nèi)的指標(biāo)評估性能。
實(shí)驗(yàn)結(jié)果表明,SANA-Sprint在速度和質(zhì)量方面均達(dá)到了最先進(jìn)的水平。
- 效率與性能對比:在4步推理下,SANA-Sprint 0.6B實(shí)現(xiàn)了5.34個樣本/秒的吞吐量和0.32秒的延遲,F(xiàn)ID為6.48,GenEval為0.76;SANA-Sprint 1.6B 的吞吐量略低(5.20個樣本/秒),但GenEval提升至0.77,優(yōu)于更大的模型如FLUX-schnell 12B,其吞吐量僅為0.5個樣本/秒,延遲為2.10秒。
- 單步生成性能:SANA-Sprint在單步生成方面也表現(xiàn)出色,實(shí)現(xiàn)了7.59的FID和0.74的GenEval分?jǐn)?shù),超越了其他單步生成方法。
- 實(shí)時交互式生成:集成ControlNet的SANA-Sprint模型在H100上實(shí)現(xiàn)了約200毫秒的推理速度,支持近乎實(shí)時的交互。
結(jié)論與展望
SANA-Sprint是一款高效的擴(kuò)散模型,用于超快速的單步文本到圖像生成,同時保留了多步采樣的靈活性。通過采用結(jié)合了連續(xù)時間一致性蒸餾(sCM)和潛在對抗蒸餾(LADD)的混合蒸餾策略,SANA-Sprint在一步內(nèi)實(shí)現(xiàn)了7.59的FID和0.74的GenEval分?jǐn)?shù),無需針對特定步驟進(jìn)行訓(xùn)練。
該統(tǒng)一的步長自適應(yīng)模型僅需0.1秒即可在H100上生成高質(zhì)量的1024x1024圖像,在速度和質(zhì)量的權(quán)衡方面樹立了新的標(biāo)桿。
展望未來,SANA-Sprint的即時反饋特性將為實(shí)時交互應(yīng)用(如響應(yīng)迅速的創(chuàng)意工具和AIPC)開啟新的可能性。
參考資料: