實(shí)時(shí)文生圖速度提升5-10倍,清華LCM/LCM-LoRA爆火,瀏覽超百萬(wàn)
文生圖、圖生圖已經(jīng)不是什么新鮮事。但在使用這些工具的過程中,我們發(fā)現(xiàn)它們通常運(yùn)行緩慢,導(dǎo)致我們要等一段時(shí)間才能拿到生成結(jié)果。
但最近,一種名叫「LCM」的模型改變了這種情況,它甚至能做到實(shí)時(shí)的連續(xù)生圖。
圖源:https://twitter.com/javilopen/status/1724398666889224590
LCM 的全稱是 Latent Consistency Models(潛在一致性模型),由清華大學(xué)交叉信息研究院的研究者們構(gòu)建。在這個(gè)模型發(fā)布之前,Stable Diffusion 等潛在擴(kuò)散模型(LDM)由于迭代采樣過程計(jì)算量大,生成速度非常緩慢。通過一些創(chuàng)新性的方法,LCM 只用少數(shù)的幾步推理就能生成高分辨率圖像。據(jù)統(tǒng)計(jì),LCM 能將主流文生圖模型的效率提高 5-10 倍,所以能呈現(xiàn)出實(shí)時(shí)的效果。
- 論文鏈接:https://arxiv.org/pdf/2310.04378.pdf
- 項(xiàng)目地址:https://github.com/luosiallen/latent-consistency-model
該文章發(fā)布一個(gè)月內(nèi)瀏覽量超百萬(wàn),作者也被邀請(qǐng)?jiān)?Hugging Face、Replicate、浦源等多個(gè)平臺(tái)部署新研發(fā)的 LCM 模型和 demo。其中 Hugging Face 平臺(tái)上 LCM 模型下載量已超 20 萬(wàn)次,而在 Replicate 中在線 API 調(diào)用已超 54 萬(wàn)次。
在此基礎(chǔ)上,研究團(tuán)隊(duì)進(jìn)一步提出 LCM-LoRA,可以將 LCM 的快速采樣能力在未經(jīng)任何額外訓(xùn)練的情況下遷移到其他 LoRA 模型上,為開源社區(qū)已經(jīng)存在的大量不同畫風(fēng)的模型提供了一個(gè)直接而有效的解決方案。
技術(shù)報(bào)告鏈接:https://arxiv.org/pdf/2311.05556.pdf
潛在一致性模型的快速生成能力為圖像生成技術(shù)開辟了新的應(yīng)用領(lǐng)域。這種模型可以快速地根據(jù)輸入的文本(Prompt)處理和渲染實(shí)時(shí)捕捉到的畫面,從而實(shí)現(xiàn)高速圖像生成。這意味著用戶可以自定義他們想要展示的場(chǎng)景或視覺效果。
在 X 平臺(tái)上,不少研究者也曬出了他們利用該模型實(shí)現(xiàn)的生成效果,包括圖生圖、視頻生成、圖像編輯、實(shí)時(shí)視頻渲染等各類應(yīng)用。
圖源:https://twitter.com/javilopen/status/1724398666889224590
圖源:https://twitter.com/javilopen/status/1724398708052414748
作者團(tuán)隊(duì)現(xiàn)已完全開源 LCM 的代碼,并開放了基于 SD-v1.5、SDXL 等預(yù)訓(xùn)練模型在內(nèi)蒸餾得到的模型權(quán)重文件和在線 demo。此外,Hugging Face 團(tuán)隊(duì)已經(jīng)將潛在一致性模型集成進(jìn)入 diffusers 官方倉(cāng)庫(kù),并在兩個(gè)接連的正式版本 v0.22.0 和 v0.23.0 中先后更新了 LCM 和 LCM-LoRA 的相關(guān)代碼框架,提供了對(duì)潛在一致性模型的良好支持。在 Hugging Face 上開放的模型在今日的熱度榜中達(dá)到全平臺(tái)文生圖模型熱度第一,全類別模型熱度第三。
接下來(lái),我們將分別介紹 LCM 和 LCM-LoRA 這兩項(xiàng)研究成果。
LCM:只用幾步推理就能生成高分辨率圖像
AIGC 時(shí)代,包括 Stable Diffusion 和 DALL-E 3 等基于擴(kuò)散模型的文生圖模型受到了廣泛關(guān)注。擴(kuò)散模型通過向訓(xùn)練數(shù)據(jù)添加噪聲,然后逆轉(zhuǎn)這一過程來(lái)生成高質(zhì)量圖像。然而,擴(kuò)散模型生成圖片需要進(jìn)行多步采樣,這一過程相對(duì)較慢,增加了推理成本。緩慢的多步采樣問題是部署這類模型時(shí)的主要瓶頸。
OpenAI 的宋飏博士在今年提出的一致性模型(Consistency Model,CM)為解決上述問題提供了一個(gè)思路。一致性模型被指出在設(shè)計(jì)上具有單步生成的能力,展現(xiàn)出極大的加速擴(kuò)散模型的生成的潛力。然而,由于一致性模型局限于無(wú)條件圖片生成,導(dǎo)致包括文生圖、圖生圖等在內(nèi)的許多實(shí)際應(yīng)用還難以享受這一模型的潛在優(yōu)勢(shì)。
潛在一致性模型(Latent Consistency Model,LCM)就是為解決上述問題而誕生的。潛在一致性模型支持給定條件的圖像生成任務(wù),并結(jié)合了潛在編碼、無(wú)分類器引導(dǎo)等諸多在擴(kuò)散模型中被廣泛應(yīng)用的技術(shù),大大加速了條件去噪過程,為諸多具有實(shí)際應(yīng)用意義的任務(wù)打開了一條通路。
LCM 技術(shù)細(xì)節(jié)
具體而言,潛在一致性模型將擴(kuò)散模型的去噪問題解讀為求解如下所示的增廣概率流常微分方程的過程。
傳統(tǒng)的擴(kuò)散模型采用數(shù)值方法對(duì)常微分方程進(jìn)行迭代求解,雖然可以通過設(shè)計(jì)更加精確的求解器來(lái)改善每一步的求解精度,減少所需要的迭代次數(shù),但是這些方法中最好的也仍然需要 10 步左右的迭代步數(shù)來(lái)得到足夠好的求解結(jié)果。
不同于迭代求解這一常微分方程,潛在一致性模型要求對(duì)常微分方程進(jìn)行直接的單步求解,直接預(yù)測(cè)方程的最終解,從而在理論上能夠在單步內(nèi)生成圖片。
為了訓(xùn)練得到潛在一致性模型,該研究指出可以通過對(duì)于預(yù)訓(xùn)練的擴(kuò)散模型(例如,Stable Diffusion)進(jìn)行參數(shù)微調(diào),在極少的資源消耗下賦予模型快速生成的效果。這一蒸餾過程基于對(duì)宋飏博士提出的一致性損失函數(shù)的優(yōu)化。為了在文生圖任務(wù)上獲得更好的表現(xiàn)并減少計(jì)算開銷,本文提出了三點(diǎn)關(guān)鍵技術(shù):
(1)使用預(yù)訓(xùn)練的自動(dòng)編碼器將原始圖片編碼到潛在空間,在壓縮圖片中冗余信息的同時(shí)讓圖片在語(yǔ)義上具有更好的一致性;
(2)將無(wú)分類器引導(dǎo)作為模型的一個(gè)輸入?yún)?shù)蒸餾進(jìn)潛在一致性模型中,在享受無(wú)分類器引導(dǎo)帶來(lái)的更好的圖片 - 文本的一致性的同時(shí),由于無(wú)分類器引導(dǎo)幅度被作為輸入?yún)?shù)蒸餾進(jìn)了潛在一致性模型,從而能夠減少推理時(shí)的所需要的計(jì)算開銷;
(3)使用跳步策略來(lái)計(jì)算一致性損失,大大加快了潛在一致性模型的蒸餾過程。潛在一致性模型的蒸餾算法的偽代碼見下圖。
定性和定量化的結(jié)果展示了潛在一致性模型的快速生成能力,該模型能夠在 1~4 步內(nèi)生成高質(zhì)量圖片。通過比較實(shí)際的推理時(shí)間和生成質(zhì)量指標(biāo) FID,可以看到,潛在一致性模型相比于現(xiàn)有的最快的采樣器之一的 DPM solver++ 能夠在保持同等生成質(zhì)量的前提下實(shí)現(xiàn)約 4 倍的實(shí)際推理時(shí)間加速。
LCM 生成的圖像
LCM-LORA: 一個(gè)通用的 Stable Diffusion 加速模塊
在潛在一致性模型的基礎(chǔ)上,作者團(tuán)隊(duì)隨后進(jìn)一步發(fā)布了他們關(guān)于 LCM-LoRA 的技術(shù)報(bào)告。由于潛在一致性模型的蒸餾過程可以被視作是對(duì)于原有的預(yù)訓(xùn)練模型的微調(diào)過程,從而可以使用 LoRA 等高效微調(diào)技術(shù)來(lái)訓(xùn)練潛在一致性模型。得益于 LoRA 技術(shù)帶來(lái)的資源節(jié)省,作者團(tuán)隊(duì)在 Stable Diffusion 系列中參數(shù)量最大的 SDXL 模型上進(jìn)行了蒸餾,成功得到了能夠在極少步數(shù)內(nèi)生成與 SDXL 數(shù)十步相媲美的潛在一致性模型。
在論文 INTRODUCTION 部分,該研究表示盡管潛在擴(kuò)散模型(LDM)在文生圖、線稿生圖等方面取得了成功,但其固有的緩慢反向采樣過程阻礙了實(shí)時(shí)應(yīng)用,影響了用戶體驗(yàn)。目前的開源模型和加速技術(shù)還無(wú)法在標(biāo)準(zhǔn)消費(fèi)級(jí) GPU 上實(shí)現(xiàn)實(shí)時(shí)生成。
加速 LDM 的方法一般分為兩類:第一類涉及先進(jìn)的 ODE 求解器,如 DDIM、DPMSolver 和 DPM-Solver++,以加快生成過程。第二類涉及蒸餾 LDM 以簡(jiǎn)化其功能。ODE - 求解器減少了推理步驟,但仍需要大量的計(jì)算開銷,尤其是在采用無(wú)分類器指導(dǎo)時(shí)。同時(shí),蒸餾方法(如 Guided-Distill)雖然前景廣闊,但由于其密集的計(jì)算要求而面臨實(shí)際限制。在 LDM 生成圖像的速度和質(zhì)量之間尋求平衡仍然是該領(lǐng)域的一項(xiàng)挑戰(zhàn)。
最近,受一致性模型(Consistency Model,CM)的啟發(fā),潛在一致性模型(Latent Consistency Model,LCM)出現(xiàn)了,作為圖像生成中緩慢采樣問題的一種解決方案。LCM 將反向擴(kuò)散過程視為增強(qiáng)概率流 ODE(PF-ODE)問題。這類模型創(chuàng)新性地預(yù)測(cè)了潛空間中的解,不需要通過數(shù)值 ODE 求解器進(jìn)行迭代求解。因此,它們合成高分辨率圖像的效率非常高,只需 1 到 4 個(gè)推理步驟。此外,LCM 在蒸餾效率方面也很突出,只需用 A100 個(gè)訓(xùn)練 32 個(gè)小時(shí)就能完成最小步驟的推理。
在此基礎(chǔ)上,Latent Consistency Finetuning(LCF)被開發(fā)為一種無(wú)需從教師擴(kuò)散模型開始就能對(duì)預(yù)訓(xùn)練 LCM 進(jìn)行微調(diào)的方法。對(duì)于專業(yè)數(shù)據(jù)集,如動(dòng)漫、真實(shí)照片或奇幻圖像數(shù)據(jù)集,它還需要額外的步驟,如采用潛在一致性蒸餾法(LCD)將預(yù)訓(xùn)練的 LDM 蒸餾為 LCM,或直接使用 LCF 對(duì) LCM 進(jìn)行微調(diào)。然而,這種額外的訓(xùn)練可能會(huì)阻礙 LCM 在不同數(shù)據(jù)集上的快速部署,這就提出了一個(gè)關(guān)鍵問題:是否可以在自定義數(shù)據(jù)集上實(shí)現(xiàn)快速、無(wú)需訓(xùn)練的推理。
為了回答上述問題,研究者提出了 LCM-LoRA,它是一種通用的免訓(xùn)練加速模塊,可以直接插入各種 Stable-Diffusion(SD)微調(diào)模型或 SD LoRA 中,以最少的步驟支持快速推理。與 DDIM、DPM-Solver 和 DPM-Solver++ 等早期數(shù)值概率流 ODE(PF-ODE)求解器相比,LCM-LoRA 代表了一類基于神經(jīng)網(wǎng)絡(luò)的新型 PF-ODE 求解器模塊。它在各種微調(diào)的 SD 模型和 LoRA 中展示了強(qiáng)大的泛化能力。
LCM-LoRA 概況圖。通過在 LCM 的蒸餾過程中引入 LoRA,該研究大大減少了蒸餾的內(nèi)存開銷,這使得他們能夠利用有限的資源訓(xùn)練更大的模型,例如 SDXL 和 SSD-1B。更重要的是,通過 LCM-LoRA 訓(xùn)練獲得的 LoRA 參數(shù)(acceleration vector)可以直接與在特定風(fēng)格數(shù)據(jù)集上微調(diào)獲得的其他 LoRA 參數(shù)(style vetcor)相結(jié)合。無(wú)需任何訓(xùn)練,通過 acceleration vector 和 style vetcor 的線性組合獲得的模型就能以最少的采樣步驟生成特定繪畫風(fēng)格的圖像。
LCM-LoRA 技術(shù)細(xì)節(jié)
通常來(lái)講,潛在一致性模型的訓(xùn)練采用單階段指導(dǎo)蒸餾方式進(jìn)行,這種方法利用預(yù)訓(xùn)練的自編碼器潛在空間將指導(dǎo)擴(kuò)散模型蒸餾為 LCM。此過程涉及增強(qiáng)概率流 ODE,我們可以將其理解為一種數(shù)學(xué)公式,這樣一來(lái)可確保生成的樣本遵循生成高質(zhì)量圖像的軌跡。
值得一提的是,蒸餾的重點(diǎn)是保持這些軌跡的保真度,同時(shí)顯著減少所需的采樣步驟數(shù)量。算法 1 提供了 LCD 的偽代碼。
由于 LCM 的蒸餾過程是在預(yù)訓(xùn)練擴(kuò)散模型的參數(shù)上進(jìn)行的,因此我們可以將潛在一致性蒸餾視為擴(kuò)散模型的微調(diào)過程,從而就可以采用一些高效的調(diào)參方法,如 LoRA。
LoRA 通過應(yīng)用低秩分解來(lái)更新預(yù)訓(xùn)練的權(quán)重矩陣。具體而言,給定一個(gè)權(quán)重矩陣,其更新方式表述為
,其中
,訓(xùn)練過程中,W_0 保持不變,梯度更新只應(yīng)用于 A 和 B 兩個(gè)參數(shù)。因而對(duì)于輸入 x,前向傳播的更改表述為:
h 代表輸出向量,從公式(1)可以觀察到,通過將完整參數(shù)矩陣分解為兩個(gè)低秩矩陣的乘積,LoRA 顯著減少了可訓(xùn)練參數(shù)的數(shù)量,從而降低了內(nèi)存使用量。
下表將完整模型中的參數(shù)總數(shù)與使用 LoRA 技術(shù)時(shí)的可訓(xùn)練參數(shù)進(jìn)行了比較。顯然,通過在 LCM 蒸餾過程中結(jié)合 LoRA 技術(shù),可訓(xùn)練參數(shù)的數(shù)量顯著減少,有效降低了訓(xùn)練的內(nèi)存需求。
該研究通過一系列實(shí)驗(yàn)表明 :LCD 范式可以很好地適應(yīng)更大的模型如 SDXL 、 SSD-1B ,不同模型的生成結(jié)果如圖 2 所示。
除了使用 LoRA 技術(shù)來(lái)讓蒸餾過程更加高效,作者還發(fā)現(xiàn)了由此訓(xùn)練得到的 LoRA 參數(shù)可以被作為一種泛用的加速模塊,直接與其他 LoRA 參數(shù)結(jié)合。
如上圖 1 所示,作者團(tuán)隊(duì)發(fā)現(xiàn),只需要將在特定風(fēng)格數(shù)據(jù)集上微調(diào)得到的 “風(fēng)格參數(shù)” 與經(jīng)過潛在一致性蒸餾得到的 “加速參數(shù)” 進(jìn)行簡(jiǎn)單的線性組合,就可以獲得兼具快速生成能力和特定風(fēng)格的全新潛在一致性模型。這一發(fā)現(xiàn)為現(xiàn)有開源社區(qū)內(nèi)已存在的大量開源模型提供了極強(qiáng)的助力,使得這些模型甚至可以在無(wú)需任何額外訓(xùn)練的情況下享受潛在一致性模型帶來(lái)的加速效果。
下圖展示了使用這一方法改善 “剪紙畫風(fēng)” 模型后得到的新的模型的生成效果。
總之,LCM-LoRA 是一種用于 Stable-Diffusion (SD) 模型的通用免訓(xùn)練加速模塊。其可以作為獨(dú)立且高效的基于神經(jīng)網(wǎng)絡(luò)的求解器模塊來(lái)預(yù)測(cè) PF-ODE 的解,從而能夠在各種微調(diào)的 SD 模型和 SD LoRA 上以最少的步驟進(jìn)行快速推理。大量的文本到圖像生成實(shí)驗(yàn)證明了 LCM-LoRA 強(qiáng)大的泛化能力和優(yōu)越性。
團(tuán)隊(duì)介紹
論文作者成員全部來(lái)自清華叉院,兩位共同一作分別是駱?biāo)济?,譚亦欽。
駱?biāo)济闶乔迦A叉院二年級(jí)碩士,導(dǎo)師為趙行老師。本科畢業(yè)于復(fù)旦大學(xué)大數(shù)據(jù)學(xué)院。研究方向?yàn)槎嗄B(tài)生成模型,研究興趣為擴(kuò)散模型,一致性模型,AIGC加速,致力于研發(fā)下一代生成模型。此前也以一作身份多篇論文發(fā)表在ICCV,NeurIPS頂會(huì)上。
譚亦欽是清華叉院二年級(jí)碩士,導(dǎo)師為黃隆波老師。本科畢業(yè)于清華大學(xué)電子工程系。研究方向包括深度強(qiáng)化學(xué)習(xí)、擴(kuò)散模型。此前以一作身份在ICLR等會(huì)議上發(fā)表spotlight論文和口頭報(bào)告。
值得一提的是,兩位共一是在叉院李建老師的高等計(jì)算機(jī)理論課上,提出了LCM的想法,并最后作為期末課程項(xiàng)目進(jìn)行了展示。三位指導(dǎo)老師中,李建和黃隆波是清華交叉信息院副教授,趙行是清華交叉信息院助理教授。
第一行(從左到右):駱?biāo)济?、譚亦欽。第二行(從左到右):黃隆波、李建、趙行。