1024 分辨率下最快模型,字節(jié)跳動文生圖開放模型 SDXL-Lightning 發(fā)布
模型|https://huggingface.co/ByteDance/SDXL-Lightning
論文|https://arxiv.org/abs/2402.13929
1、閃電般的圖片生成
生成式 AI 正憑借其根據(jù)文本提示(text prompts)創(chuàng)造出驚艷圖像乃至視頻的能力,贏得全球的矚目。當(dāng)前最先進(jìn)的生成模型依賴于擴(kuò)散過程(diffusion),這是一個將噪聲逐步轉(zhuǎn)化為圖像樣本的迭代過程。這個過程需要耗費巨大的計算資源并且速度較慢,在生成高質(zhì)量圖像樣本的過程中,單張圖像的處理時間約為 5 秒,其中通常需要多次(20 到 40 次)調(diào)用龐大的神經(jīng)網(wǎng)絡(luò)。這樣的速度限制了有快速、實時生成需求的應(yīng)用場景。如何在提升生成質(zhì)量的同時加快速度,是當(dāng)前研究的熱點領(lǐng)域,也是我們工作的核心目標(biāo)。
SDXL-Lightning 通過一種創(chuàng)新技術(shù)——漸進(jìn)式對抗蒸餾(Progressive Adversarial Distillation)——突破了這一障礙,實現(xiàn)了前所未有的生成速度。該模型能夠在短短 2 步或 4 步內(nèi)生成極高質(zhì)量和分辨率的圖像,將計算成本和時間降低十倍。我們的方法甚至可以在 1 步內(nèi)為超時敏感的應(yīng)用生成圖像,雖然可能會稍微犧牲一些質(zhì)量。
除了速度優(yōu)勢,SDXL-Lightning 在圖像質(zhì)量上也有顯著表現(xiàn),并在評估中超越了以往的加速技術(shù)。在實現(xiàn)更高分辨率和更佳細(xì)節(jié)的同時保持良好的多樣性和圖文匹配度。
速度對比示意
原始模型(20 步),SDXL-Lightning 模型(2 步)
2、模型效果
SDXL-Lightning 模型可以通過 1 步、2 步、4 步和 8 步來生成圖像。推理步驟越多,圖像質(zhì)量越好。
以下是 4 步生成結(jié)果——
A girl smiling
A pickup truck going up a mountain switchback
A fish on a bicycle, colorful art
A close-up of an Asian lady with sunglasses
A beautiful cup
Mona Lisa, sketch
A panda swimming
A pickup truck going up a mountain switchback
House in the desert, surreal landscapes
以下是 2 步生成結(jié)果——
Furniture design for a living room
A cinematic shot of a baby raccoon wearing an intricate Italian priest robe
A dog with soft fur and bright eyes jumping after a toy, in a cozy living room
A tea cup containing clouds
A family, medium shot
Baby playing with toys in the snow
An old man and a dog are walking in the park
Dragon driving a car
A monkey making latte art
與以前的方法(Turbo 和 LCM)相比,我們的方法生成的圖像在細(xì)節(jié)上有顯著改進(jìn),并且更忠實于原始生成模型的風(fēng)格和布局。
3、回饋社區(qū),開放模型
開源開放的浪潮已經(jīng)成為推動人工智能迅猛發(fā)展的關(guān)鍵力量,字節(jié)跳動也自豪地成為這股浪潮的一部分。我們的模型基于目前最流行的文字生成圖像開放模型 SDXL,該模型已經(jīng)擁有一個繁榮的生態(tài)系統(tǒng)?,F(xiàn)在,我們決定將 SDXL-Lightning 開放給全球的開發(fā)者、研究人員和創(chuàng)意從業(yè)者,以便他們能訪問并運用這一模型,進(jìn)一步推動整個行業(yè)的創(chuàng)新和協(xié)作。
在設(shè)計 SDXL-Lightning 時,我們就考慮到與開放模型社區(qū)的兼容。社區(qū)中已有眾多藝術(shù)家和開發(fā)者創(chuàng)建了各種各樣的風(fēng)格化圖像生成模型,例如卡通和動漫風(fēng)格等。為了支持這些模型,我們提供 SDXL-Lightning 作為一個增速插件,它可以無縫地整合到這些多樣風(fēng)格的 SDXL 模型中,為各種不同模型加快圖像生成的速度。
SDXL-Lightning 模型也可以和目前非常流行的控制插件 ControlNet 相結(jié)合,實現(xiàn)極速可控的圖片生成。
SDXL-Lightning 模型也支持開源社區(qū)里目前最流行的生成軟件 ComfyUI,模型可以被直接加載來使用:
4、關(guān)于技術(shù)細(xì)節(jié)
從理論上來說,圖像生成是一個由噪聲到清晰圖像的逐步轉(zhuǎn)化過程。在這一過程中,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)在這個轉(zhuǎn)化流(flow)中各個位置上的梯度。
生成圖像的具體步驟是這樣的:
首先我們在流的起點,隨機(jī)采樣一個噪聲樣本,接著用神經(jīng)網(wǎng)絡(luò)計算出梯度。根據(jù)當(dāng)前位置上的梯度,我們對樣本進(jìn)行微小的調(diào)整,然后不斷重復(fù)這一過程。每一次迭代,樣本都會更接近最終的圖像分布,直至獲得一張清晰的圖像。
圖:生成流程(圖片來自:https://arxiv.org/abs/2011.13456)
由于生成流復(fù)雜且非直線,生成過程必須一次只走一小步以減少梯度誤差累積,所以需要神經(jīng)網(wǎng)絡(luò)的頻繁計算,這就是計算量大的原因。
圖:曲線流程(圖片來自:https://arxiv.org/abs/2210.05475)
為了減少生成圖像所需的步驟數(shù)量,許多研究致力于尋找解決方案。一些研究提出了能減少誤差的采樣方法,而其他研究則試圖使生成流更加直線化。盡管這些方法有所進(jìn)展,但它們?nèi)匀恍枰^ 10 個推理步驟來生成圖像。
另一種方法是模型蒸餾,它能夠在少于 10 個推理步驟的情況下生成高質(zhì)量圖像。不同于計算當(dāng)前流位置下的梯度,模型蒸餾改變模型預(yù)測的目標(biāo),直接讓其預(yù)測下一個更遠(yuǎn)的流位置。具體來說,我們訓(xùn)練一個學(xué)生網(wǎng)絡(luò)直接預(yù)測老師網(wǎng)絡(luò)完成了多步推理后的結(jié)果。這樣的策略可以大幅減少所需的推理步驟數(shù)量。通過反復(fù)應(yīng)用這個過程,我們可以進(jìn)一步降低推理步驟的數(shù)量。這種方法被先前的研究稱之為漸進(jìn)式蒸餾。
圖:漸進(jìn)式蒸餾,學(xué)生網(wǎng)絡(luò)預(yù)測老師網(wǎng)絡(luò)多步后的結(jié)果
在實際操作中,學(xué)生網(wǎng)絡(luò)往往難以精確預(yù)測未來的流位置。誤差隨著每一步的累積而放大,導(dǎo)致在少于 8 步推理的情況下,模型產(chǎn)生的圖像開始變得模糊不清。
為了解決這個問題,我們的策略是不強(qiáng)求學(xué)生網(wǎng)絡(luò)精確匹配教師網(wǎng)絡(luò)的預(yù)測,而是讓學(xué)生網(wǎng)絡(luò)在概率分布上與教師網(wǎng)絡(luò)保持一致。換言之,學(xué)生網(wǎng)絡(luò)被訓(xùn)練來預(yù)測一個概率上可能的位置,即使這個位置并不完全準(zhǔn)確,我們也不會對它進(jìn)行懲罰。這個目標(biāo)是通過對抗訓(xùn)練來實現(xiàn)的,引入了一個額外的判別網(wǎng)絡(luò)來幫助實現(xiàn)學(xué)生網(wǎng)絡(luò)和教師網(wǎng)絡(luò)輸出的分布匹配。
這是我們研究方法的簡要概述。在技術(shù)論文(https://arxiv.org/abs/2402.13929)中,我們提供了更深入的理論分析、訓(xùn)練策略以及模型的具體公式化細(xì)節(jié)。
5、SDXL-Lightning 之外
盡管本研究主要探討了如何利用 SDXL-Lightning 技術(shù)進(jìn)行圖像生成,但我們所提出的漸進(jìn)式對抗蒸餾方法的應(yīng)用潛力不局限于靜態(tài)圖像的范疇。這一創(chuàng)新技術(shù)也可以被運用于快速且高質(zhì)量生成視頻、音頻以及其他多模態(tài)內(nèi)容。我們誠摯邀請您在 HuggingFace 平臺上體驗 SDXL-Lightning,并期待您寶貴的意見和反饋。