潛在一致性模型:[2310.04378] Latent Consistency Models: Synthesizing High-Resolution Images with Few-Step Inference (arxiv.org)
原文:Paper page - Latent Consistency Models: Synthesizing High-Resolution Images with Few-Step Inference (huggingface.co)
簡介:LCM 只需 4,000 個訓練步驟(約 32 個 A100 GPU/小時)即可從任何預訓練的穩定擴散 (SD) 中提取出來,只需 2~4 個步驟甚至一步即可生成高質量的 768 x 768 分辨率圖像,從而顯著加速文本轉換 -圖像生成。?
潛在一致性模型
介紹
潛在擴散模型(Latent Diffusion models, ldm)在高分辨率圖像合成方面取得了顯著的成果。然而,迭代采樣過程計算量大,導致生成速度慢。受一致性模型的啟發,我們提出了潛在一致性模型(Latent Consistency Models, lcm),能夠在任何預訓練的ldm上以最小的步驟進行快速推理,包括穩定擴散。
原理:將引導反向擴散過程視為求解增強概率流ODE (PF-ODE), lcm設計用于直接預測潛在空間中此類ODE的解,從而減少了多次迭代的需要,并允許快速,高保真采樣。有效地從預訓練的無分類器引導擴散模型中提取,高質量的768×768 2 ~ 4步LCM僅需32 A100 GPU小時即可進行訓練。此外,引入了潛在一致性微調(LCF),這是一種針對自定義圖像數據集微調LCF的新方法。
一致性模型(CMs):作為一種新型生成模型顯示出巨大的潛力,可以在保持生成質量的同時加快采樣速度。一致性模型采用一致性映射,直接將ODE軌跡中的任意點映射到原點,實現快速一步生成。可以通過提取預訓練的擴散模型或作為獨立的生成模型進行訓練。
原理
潛在空間中的一致性蒸餾
在諸如穩定擴散(Stable Diffusion, SD)(Rombach et al, 2022)等大規模擴散模型中,利用圖像的潛在空間有效地提高了圖像生成質量并減少了計算負載。在SD中,首先訓練一個自編碼器(E, D)來將高維圖像數據壓縮為低維潛在向量 𝑧=𝐸(𝑥)z=E(x),然后解碼以重建圖像 𝑥?=𝐷(𝑧)x?=D(z)。在潛在空間中訓練擴散模型與基于像素的模型相比,大大降低了計算成本并加快了推理過程;潛在擴散模型(LDMs)使得在筆記本電腦的GPU上生成高分辨率圖像成為可能。
對于潛在一致性模型(LCMs),我們利用潛在空間的一致性蒸餾優勢,與一致性模型(CMs)(Song et al, 2023)中使用的像素空間形成對比。這種方法被稱為潛在一致性蒸餾(LCD),應用于預訓練的SD,允許在1至4步內合成高分辨率的768×768圖像。我們專注于條件生成。回顧一下逆擴散過程的PF-ODE:
其中𝑧𝑡是圖像潛在變量,𝜖𝜃(𝑧𝑡,𝑐,𝑡) 是噪聲預測模型,𝑐 是給定的條件(例如文本)。通過從 𝑇 到 0?解決 PF-ODE 可以抽取樣本。為了執行潛在一致性蒸餾(LCD),我們引入一致性函數 𝑓𝜃:(𝑧𝑡,𝑐,𝑡)→𝑧0?,直接預測 𝑡=0 時 PF-ODE 的解(公式8)。通過噪聲預測模型 𝜖^𝜃參數化 𝑓𝜃,如下所示:
其中 𝑐skip(0)=1,𝑐out(0)=0,且 𝜖^𝜃(𝑧,𝑐,𝑡) 是噪聲預測模型,其初始參數與教師擴散模型相同。假設有一個高效的ODE求解器 Ψ(𝑧𝑡,𝑡,𝑠,𝑐),用于近似積分公式8的右側,從時間 𝑡 到 𝑠。在實際操作中,可以使用DDIM,DPM-Solver或DPM-Solver++ 作為 Ψ(?,?,?,?)。
只在訓練/蒸餾中使用這些求解器,而不是在推理中。潛在一致性模型(LCM)旨在通過最小化一致性蒸餾損失來預測PF-ODE的解:
通過求解增強的PF-ODE進行單階段引導蒸餾
無分類器引導(Classifier-free guidance, CFG)對于在穩定擴散(SD)中合成高質量的文本對齊圖像至關重要,通常需要大于6的CFG比例 𝜔。因此,將CFG集成到蒸餾方法中變得不可或缺。之前的方法 Guided-Distill引入了一個兩階段蒸餾以支持從引導擴散模型中進行少步采樣。然而,這種方法計算密集估計,2步推理至少需要45個A100 GPU天)。相比之下,潛在一致性模型(LCM)僅需要32個A100 GPU小時的訓練時間來進行2步推理,如圖1所示。此外,兩階段引導蒸餾可能導致累積誤差,導致性能不佳。相反,LCM通過求解增強的PF-ODE采用高效的單階段引導蒸餾。回顧在逆擴散過程中使用的CFG:
其中用條件噪聲和無條件噪聲的線性組合代替原有的噪聲預測,ω稱為引導標度。為了從引導逆向過程中采樣,我們需要求解以下增廣的PF-ODE(即,與ω相關的項增廣):
為了有效地進行一級導向蒸餾,我們引入增廣一致性函數fθ:(zt, ω, c, t)→z0來直接預測t = 0時增廣PF-ODE (Eq. 13)的解。我們以與Eq. 9相同的方式參數化fθ,除了λ θ(z, c, t)被λ ?θ(z, ω, c, t)取代,這是一個用與教師擴散模型相同的參數初始化的噪聲預測模型,但還包含額外的可訓練參數,用于ω的調節。一致性損失與Eq. 10相同,只是我們使用增廣一致性函數fθ(zt, ω, c, t)。
跳過時間步加速蒸餾
離散擴散模型通常通過長時間步長計劃 {𝑡𝑖}𝑖(也稱為離散化計劃或時間計劃)訓練噪聲預測模型,以實現高質量的生成結果。例如,穩定擴散(SD)有一個長度為1000的時間計劃。然而,直接將潛在一致性蒸餾(LCD)應用于具有如此長時間計劃的SD可能會有問題。模型需要在所有1000個時間步長上進行采樣,而一致性損失試圖使LCM模型 𝑓𝜃(𝑧𝑡𝑛+1,𝑐,𝑡𝑛+1) 的預測與在相同軌跡上下一步 𝑓𝜃(𝑧𝑡𝑛,𝑐,𝑡𝑛) 的預測對齊。由于 𝑡𝑛 ? 𝑡𝑛+1? 很小,𝑧𝑡𝑛 和 𝑧𝑡𝑛+1(因此 𝑓𝜃(𝑧𝑡𝑛+1,𝑐,𝑡𝑛+1)和 𝑓𝜃(𝑧𝑡𝑛,𝑐,𝑡𝑛))已經彼此接近,導致一致性損失很小,因此收斂速度慢。
為了解決這個問題,我們引入了跳步方法(SKIPPING-STEP),大大縮短了時間計劃的長度(從數千縮短到幾十),以實現快速收斂,同時保持生成質量。
一致性模型(CMs)使用EDM連續時間計劃,并使用歐拉或Heun求解器作為數值連續PF-ODE求解器。對于LCMs,為了適應穩定擴散中的離散時間計劃,我們使用DDIM,DPM-Solver或DPM-Solver++作為ODE求解器。
現在,我們介紹潛在一致性蒸餾(LCD)中的跳步方法。與確保相鄰時間步長 𝑡𝑛+1→𝑡𝑛 之間的一致性不同,LCMs旨在確保當前時間步長和相隔 𝑘?步的時間步長 𝑡𝑛+𝑘→𝑡𝑛之間的一致性。注意,設置 𝑘=1k=1 會恢復到中的原始計劃,導致收斂速度慢,而非常大的 𝑘 可能會導致ODE求解器的大近似誤差。在我們的主要實驗中,我們設置 𝑘=20,將時間計劃的長度從數千減少到幾十。第5.2節的結果顯示了不同 k 值的效果,并揭示跳步方法在加速LCD過程中的重要性。具體來說,公式14中的一致性蒸餾損失被修改為確保從 𝑡𝑛+𝑘 到 𝑡𝑛 的一致性:
?上述推導類似于公式15。對于LCM,我們在此使用三種可能的ODE求解器:DDIM (Song et al, 2020a)、DPM-Solver (Lu et al, 2022a)、DPM-Solver++。