目錄
核心方法
實驗結果
總結與未來工作
首頁 科技週邊 人工智慧 iPhone兩秒出圖,目前已知最快的行動端Stable Diffusion模型來了

iPhone兩秒出圖,目前已知最快的行動端Stable Diffusion模型來了

Jun 12, 2023 am 11:15 AM
模型 訓練

Stable Diffusion (SD)是當前最熱門的文字到圖像(text to image)生成擴散模型。儘管其強大的圖像生成能力令人震撼,一個明顯的不足是需要的計算資源巨大,推理速度很慢:以SD-v1.5 為例,即使用半精度存儲,其模型大小也有1.7GB,近10 億參數,端上推理時間往往接近2min。

為了解決推理速度問題,學術界與業界已經開始對SD 加速的研究,主要集中在兩條路線:(1)減少推理步數,這條路線又可以分為兩條子路線,一是透過提出更好的noise scheduler 來減少步數,代表作是DDIM [1],PNDM [2],DPM [3] 等;二是透過漸進式蒸餾(Progressive Distillation)來減少步數,代表作是Progressive Distillation [4] 和w-conditioning [5] 等。 (2)工程技巧優化,代表作是Qualcomm 透過int8 量化全端優化實現SD-v1.5 在安卓手機上15s 出圖[6],Google 透過端上GPU 優化將SD-v1.4 在三星手機上加速到12s [7]。

儘管這些工作取得了長足的進步,但仍然不夠快。

近日,Snap 研究院推出最新高效能Stable Diffusion 模型,透過網路結構、訓練流程、損失函數全方位進行最佳化,在iPhone 14 Pro 上實現2 秒出圖(512x512),且比SD-v1.5 取得更好的CLIP score。這是目前已知最快的端上 Stable Diffusion 模型!

iPhone两秒出图,目前已知的最快移动端Stable Diffusion模型来了

  • #論文網址:https://arxiv.org/pdf/2306.00980.pdf
  • Webpage: https://snap-research.github.io/SnapFusion

核心方法

Stable Diffusion 模型分為三個部分:VAE encoder/decoder, text encoder, UNet,其中UNet 無論是參數量還是計算量,都佔絕對的大頭,因此SnapFusion 主要是對UNet 進行優化。具體分為兩部分:(1)UNet 結構上的最佳化:透過分析原有UNet 的速度瓶頸,本文提出一套UNet 結構自動評估、演化流程,得到了更為高效的UNet 結構(稱為Efficient UNet) 。 (2)推理步數上的最佳化:眾所周知,擴散模型在推理時是一個迭代的去噪過程,迭代的步數越多,生成圖片的品質越高,但時間代價也隨著迭代步數線性增加。為了減少步數並維持圖片質量,我們提出一種 CFG-aware 蒸餾損失函數,在訓練過程中明確考慮 CFG (Classifier-Free Guidance)的作用,這一損失函數被證明是提升 CLIP score 的關鍵!

下表是 SD-v1.5 與 SnapFusion 模型的概況對比,可見速度提升來自 UNet 和 VAE decoder 兩個部分,UNet 部分是大頭。 UNet 部分的改進有兩方面,一是單次latency 下降(1700ms -> 230ms,7.4x 加速),這是透過提出的Efficient UNet 結構得到的;二是Inference steps 降低(50 -> 8,6.25 x 加速),這是透過提出的CFG-aware Distillation 得到的。 VAE decoder 的加速是透過結構化剪枝來實現。

iPhone两秒出图,目前已知的最快移动端Stable Diffusion模型来了

以下著重於 Efficient UNet 的設計和 CFG-aware Distillation 損失函數的設計。

(1)Efficient UNet

我們透過分析UNet 中的Cross-Attention 和ResNet 模組,定位速度瓶頸在於Cross-Attention 模組(尤其是第一個Downsample 階段的Cross-Attention),如下圖所示。這個問題的根源是因為 attention 模組的複雜度跟特徵圖的 spatial size 成平方關係,在第一個 Downsample 階段,特徵圖的 spatial size 仍然較大,導致計算複雜度高。

iPhone两秒出图,目前已知的最快移动端Stable Diffusion模型来了

