Google開發了可以在移動設備上,以次秒(Subsecond)速度執行文本轉圖像的模型MobileDiffusion。MobileDiffusion是一種高效的擴散模型,在iOS和Android高端設備上,能在半秒內生成512x512的高品質圖像。MobileDiffusion相較於其他圖像生成模型小上許多,只有5.2億參數特別適用於移動應用部署。
當前文本轉圖像擴散模型越來越成熟,用戶只要輸入文本提示,模型就可生成高品質圖像,但是先進的模移動輒擁有數十億個參數,因此執行成本也非常高昂,需要強大的台式機或是伺服器才能快速運算。
研究人員指出,造成文本轉圖像擴散模型性能低落的主要原因有兩個,第一是擴散模型固有設計需要疊代去噪生成圖像,而這需要對模型進行多次評估,第二則是文本轉圖像擴散模型網路架構的高複雜性,通常具有數十億參數導致運算成本高昂。
由於這些性能上的障礙,儘管在移動設備上執行生成式人工智慧模型,具有強化用戶體驗、高隱私性的好處,但目前研究仍相對較少。當然還是有一些提升文本轉圖像擴散模型效率的研究,像是通過數值求解器或是蒸餾技術,減少模型的功能評估數量(Number of Function Evaluations,NFE),希望藉由降低評估所帶來的運算負擔。但即便如此,由於模型架構仍然非常複雜,在移動設備上即便是少量的評估步驟,仍然可能執行地很慢。
MobileDiffusion則是研究人員試圖突破移動設備有限運算能力的限制,藉由仔細查看Stable Diffusion中UNet架構每個組成部分和計算操作,設計出高效文本轉圖像擴散模型。MobileDiffusion遵循潛在擴散模型的設計,具有文本編碼器、擴散UNet和圖像解碼器,研究人員使用適用於移動設備的小模型CLIP-ViT/L14,作為MobileDiffusion文本編碼器,並將改進效率的重點,擺在擴散UNet和圖像解碼器上。
擴散UNet是一種深度學習模型架構,用於生成或是轉換圖像,本身是一種特殊的卷積神經網路,其特點是具有對稱的U型結構,有助於模型在進行圖像處理時保留細節資訊。研究人員主要使用兩種方法來來提升擴散UNet的效率,第一是在模型瓶頸處,也就是資訊最集中的地方,使用更多的Transformer區塊以降低計算量,第二是使用輕量級可分離卷積。卷積區塊主要用於圖像特徵截取,但是傳統卷積操作計算量大,因此研究人員通過使用可分離卷積,在不降低模型性能的情況下,減少需要的計算量。
除了擴散UNet,研究人員也著手優化圖像解碼器,通過訓練變分自編碼器(Variational Autoencoder,VAE)簡化圖像表示,使圖像資訊能縮小至原圖八分之一,減少存儲和計算需求,並使用簡化版的解碼器明顯提高性能,在降低延遲接近50%的情況下,還可以維持甚至提升圖像品質。研究人員還採用了DiffusionGAN混合模型實現一步採樣,這是一種結合擴散模型和生成對抗網路(GAN)的新技術,能夠一步驟生成圖像,相較於傳統的多步驟方法快上不少。
雖然MobileDiffusion只有5.2億個參數,卻可以生成不同領域的高品質圖像。由於MobileDiffusion只需要半秒鐘便可以在移動設備上生成512x512圖像,因此可以在用戶邊輸入文本提示的同時,迅速生成圖像,能應用於移動設備創造各種即時圖像生成體驗。