前不久,著名開源生成式AI平臺Stability.ai發(fā)布了,全新文生圖模型SDXL Turbo。該模型只需1秒甚至更少的時間就能生成高精準圖片,可將通常50個生成步降至1—4步。
Stability.ai表示,SDXL Turbo能有如此快的推理效率是使用了全新的技術——對抗式擴散蒸餾(Adversarial Diffusion Distillation,簡稱ADD)。
簡單來說,ADD就是在“瘋狂內卷+嚴師指導”的雙重模式下,用最短的時間、最高效的學習方法考上了清、北。
現(xiàn)在你讀上面那段話可能有點迷糊,看完全文后你就會心疼ADD,像極了當年學習的自己。
論文地址:https://stability.ai/s/adversarial_diffusion_distillation.pdf
開源地址:https://github.com/Stability-AI/generative-models
什么是大模型蒸餾
為了更好地理解ADD技術原理,「AIGC開放社區(qū)」先用通俗易懂的方式為大家介紹一下大模型中的“蒸餾”到底是什么技術。
模型蒸餾是一種將大型復雜模型(通常稱為“教師模型”)的知識傳輸?shù)叫⌒秃喕P?即“學生模型”)的技術。
蒸餾過程就像把水果壓榨成精華果汁一樣,我們嘗試保留大模型中最重要的信息,并且讓小模型能夠捕獲并模仿這些內容。
或者可以理解成老師教學生的過程,全部知識不一定都學會,但重要知識點肯定都掌握了。
而ADD能以最快的推理效率生成高質量圖片,便使用了對抗損失和分數(shù)蒸餾兩項重要技術。
一個負責生成圖片的質量,另外一個充當“老師”負責教會小模型捕捉重要知識點并進行指導修正。
對抗損失
對抗損失是ADD框架中的一大關鍵功能。引入了對抗學習的思想,讓學生模型與判別器之間進行激烈對抗。
對抗學習源于GAN模型,其核心思路是通過競爭促進模型快速逼近復雜分布。學生模型想方設法生成高質量圖像蒙騙判別器,而判別器則全力識破這些虛假的圖片。
所以,兩人就不得不拼命的內卷,最后生成的圖片質量越來越高。此外,對抗過程還可引入條件信息,如文本或圖像的特征向量,以增強對應性。
對抗損失中的判別器包含兩部分:一個特征提取器和幾個判別頭。特征網絡可以預先在圖像分類等任務上訓練,然后切掉分類層拿特征向量。這樣可以重復使用以前學到的知識。
判別頭則在特征的基礎上判斷圖像真?zhèn)?。訓練目標就是最大化真實圖的分數(shù),最小化假圖的分數(shù)。
分數(shù)蒸餾
分數(shù)蒸餾的核心思想是,讓老師模型教學生模型傳授重要知識幫助ADD捕獲模型的知識點。就是咱們前面介紹的“模型蒸餾”概念。
ADD的老師模型使用了Stability.ai自研性能強大的Stable Diffusion XL和Stable Diffusion2.1兩個擴散模型,來監(jiān)督學生模型ADD-M和ADD-XL生成的圖片結果。
具體流程是,先將學生模型生成的圖片進一步加噪聲,模擬擴散過程,然后讓老師模型基于噪聲圖像輸出它的還原結果。
這個還原結果可以作為學習目標,并成為學生模型的生成目標,使自己的圖片可以匹配老師模型。同時在老師的指點下,逐步修正偏差達到最佳效果。
在訓練過程中,學生模型需要同時面對判別器的對抗,和老師模型的嚴厲監(jiān)督,在二者的雙重驅動下不斷進步。
所以,在最終輸出階段學生模型能用極少的采樣步驟1—4,就能輸出高質量精準圖片。
哎~~萬萬沒想到現(xiàn)實中的高壓學習、生活方法也適用于大模型界,看來開發(fā)靈感真的無處不在啊,真是名師出高徒,嚴父出孝子。