為了優化UNet 結構,我們提出一套UNet 結構自動評估、進化流程:先對UNet 進行穩健性訓練(Robust Training),在訓練中隨機drop 一些模組,以此來測試出每個模組對效能的真實影響,從而建立一個「對CLIP score 的影響vs. latency」 的查找表;然後根據該查找表,優先去除對CLIP score 影響不大同時又很耗時的模組。這套流程是在線上自動進行,完成之後,我們就得到了一個全新的 UNet 架構,稱為 Efficient UNet。相較於原版 UNet,實現 7.4x 加速且效能不降。

(2)CFG-aware Step Distillation

CFG(Classifier-Free Guidance)是SD 推理階段的必備技巧,可以大幅提升圖片質量,非常關鍵!儘管已有工作對擴散模型進行步數蒸餾(Step Distillation)來加速 [4],但是它們沒有在蒸餾訓練中把 CFG 納入優化目標,也就是說,蒸餾損失函數並不知道後面會用到 CFG。這一點根據我們的觀察,在步數少的時候會嚴重影響 CLIP score。

為了解決這個問題,我們提出在計算蒸餾損失函數之前,先讓teacher 和student 模型都進行CFG,這樣損失函數是在經過CFG 之後的特徵上計算,從而明確地考慮了不同CFG scale 的影響。實驗中我們發現,完全使用 CFG-aware Distillation 儘管可以提高 CLIP score, 但 FID 也明顯變差。我們進而提出了一個隨機採樣方案來混合原來的 Step Distillation 損失函數和 CFG-aware Distillation 損失函數,實現了二者的優勢共存,既顯著提高了 CLIP score,同時 FID 也沒有變差。此步驟,實現進一步推理階段加速 6.25 倍,實現總加速約 46 倍。

除了以上兩個主要貢獻,文中還有對 VAE decoder 的剪枝加速以及蒸餾流程上的精心設計,具體內容請參考論文。

實驗結果

SnapFusion 對標SD-v1.5 text to image 功能,目標是實現推理時間大幅縮減並維持影像品質不降,最能說明這一點的是下圖:

iPhone两秒出图,目前已知的最快移动端Stable Diffusion模型来了

該圖是在MS COCO'14 驗證集上隨機選取30K caption-image pairs 測算CLIP score 和FID。 CLIP score 衡量圖片與文字的語意吻合程度,越大越好;FID 衡量生成圖片與真實圖片之間的分佈距離(一般被認為是產生圖片多樣性的測量),越小越好。圖中不同的點是使用不同的 CFG scale 來獲得,每一個 CFG scale 對應一個資料點。從圖中可見,我們的方法(紅線)可以達到跟 SD-v1.5(藍線)相同的最低 FID,同時,我們方法的 CLIP score 更好。值得注意的是,SD-v1.5 需要 1.4min 產生一張圖片,而 SnapFusion 僅需要 1.84s,這也是目前我們已知最快的行動端 Stable Diffusion 模型!

以下是一些SnapFusion 產生的樣本:

iPhone两秒出图,目前已知的最快移动端Stable Diffusion模型来了

更多樣本請參考文章附錄。

除了這些主要結果,文中也展示了許多燒蝕分析(Ablation Study)實驗,希望能為高效SD 模型的研發提供參考經驗:

#(1)之前Step Distillation 的工作通常採用漸進式方案[4, 5],但我們發現,在SD 模型上漸進式蒸餾並沒有比直接蒸餾更有優勢,且過程繁瑣,因此我們在文中採用的是直接蒸餾方案。

iPhone两秒出图,目前已知的最快移动端Stable Diffusion模型来了

(2)CFG 雖然可以大幅提升影像質量,但代價是推理成本翻倍。今年CVPR'23 Award Candidate 的On Distillation 一文[5] 提出w-conditioning,將CFG 參數作為UNet 的輸入進行蒸餾(得到的模型叫做w-conditioned UNet),從而在推理時省卻CFG 這一步驟,實現推理成本減半。但我們發現,這樣做其實會造成圖片品質下降,CLIP score 降低(如下圖中,四條 w-conditioned 線 CLIP score 均未超過 0.30, 劣於 SD-v1.5)。而我們的方法則可以減少步數,同時將 CLIP score 提高,得益於所提出的 CFG-aware 蒸餾損失函數!尤其值得主要的是,下圖中綠線(w-conditioned, 16 steps)與橙線(Ours,8 steps)的推理代價是一樣的,但明顯橙線更優,說明我們的技術路線比w- conditioning [5] 在蒸餾CFG guided SD 模型上更為有效。

iPhone两秒出图,目前已知的最快移动端Stable Diffusion模型来了

