SDXL Turbo、LCM相繼發布,AI畫圖進入實時生成時代:字打多快,出圖就有多快
本周二,Stability AI 推出了新一代圖像合成模型 Stable Diffusion XL Turbo,引發了一片叫好。人們紛紛表示,圖像到文本生成從來沒有這么輕松。
你可以不需要其他操作,只用在文本框中輸入你的想法,SDXL Turbo 就能夠迅速響應,生成對應內容。一邊輸入,一邊生成,內容增加、減少,絲毫不影響它的速度。
你還可以根據已有的圖像,更加精細地完成創作。手中只需要拿一張白紙,告訴 SDXL Turbo 你想要一只白貓,字還沒打完,小白貓就已經在你的手中了。
SDXL Turbo 模型的速度達到了近乎「實時」的程度,讓人不禁開始暢想:圖像生成模型是不是可以干些其他事了。
有人直接連著游戲,獲得了 2fps 的風格遷移畫面:
據官方博客介紹,在 A100 上,SDXL Turbo 可在 207 毫秒內生成 512x512 圖像(即時編碼 + 單個去噪步驟 + 解碼,fp16),其中單個 UNet 前向評估占用了 67 毫秒。
如此,我們可以判斷,文生圖已經進入「實時」時代。
這樣的「即時生成」效率,與前不久爆火的清華 LCM 模型看起來有些相似,但是它們背后的技術內容卻有所不同。Stability 在同期發布的一篇研究論文中詳細介紹了該模型的內部工作原理。該研究重點提出了一種名為對抗擴散蒸餾(Adversarial Diffusion Distillation,ADD)的技術。SDXL Turbo 聲稱的優勢之一是它與生成對抗網絡(GAN)的相似性,特別是在生成單步圖像輸出方面。
論文地址:https://static1.squarespace.com/static/6213c340453c3f502425776e/t/65663480a92fba51d0e1023f/1701197769659/adversarial_diffusion_distillation.pdf
論文細節
簡單來說,對抗擴散蒸餾是一種通用方法,可將預訓練擴散模型的推理步數量減少到 1-4 個采樣步,同時保持高采樣保真度,并有可能進一步提高模型的整體性能。
為此,研究者引入了兩個訓練目標的組合:(i)對抗損失和(ii)與 SDS 相對應的蒸餾損失。對抗損失迫使模型在每次前向傳遞時直接生成位于真實圖像流形上的樣本,避免了其他蒸餾方法中常見的模糊和其他偽影。蒸餾損失使用另一個預訓練(且固定)的 擴散模型作為教師,有效利用其廣泛知識,并保留在大型擴散模型中觀察到的強組合性。在推理過程中,研究者未使用無分類器指導,進一步減少了內存需求。他們保留了模型通過迭代細化來改進結果的能力,這比之前基于 GAN 的單步方法具有優勢。
訓練步驟如圖 2 所示:
表 1 介紹了消融實驗的結果,主要結論如下:
接下來是與其他 SOTA 模型的對比,此處研究者沒有采用自動化指標,而是選擇了更加可靠的用戶偏好評估方法,目標是評估 prompt 遵循情況和整體圖像。
實驗通過使用相同的 prompt 生成輸出來比較多個不同的模型變體(StyleGAN-T++、OpenMUSE、IF-XL、SDXL 和 LCM-XL)。在盲測中,SDXL Turbo 以單步擊敗 LCM-XL 的 4 步配置,并且僅用 4 步擊敗 SDXL 的 50 步配置。通過這些結果,可以看到 SDXL Turbo 的性能優于最先進的 multi-step 模型,其計算要求顯著降低,而無需犧牲圖像質量。
圖 7 可視化了有關推理速度的 ELO 分數。
表 2 比較了使用相同基礎模型的不同 few-step 采樣和蒸餾方法。結果顯示,ADD 的性能優于所有其他方法,包括 8 步的標準 DPM 求解器。
作為定量實驗結果的補充,論文也展示了部分定性實驗結果,展示了 ADD-XL 在初始樣本基礎上的改進能力。圖 3 將 ADD-XL(1 step)與 few-step 方案中當前最佳基線進行了比較。圖 4 介紹了 ADD-XL 的迭代采樣過程。圖 8 將 ADD-XL 與其教師模型 SDXL-Base 進行了直接比較。正如用戶研究所示,ADD-XL 在質量和 prompt 對齊方面都優于教師模型。
更多研究細節,可參考原論文。