本文來自于微信公眾號 機器之心(ID:almosthuman2014),作者:機器之心。
在手機等移動端側運行 Stable Diffusion 等文生圖生成式 AI 大模型已經成為業界追逐的熱點之一,其中生成速度是主要的制約因素。
近日,來自谷歌的一篇論文「MobileDiffusion: Subsecond Text-to-Image Generation on Mobile Devices」,提出了手機端最快文生圖,在 iPhone15Pro 上只要0.2秒。論文出自 UFOGen 同一團隊,在打造超小擴散模型的同時, 采用當前大火的 Diffusion GAN 技術路線做采樣加速。
下面是 MobileDiffusion 一步生成的結果。
那么,MobileDiffusion 是如何優化得到的呢?
讓我們先從問題出發,為什么優化是必須的。
當下最火的文本到圖像生成都是基于擴散模型來實現的。依賴于其預訓練模型強大的基本圖像生成能力和在下游微調任務上的穩健性質, 我們看到了擴散模型在諸如圖像編輯、可控生成、 個性化生成以及視頻生成的非凡表現。
然而作為 Foundation Model, 它的不足也很明顯,主要包括了兩方面:一是擴散模型的大量參數導致計算速度慢,尤其是在資源有限的情況下;二是擴散模型需要多步才能采樣,這進一步導致很慢的推理速度。拿最火的的 Stable Diffusion1.5(SD) 為例,其基礎模型包含了接近10億參數,我們在 iPhone15Pro 上將模型量化后進行推理,50步采樣需要接近80s。如此昂貴的資源需求和遲滯的用戶體驗極大的限制了其在移動端的應用場景。
為了解決以上問題,MobileDiffusion 點對點地進行優化。(1) 針對模型體積龐大的問題,我們主要對其核心組件 UNet 進行了大量試驗及優化,包括了將計算昂貴的卷積精簡和注意力運算放在了較低的層上,以及針對 Mobile Devices 的操作優化,諸如激活函數等。(2)針對擴散模型需要多步采樣的問題, MobileDiffusion 探索并實踐了像 Progressive Distillation 和當前最先進的 UFOGen 的一步推理技術。
模型優化
MobileDiffusion 基于當下開源社區里最火的 SD1.5UNet 進行優化。在每次的優化操作后, 會同時衡量相對于原始 UNet 模型的性能的損失,測量指標包括 FID 和 CLIP 兩個常用 metric。
宏觀設計
上圖左邊是原始 UNet 的設計示意, 可以看出基本包括了 Convolution 和 Transformer,Transformer 又包括了 Self-Attention 和 Cross-Attention。
MobileDiffusion 對 UNet 優化的核心思路分為兩點:1)精簡 Convolution, 眾所周知,在高分辨率的特征空間上進行了 Convolution 是十分耗時的, 而且參數量很大,這里指的是 Full Convolution;2)提高 Attention 效率。和 Convolution 一樣,高 Attention 需要對整個特征空間的長度進行運算,Self-Attention 復雜度和特征空間展平后長度成平方關系,Cross-Attention 也要和空間長度成正比。
實驗表明將整個 UNet 的16個 Transformer 移到特征分辨率最低的內層,同時每一層都剪掉一個卷積,不會對性能有明顯影響。達到的效果就是:MobileDiffusion 將原本22個 Convolution 和16個 Transformer,可以極致地精簡到11個 Convolution 和12個左右 Transformer,并且這些注意力都是在低分辨率特征圖上進行的,因為效率會極大提升,帶來了40% 效率提升和40% 參數剪切,最終模型如上圖右圖所示。和更多模型的對比如下:
微觀設計
這里將只介紹幾種新穎的設計,有興趣的讀者可以閱讀正文, 會有更詳細的介紹。
Decouple Self-Attention and Cross-Attention
傳統 UNet 里 Transformer 同時包含 Self-Attention 和 Cross-Attention,MobileDiffusion 將 Self-Attention 全部放在了最低分辨率特征圖,但是保留一個 Cross-Attention 在中間層,發現這種設計既提高了運算效率又保證了模型出圖質量
Finetune softmax into relu
softmax 眾所周知在大部分未優化情況下是難以并行的,因此效率很低。MobileDiffusion 提出直接將 softmax 函數 finetune 到 relu,因為 relu 是每一個點的激活,更為高效。令人驚訝的是,只需要大概一萬步的微調,模型 metric 反而提升了,出圖質量也有保障。因此 relu 相比于 softmax 的優勢是很明顯的了。
Separable Convolution (可分離卷積)
MobileDiffuison 精簡參數的關鍵還在采用了 Seprable Convolution。這種技術已經被 MobileNet 等工作證實是極為有效的,特別是移動端,但是一般在生成模型上很少采用。MobileDiffusion 實驗發現 Separable Convolution 對減少參數是很有效的,尤其是將其放在 UNet 最內層,模型質量經分析證明是沒有損失的。
采樣優化
當下最常采用的采樣優化方法包括了 Progressive Distillation 和 UFOGen, 分別可以做到8steps 和1step。為了證明在模型極致精簡后,這些采樣依然適用,MobileDiffusion 對兩者同時做了實驗驗證。
采樣優化前后和基準模型的比較如下,可以看出采樣優化后的8steps 和1step 的模型,指標都是比較突出的。
實驗與應用
移動端基準測試
MobileDiffusion 在 iPhone15Pro 上可以得到當前最快的出圖速度,0.2s!
下游任務測試
MobileDiffusion 探索了包括 ControlNet/Plugin 和 LoRA Finetune 的下游任務。從下圖可以看出,經過模型和采樣優化后,MobileDiffusion 依然保持了優秀的模型微調能力。
總結
MobileDiffusion 探索了多種模型和采樣優化方法,最終可以實現在移動端的亞秒級出圖能力,下游微調應用依然有保障。我們相信這將會對今后高效的擴散模型設計產生影響,并拓展移動端應用實例。
文章內容僅供閱讀,不構成投資建議,請謹慎對待。投資者據此操作,風險自擔。
海報生成中...
海藝AI的模型系統在國際市場上廣受好評,目前站內累計模型數超過80萬個,涵蓋寫實、二次元、插畫、設計、攝影、風格化圖像等多類型應用場景,基本覆蓋所有主流創作風格。
IDC今日發布的《全球智能家居清潔機器人設備市場季度跟蹤報告,2025年第二季度》顯示,上半年全球智能家居清潔機器人市場出貨1,2萬臺,同比增長33%,顯示出品類強勁的市場需求。