(3)既有Step Distillation 的工作[4, 5] 沒有將原有的損失函數和蒸餾損失函數加在一起,熟悉影像分類知識蒸餾的朋友應該知道,這種設計直覺上來說是欠優的。於是我們提出把原有的損失函數加入訓練中,如下圖所示,確實有效(小幅降低 FID)。

iPhone两秒出图,目前已知的最快移动端Stable Diffusion模型来了

總結與未來工作

本文提出SnapFusion,一個行動裝置高效能Stable Diffusion 模型。 SnapFusion 有兩點核心貢獻:(1)透過對現有UNet 的逐層分析,定位速度瓶頸,提出一種新的高效UNet 結構(Efficient UNet),可以等效替換原Stable Diffusion 中的UNet,實現7.4 x 加速;(2)對推理階段的迭代步數進行最佳化,提出一種全新的步數蒸餾方案(CFG-aware Step Distillation),減少步數的同時可顯著提升CLIP score,實現6.25x 加速。總體來說,SnapFusion 在 iPhone 14 Pro 上實現 2 秒內出圖,這是目前已知最快的行動端 Stable Diffusion 車型。

未來工作:

#1.SD 模型在多種影像產生場景中都可以使用,本文囿於時間,目前只關注了text to image 這個核心任務,後期將跟進其他任務(如inpainting,ControlNet 等等)。

2. 本文主要關注速度上的提升,並未對模型儲存進行最佳化。我們相信所提出的 Efficient UNet 仍然具備壓縮的空間,結合其他的高性能優化方法(如剪枝,量化),有望縮小存儲,並將時間降低到 1 秒以內,離端上實時 SD 更進一步。

以上是iPhone兩秒出圖,目前已知最快的行動端Stable Diffusion模型來了的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

開源!超越ZoeDepth! DepthFM:快速且精確的單目深度估計! 開源!超越ZoeDepth! DepthFM:快速且精確的單目深度估計! Apr 03, 2024 pm 12:04 PM

0.這篇文章乾了啥?提出了DepthFM:一個多功能且快速的最先進的生成式單目深度估計模型。除了傳統的深度估計任務外,DepthFM還展示了在深度修復等下游任務中的最先進能力。 DepthFM效率高,可以在少數推理步驟內合成深度圖。以下一起來閱讀這項工作~1.論文資訊標題:DepthFM:FastMonocularDepthEstimationwithFlowMatching作者:MingGui,JohannesS.Fischer,UlrichPrestel,PingchuanMa,Dmytr

全球最強開源 MoE 模型來了,中文能力比肩 GPT-4,價格僅 GPT-4-Turbo 的近百分之一 全球最強開源 MoE 模型來了,中文能力比肩 GPT-4,價格僅 GPT-4-Turbo 的近百分之一 May 07, 2024 pm 04:13 PM

想像一下,一個人工智慧模型,不僅擁有超越傳統運算的能力,還能以更低的成本實現更有效率的效能。這不是科幻,DeepSeek-V2[1],全球最強開源MoE模型來了。 DeepSeek-V2是一個強大的專家混合(MoE)語言模型,具有訓練經濟、推理高效的特點。它由236B個參數組成,其中21B個參數用於啟動每個標記。與DeepSeek67B相比,DeepSeek-V2效能更強,同時節省了42.5%的訓練成本,減少了93.3%的KV緩存,最大生成吞吐量提高到5.76倍。 DeepSeek是一家探索通用人工智

AI顛覆數學研究!菲爾茲獎得主、華裔數學家領銜11篇頂刊論文|陶哲軒轉贊 AI顛覆數學研究!菲爾茲獎得主、華裔數學家領銜11篇頂刊論文|陶哲軒轉贊 Apr 09, 2024 am 11:52 AM

AI,的確正在改變數學。最近,一直十分關注這個議題的陶哲軒,轉發了最近一期的《美國數學學會通報》(BulletinoftheAmericanMathematicalSociety)。圍繞著「機器會改變數學嗎?」這個話題,許多數學家發表了自己的觀點,全程火花四射,內容硬核,精彩紛呈。作者陣容強大,包括菲爾茲獎得主AkshayVenkatesh、華裔數學家鄭樂雋、紐大電腦科學家ErnestDavis等多位業界知名學者。 AI的世界已經發生了天翻地覆的變化,要知道,其中許多文章是在一年前提交的,而在這一

