在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于一種移動端高性能 Stable Diffusion 模型

CVer ? 來源:CVer ? 2023-06-12 10:14 ? 次閱讀

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 模型!

b12795aa-0871-11ee-962d-dac502259ad0.png

SnapFusion: Text-to-Image Diffusion Model on Mobile Devices within Two Seconds

論文地址:https://arxiv.org/abs/2306.00980

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.25x 加速),這是通過提出的 CFG-aware Distillation 得到的。VAE decoder 的加速是通過結構化剪枝實現。

b1349bd8-0871-11ee-962d-dac502259ad0.png

下面著重介紹 Efficient UNet 的設計和 CFG-aware Distillation 損失函數的設計。

(1)Efficient UNet

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

b13f9e84-0871-11ee-962d-dac502259ad0.png

為了優化 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 功能,目標是實現推理時間大幅縮減并維持圖像質量不降,最能說明這一點的是下圖:

b1524016-0871-11ee-962d-dac502259ad0.png

該圖是在 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 生成的樣本:

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

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

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

b171f46a-0871-11ee-962d-dac502259ad0.png

(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 模型上更為有效。

b17e071e-0871-11ee-962d-dac502259ad0.png

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

b18c26be-0871-11ee-962d-dac502259ad0.png

總結與未來工作

本文提出 SnapFusion,一種移動端高性能 Stable Diffusion 模型。SnapFusion 有兩點核心貢獻:(1)通過對現有 UNet 的逐層分析,定位速度瓶頸,提出一種新的高效 UNet 結構(Efficient UNet),可以等效替換原 Stable Diffusion 中的 UNet,實現 7.4x 加速;(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 更進一步。

責任編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲
    +關注

    關注

    13

    文章

    4314

    瀏覽量

    85851
  • 函數
    +關注

    關注

    3

    文章

    4331

    瀏覽量

    62622
  • 模型
    +關注

    關注

    1

    文章

    3244

    瀏覽量

    48842

原文標題:iPhone上兩秒出圖,最快移動端Stable Diffusion模型來了!

文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Stable Diffusion的完整指南:核心基礎知識、制作AI數字人視頻和本地部署要求

    Stable Diffusion一種擴散模型diffusion model)的變體,叫做“潛在擴散
    的頭像 發表于 09-18 10:06 ?2462次閱讀
    <b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b>的完整指南:核心基礎知識、制作AI數字人視頻和本地部署要求

    請問怎么設計一種高性能集成電壓比較器?

    怎么設計一種高性能集成電壓比較器?
    發表于 04-21 06:25

    分享一種高性能的FM內置天線解決方案

    分享一種高性能的FM內置天線解決方案
    發表于 05-26 06:18

    Stability AI開源圖像生成模型Stable Diffusion

    Stable Diffusion 的很多用戶已經公開發布了生成圖像的樣例,Stability AI 的首席開發者 Katherine Crowson 在推特上分享了許多圖像。基于 AI 的圖像合成可能會對藝術家和藝術領域帶來
    的頭像 發表于 09-21 15:37 ?2957次閱讀

    大腦視覺信號被Stable Diffusion復現圖像!“人類的謀略和謊言不存在了”

    它不需要在復雜的深度學習模型上進行訓練或做精細的微調,只需要做好fMRI(功能磁共振成像技術)成像到Stable Diffusion中潛在表征的簡單線性映射關系就行。
    的頭像 發表于 03-08 10:21 ?769次閱讀

    大腦視覺信號被Stable Diffusion復現圖像!

    它不需要在復雜的深度學習模型上進行訓練或做精細的微調,只需要做好fMRI(功能磁共振成像技術)成像到Stable Diffusion中潛在表征的簡單線性映射關系就行。
    的頭像 發表于 03-16 10:26 ?819次閱讀

    高性能計算HPC照亮AIGC未來:PC集群+Stable Diffusion 打造極致游戲體驗

    隨著計算能力和技術水平的不斷提高,PC集群和Stable Diffusion集成在游戲行業中的應用將會更加廣泛,可以為游戲開發者和分析師提供更多流的工具和技術支持,從而推動整個游戲產業迎來新的發展機遇。
    的頭像 發表于 04-20 11:46 ?834次閱讀
    <b class='flag-5'>高性能</b>計算HPC照亮AIGC未來:PC集群+<b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b> 打造極致游戲體驗

    文讀懂Stable Diffusion教程,搭載高性能PC集群,實現生成式AI應用

    PC Farm、生成式AI和Stable Diffusion模型都是非常有用的工具和技術,可以幫助用戶快速構建和管理計算機集群,生成高質量的數據和圖像,提高模型的泛化能力和魯棒性。
    的頭像 發表于 05-01 07:47 ?2359次閱讀
    <b class='flag-5'>一</b>文讀懂<b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b>教程,搭載<b class='flag-5'>高性能</b>PC集群,實現生成式AI應用

    使用OpenVINO?在算力魔方上加速stable diffusion模型

    Stable Diffusion 是 stability.ai 開源的 AI 圖像生成模型,實現輸入文字,生成圖像的功能。Stable Diffus
    的頭像 發表于 05-12 09:10 ?1469次閱讀
    使用OpenVINO?在算力魔方上加速<b class='flag-5'>stable</b> <b class='flag-5'>diffusion</b><b class='flag-5'>模型</b>

    優化 Stable Diffusion 在 GKE 上的啟動體驗

    Diffusion 等應運而生。Stable Diffusion個文字生成圖像的 Diffusion
    的頭像 發表于 06-03 08:35 ?897次閱讀

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

    近日,Snap 研究院推出最新高性能 Stable Diffusion 模型,通過對網絡結構、訓練流程、損失函數全方位進行優化,在 iPhone 14 Pro 上實現 2 秒出圖(51
    的頭像 發表于 06-12 15:25 ?785次閱讀
    iPhone兩秒出圖,目前已知的最快<b class='flag-5'>移動</b><b class='flag-5'>端</b><b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b><b class='flag-5'>模型</b>來了

    樹莓派能跑Stable Diffusion了?

    Stable Diffusion一種文本到圖像生成的大型深度學習模型,它可以根據文本的描述生成詳細的圖像,也可以用于其他任務,如圖像修復、圖像擴展、圖像翻譯等。
    的頭像 發表于 07-26 11:46 ?1554次閱讀

    Stable Diffusion的完整指南:核心基礎知識、制作AI數字人視頻和本地部署要求

    13400;i3 12100;i7 12700 ;i9 12900? 在當今的數字時代,人工智能正在逐步改變人們的生活和工作方式。其中,Stable Diffusion作為一種深度學習技術,受到廣泛關注。它能夠通過對圖像或視頻
    的頭像 發表于 09-07 14:12 ?2227次閱讀
    <b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b>的完整指南:核心基礎知識、制作AI數字人視頻和本地部署要求

    一種新的分割模型Stable-SAM

    SAM、HQ-SAM、Stable-SAM在提供次優提示時的性能比較,Stable-SAM明顯優于其他算法。這里也推薦工坊推出的新課程《如何將深度學習模型部署到實際工程中?
    的頭像 發表于 12-29 14:35 ?683次閱讀
    <b class='flag-5'>一種</b>新的分割<b class='flag-5'>模型</b><b class='flag-5'>Stable</b>-SAM

    如何開啟Stable Diffusion WebUI模型推理部署

    如何開啟Stable Diffusion WebUI模型推理部署
    的頭像 發表于 12-11 20:13 ?105次閱讀
    如何開啟<b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b> WebUI<b class='flag-5'>模型</b>推理部署
    主站蜘蛛池模板: 欧美极品在线播放| 在线视频网址免费播放| 欧美成人免费夜夜黄啪啪| 正在播放91大神调教偷偷| 三级全黄a| 新版天堂中文资源8在线| 啪啪免费看| 四虎最新网址入口| 综合网自拍| 欧美三级在线| 色在线视频播放| 夜色综合| 性做久久久久久久| 人与禽一级一级毛片| 天天干天天拍天天射天天添天天爱| 男人的天堂天堂网| 天天在线综合网| 欧美色亚洲图| 亚洲精品自拍区在线观看| 黄色精品| 日本高清一本视频| 国产香蕉75在线播放| 欧美adc影院| 一级毛片真人免费播放视频| 国产免费一级高清淫日本片 | 久久久精品波多野结衣| 国产69久久精品成人看| 国语自产拍在线观看7m| 日本人xxxxxxxxxⅹ68| 日韩一级在线播放免费观看| 天天操天天看| 一区二区三区精品国产欧美| 操美女视频网站| 在线看一区二区| 久青草视频在线| 永久免费人成网ww555kkk手机| 色多多入口| 久久精品系列| 上海一级毛片| 女同毛片| 色综合天天射|