你好,電動Atlas!波士頓動力機器人復活,180度詭異動作嚇到馬斯克 你好,電動Atlas!波士頓動力機器人復活,180度詭異動作嚇到馬斯克 Apr 18, 2024 pm 07:58 PM

波士頓動力Atlas,正式進入電動機器人時代!昨天,液壓Atlas剛「含淚」退出歷史舞台,今天波士頓動力就宣布:電動Atlas上崗。看來,在商用人形機器人領域,波士頓動力是下定決心要跟特斯拉硬剛一把了。新影片放出後,短短十幾小時內,就已經有一百多萬觀看。舊人離去,新角色登場,這是歷史的必然。毫無疑問,今年是人形機器人的爆發年。網友銳評:機器人的進步,讓今年看起來像人類的開幕式動作、自由度遠超人類,但這真不是恐怖片?影片一開始,Atlas平靜地躺在地上,看起來應該是仰面朝天。接下來,讓人驚掉下巴

替代MLP的KAN,被開源專案擴展到卷積了 替代MLP的KAN,被開源專案擴展到卷積了 Jun 01, 2024 pm 10:03 PM

本月初,來自MIT等機構的研究者提出了一種非常有潛力的MLP替代方法—KAN。 KAN在準確性和可解釋性方面表現優於MLP。而且它能以非常少的參數量勝過以更大參數量運行的MLP。例如,作者表示,他們用KAN以更小的網路和更高的自動化程度重現了DeepMind的結果。具體來說,DeepMind的MLP有大約300,000個參數,而KAN只有約200個參數。 KAN與MLP一樣具有強大的數學基礎,MLP基於通用逼近定理,而KAN基於Kolmogorov-Arnold表示定理。如下圖所示,KAN在邊上具

特斯拉機器人進廠打工,馬斯克:手的自由度今年將達到22個! 特斯拉機器人進廠打工,馬斯克:手的自由度今年將達到22個! May 06, 2024 pm 04:13 PM

特斯拉機器人Optimus最新影片出爐,已經可以在工廠裡打工了。正常速度下,它分揀電池(特斯拉的4680電池)是這樣的:官方還放出了20倍速下的樣子——在小小的「工位」上,揀啊揀啊揀:這次放出的影片亮點之一在於Optimus在廠子裡完成這項工作,是完全自主的,全程沒有人為的干預。而且在Optimus的視角之下,它還可以把放歪了的電池重新撿起來放置,主打一個自動糾錯:對於Optimus的手,英偉達科學家JimFan給出了高度的評價:Optimus的手是全球五指機器人裡最靈巧的之一。它的手不僅有觸覺

FisheyeDetNet:首個以魚眼相機為基礎的目標偵測演算法 FisheyeDetNet:首個以魚眼相機為基礎的目標偵測演算法 Apr 26, 2024 am 11:37 AM

目標偵測在自動駕駛系統當中是一個比較成熟的問題,其中行人偵測是最早得以部署演算法之一。在多數論文當中已經進行了非常全面的研究。然而,利用魚眼相機進行環視的距離感知相對來說研究較少。由於徑向畸變大,標準的邊界框表示在魚眼相機當中很難實施。為了緩解上述描述,我們探索了擴展邊界框、橢圓、通用多邊形設計為極座標/角度表示,並定義一個實例分割mIOU度量來分析這些表示。所提出的具有多邊形形狀的模型fisheyeDetNet優於其他模型,並同時在用於自動駕駛的Valeo魚眼相機資料集上實現了49.5%的mAP

超級智能體生命力覺醒!可自我更新的AI來了,媽媽再也不用擔心資料瓶頸難題 超級智能體生命力覺醒!可自我更新的AI來了,媽媽再也不用擔心資料瓶頸難題 Apr 29, 2024 pm 06:55 PM

哭死啊,全球狂煉大模型,一網路的資料不夠用,根本不夠用。訓練模型搞得跟《飢餓遊戲》似的,全球AI研究者,都在苦惱怎麼才能餵飽這群資料大胃王。尤其在多模態任務中,這問題尤其突出。一籌莫展之際,來自人大系的初創團隊,用自家的新模型,率先在國內把「模型生成數據自己餵自己」變成了現實。而且還是理解側和生成側雙管齊下,兩側都能產生高品質、多模態的新數據,對模型本身進行數據反哺。模型是啥?中關村論壇上剛露面的多模態大模型Awaker1.0。團隊是誰?智子引擎。由人大高瓴人工智慧學院博士生高一鑷創立,高

See all articles