突破瓶頸!北航ETH等將擴(kuò)散模型完全量化至1bit,28倍存儲(chǔ)節(jié)省+52.7倍效率提升
將擴(kuò)散模型量化到1比特極限,又有新SOTA了!
來(lái)自北航、ETH等機(jī)構(gòu)的研究人員提出了一種名為BiDM的新方法,首次將擴(kuò)散模型(DMs)的權(quán)重和激活完全二值化。
具體而言,作者們從時(shí)間和空間的角度對(duì)擴(kuò)散模型進(jìn)行了優(yōu)化:
從時(shí)間角度來(lái)看,引入了“時(shí)間步友好二值結(jié)構(gòu)”(TBS),通過(guò)可學(xué)習(xí)的激活二值化器和跨時(shí)間步特征連接來(lái)應(yīng)對(duì)DMs高度時(shí)間步相關(guān)的激活特征。
從空間角度來(lái)看,提出了“空間分塊蒸餾”(SPD),目標(biāo)是解決二值化特征匹配的困難,特別關(guān)注圖像生成任務(wù)和噪聲估計(jì)網(wǎng)絡(luò)的空間局部性。
實(shí)驗(yàn)結(jié)果顯示,W1A1 BiDM在LSUN-Bedrooms 256×256上的LDM-4模型上取得了22.74的FID分?jǐn)?shù),遠(yuǎn)遠(yuǎn)超越了當(dāng)前狀態(tài)的最先進(jìn)通用二值化方法的59.44分,并實(shí)現(xiàn)了高達(dá)28倍的存儲(chǔ)節(jié)省和52.7倍的操作效率提升。
下面具體來(lái)看。
現(xiàn)有擴(kuò)散模型1位量化主要集中在「權(quán)重」
目前為止,擴(kuò)散模型由于其高質(zhì)量和多樣化的生成能力,在圖像、語(yǔ)音和視頻等多個(gè)領(lǐng)域引起了極大的關(guān)注和應(yīng)用。它可以通過(guò)多達(dá)1000步的去噪步驟,從隨機(jī)噪聲生成數(shù)據(jù)。
不過(guò),雖然一些加速采樣方法能夠有效減少生成任務(wù)所需的步驟數(shù)量,但每個(gè)時(shí)間步的昂貴浮點(diǎn)計(jì)算仍然限制了該模型在資源受限場(chǎng)景中的廣泛應(yīng)用。
因此,對(duì)擴(kuò)散模型的壓縮成為其更廣泛應(yīng)用的關(guān)鍵步驟,現(xiàn)有的壓縮方法主要包括量化、蒸餾、剪枝等。這些壓縮方法的目標(biāo)是在保持準(zhǔn)確性的同時(shí)減少存儲(chǔ)和計(jì)算成本。
其中,量化被認(rèn)為是一種非常有效的模型壓縮技術(shù),通過(guò)將權(quán)重和/或激活量化為低位整數(shù)或二值化,實(shí)現(xiàn)緊湊存儲(chǔ)和推理中的高效計(jì)算。
所以,已有一些研究將量化應(yīng)用于擴(kuò)散模型,以在保持生成質(zhì)量的同時(shí)實(shí)現(xiàn)模型的壓縮和加速。
而1位量化,即二值化,能夠最大限度地節(jié)省模型的存儲(chǔ)空間,并且在卷積神經(jīng)網(wǎng)絡(luò)(CNN)等判別模型中表現(xiàn)良好。此外,當(dāng)權(quán)重和激活同時(shí)量化為1位時(shí),如完全二值化,使用類似XNOR和bitcount的高效位運(yùn)算可以替代矩陣乘法,達(dá)到最高效的加速效果。
一些現(xiàn)有的工作嘗試將擴(kuò)散模型量化為1位,但它們的探索主要集中在權(quán)重上,離完全二值化仍有較大距離。
實(shí)際上,對(duì)于擴(kuò)散模型這樣的生成模型,完全二值化權(quán)重和激活的影響是災(zāi)難性的:
a) 作為生成模型,擴(kuò)散模型的豐富中間表示與時(shí)間步密切相關(guān),而高度動(dòng)態(tài)的激活范圍在使用二值化權(quán)重和激活時(shí)受到嚴(yán)重限制;
b) 像擴(kuò)散模型這樣的生成模型通常需要輸出完整的圖像,但高度離散的參數(shù)和特征空間使得在訓(xùn)練過(guò)程中很難與真實(shí)值匹配。離散空間中的優(yōu)化難度以及與時(shí)間步動(dòng)態(tài)相關(guān)的表示能力不足,導(dǎo)致二值化擴(kuò)散模型難以收斂,甚至在優(yōu)化過(guò)程中崩潰。
提出BiDM:完全二值化「權(quán)重」和「激活」
面對(duì)上述不足,作者們提出了BiDM。通過(guò)完全二值化權(quán)重和激活,將擴(kuò)散模型推向極限的壓縮和加速。
概括而言,BiDM目標(biāo)是解決擴(kuò)散模型激活特征、模型結(jié)構(gòu)以及生成任務(wù)的獨(dú)特需求,克服完全二值化帶來(lái)的挑戰(zhàn)。
它包含兩項(xiàng)創(chuàng)新技術(shù):
從時(shí)間角度出發(fā),作者們觀察到擴(kuò)散模型的激活特征與時(shí)間步高度相關(guān)。
因此引入了“時(shí)間步友好二值結(jié)構(gòu)”(TBS),通過(guò)可學(xué)習(xí)的激活二值量化器匹配擴(kuò)散模型的動(dòng)態(tài)激活范圍,并設(shè)計(jì)跨時(shí)間步的特征連接,利用相鄰時(shí)間步之間的特征相似性,增強(qiáng)二值模型的表示能力。
而從空間角度出發(fā),作者們注意到生成任務(wù)中的空間局部性以及擴(kuò)散模型使用的基于卷積的U-Net結(jié)構(gòu)。
于是提出了“空間分塊蒸餾”(SPD),引入一個(gè)全精度模型作為監(jiān)督,通過(guò)對(duì)分塊的自注意模仿,專注于局部特征,更好地引導(dǎo)二值擴(kuò)散模型的優(yōu)化方向。
△具有時(shí)間步友好二值結(jié)構(gòu)和空間分塊蒸餾的BiDM
廣泛的實(shí)驗(yàn)表明,與現(xiàn)有的SOTA完全二值化方法相比,BiDM在保持相同推理效率的同時(shí)顯著提高了精度,在各種評(píng)價(jià)指標(biāo)上超越了所有現(xiàn)有基線方法。
具體來(lái)說(shuō),在像素空間擴(kuò)散模型中,BiDM是唯一一種將IS提高到5.18的方法,接近全精度模型的水平,比最佳基線方法高出0.95。
在LDM 中,BiDM將LSUN-Bedrooms的FID從SOTA方法的59.44降低到了令人印象深刻的22.74,同時(shí)節(jié)省了28.0倍的存儲(chǔ)空間和52.7倍的OPs。
作為第一種完全二值化的擴(kuò)散模型方法,大量生成的樣本也證明BiDM是目前唯一一種能夠生成可接受的完全二值化DM圖像的方法,從而使DM在低資源場(chǎng)景中得到有效應(yīng)用。
具體咋實(shí)現(xiàn)的
二值擴(kuò)散模型基線
擴(kuò)散模型:給定一個(gè)數(shù)據(jù)分布??0~??(??0),前向過(guò)程生成一個(gè)隨機(jī)變量序列???? ? {??1,…,????},該序列通過(guò)轉(zhuǎn)移核??(????|????-1)生成,通常是高斯擾動(dòng),其表達(dá)式為:
其中???? ?(0,1)是噪聲調(diào)度。高斯轉(zhuǎn)移核允許作者們邊緣化聯(lián)合分布,因此利用????:=1-????和,可以通過(guò)采樣一個(gè)高斯向量??~N(0,I)并應(yīng)用變換
輕松獲得????的樣本。
反向過(guò)程旨在通過(guò)去除噪聲生成樣本,使用可學(xué)習(xí)的轉(zhuǎn)移核????(????-1|????)近似不可用的條件分布q(????-1|????),其表達(dá)式為:
均值和方差
可以使用重參數(shù)化技巧得到:
其中????是具有可學(xué)習(xí)參數(shù)??的函數(shù)逼近,用于根據(jù)????預(yù)測(cè)??。
對(duì)于擴(kuò)散模型的訓(xùn)練,通常使用變分下界的簡(jiǎn)化變體作為損失函數(shù),以提高樣本質(zhì)量,其表達(dá)式為:
由于 U-Net 能夠融合低層次和高維特征,它已成為擴(kuò)散模型的主流骨干。U-Net 的輸入輸出塊可以表示為和
,其中較小m對(duì)應(yīng)的塊是更低層次的。跳躍連接將低層次信息從Dm(·)傳播到Um(·),因此Um接收到的輸入表示為:
二值化:量化通過(guò)將權(quán)重和激活離散化為低位寬,壓縮并加速噪聲估計(jì)模型。在二值化擴(kuò)散模型的基線中,權(quán)重W被二值化為1位:
其中符號(hào)函數(shù)將W限制為+1或-1,并設(shè)0為閾值。??是浮點(diǎn)標(biāo)量,初始化為(n表示權(quán)重?cái)?shù)量),并在訓(xùn)練過(guò)程中進(jìn)行學(xué)習(xí)。
同時(shí),激活通常通過(guò)簡(jiǎn)單的BNN量化器進(jìn)行量化:
當(dāng)權(quán)重和激活同時(shí)被量化為1位時(shí),去噪模型的計(jì)算可以由XNOR和bitcount運(yùn)算代替,從而實(shí)現(xiàn)顯著的壓縮和加速。
時(shí)間步友好二值結(jié)構(gòu)
在詳細(xì)介紹所提方法之前,作者們先總結(jié)對(duì)擴(kuò)散模型(DMs)屬性的觀察:
下圖中, (a) 全精度DDIM模型在CIFAR-10上第4層卷積層的激活范圍隨去噪步驟變化。(b) 在LSUN-Bedrooms數(shù)據(jù)集上,全精度LDM-4模型在每一步的輸出特征與前一步相似。
觀察1:激活范圍在長(zhǎng)期時(shí)間步中變化顯著,但激活特征在短期相鄰時(shí)間步中相似。
之前的研究,如TDQ和Q-DM,已經(jīng)表明,DMs的激活分布在去噪過(guò)程中高度依賴于時(shí)間步,表現(xiàn)為相鄰時(shí)間步之間的相似性,而遠(yuǎn)距離時(shí)間步之間的差異較大,如圖2(a)所示。
因此,在所有時(shí)間步中應(yīng)用固定的縮放因子會(huì)導(dǎo)致激活范圍的嚴(yán)重失真。除了分布范圍之外,Deepcache強(qiáng)調(diào)了連續(xù)時(shí)間步之間高維特征的顯著時(shí)間一致性,如圖2(b)所示。
這些現(xiàn)象促使作者們重新審視現(xiàn)有的二值化結(jié)構(gòu)。
二值化,尤其是權(quán)重和激活的完全二值化,與4位等低位量化相比,會(huì)導(dǎo)致激活范圍和精度的更大損失。這使得生成豐富激活特征變得更加困難。激活范圍和輸出特征的不足嚴(yán)重?fù)p害了像DMs這樣豐富表示的生成模型。
因此,采用更靈活的激活范圍的二值量化器,并通過(guò)利用其特征輸出來(lái)增強(qiáng)模型的整體表達(dá)能力,是在完全二值化后提高其生成能力的關(guān)鍵策略。
作者們首先關(guān)注長(zhǎng)期時(shí)間步之間的差異。
大多數(shù)現(xiàn)有的激活量化器,如BNN和Bi-Real,直接將激活量化為{+1,-1},如式(7)所示。這種方法嚴(yán)重?cái)_亂了激活特征,負(fù)面影響了生成模型的表達(dá)能力。一些改進(jìn)的激活二值量化器,如XNOR++,采用了可訓(xùn)練的縮放因子k:
其中K的形式可以是向量或多個(gè)向量的乘積,但在推理過(guò)程中保持為常量值。盡管這種方法部分恢復(fù)了激活的特征表達(dá),但它與高度相關(guān)的時(shí)間步不匹配,可能仍會(huì)導(dǎo)致顯著的性能損失。
作者們將注意力轉(zhuǎn)向原始的XNOR,它采用動(dòng)態(tài)計(jì)算的均值來(lái)構(gòu)造激活二值量化器。其對(duì)二維卷積的運(yùn)算可以表示為:
其中,
,
,
。
表示二維過(guò)濾器,
和
分別表示帶和不帶乘法的卷積操作。這種方法自然保留了激活特征的范圍,并隨著不同時(shí)間步的輸入范圍動(dòng)態(tài)調(diào)整。
然而,由于DM特征的豐富表達(dá),局部激活在模塊通過(guò)前后的范圍內(nèi)表現(xiàn)出不一致,表明預(yù)定的k值不能有效恢復(fù)激活表示。
因此,作者們使k可調(diào)整,并允許其在訓(xùn)練過(guò)程中進(jìn)行學(xué)習(xí),以自適應(yīng)匹配激活在前后發(fā)生的范圍變化。作者們提出的可學(xué)習(xí)的微小卷積k的梯度計(jì)算過(guò)程如下:
值得注意的是,使k可學(xué)習(xí)不會(huì)增加任何額外的推理負(fù)擔(dān)。計(jì)算成本保持不變,允許進(jìn)行高效的二值運(yùn)算。
另一方面,作者們專注于相鄰時(shí)間步之間的相似性。
Deepcache直接提取高維特征作為緩存,以跳過(guò)U-Net中的大量深度計(jì)算,實(shí)現(xiàn)了顯著的推理加速。其過(guò)程表示為:
然而,這種方法不適用于二值化擴(kuò)散模型,因?yàn)槎稻W(wǎng)絡(luò)的每個(gè)輸出的信息內(nèi)容非常有限。對(duì)于本質(zhì)上已經(jīng)實(shí)現(xiàn)了顯著壓縮和加速但表達(dá)能力有限的二值擴(kuò)散模型,作者們預(yù)計(jì)相鄰時(shí)間步之間的特征相似性將增強(qiáng)二值表示,從而彌補(bǔ)表達(dá)挑戰(zhàn)。
作者們構(gòu)建了一個(gè)跨時(shí)間步的信息增強(qiáng)連接,以使用前一時(shí)間步的特征豐富當(dāng)前時(shí)間步的表達(dá)。其過(guò)程可以表示為:
其中是一個(gè)可學(xué)習(xí)的縮放因子。正如圖2(b)所示,不同塊和時(shí)間步中的高維特征相似性各異。
因此,作者們?cè)O(shè)置了多個(gè)獨(dú)立的??值,以允許模型在訓(xùn)練過(guò)程中更有效地自適應(yīng)學(xué)習(xí)。
總結(jié)來(lái)說(shuō),時(shí)間步友好的二值結(jié)構(gòu)(TBS)包括在輸入平均和跨時(shí)間步連接后應(yīng)用于縮放因子的可學(xué)習(xí)微卷積。它們的組合效果能夠適應(yīng)擴(kuò)散模型在長(zhǎng)期時(shí)間步中的激活范圍變化,并利用相鄰時(shí)間步之間高維特征的相似性來(lái)增強(qiáng)信息表示。
從誤差減少的角度來(lái)看,圖3中展示了TBS的可視化。
首先,作者們將基線方法下二值擴(kuò)散模型的輸出抽象為向量Bt-1。
縮放因子的不匹配會(huì)在它與全精度模型的輸出向量Ft-1之間產(chǎn)生顯著的長(zhǎng)度差異。
通過(guò)使用提出的縮放因子和可學(xué)習(xí)的微卷積,Bt-1被擴(kuò)展為L(zhǎng)t-1。Lt-1更接近Ft-1,但仍與全精度模型存在方向上的差異。
跨時(shí)間步的連接進(jìn)一步結(jié)合了前一個(gè)時(shí)間步的輸出Ft、Bt和Lt。相鄰時(shí)間步之間的高維特征相似性意味著Ft-1和Ft之間的差距相對(duì)較小,從而促進(jìn)了Lt-1和Lt的結(jié)合。
最后,作者們通過(guò)應(yīng)用TBS得到二值化擴(kuò)散模型的輸出,表達(dá)式為T(mén)t-1=(1-??)·Lt-1+??·Lt,這一輸出最接近全精度模型的輸出Ft-1。
空間分塊蒸餾
由于生成模型的特性,擴(kuò)散模型的優(yōu)化過(guò)程與以往的判別模型有著不同的特征:
觀察2:傳統(tǒng)的蒸餾難以引導(dǎo)完全二值化的擴(kuò)散模型與全精度模型對(duì)齊,而擴(kuò)散模型在生成任務(wù)中的特征在空間上表現(xiàn)出局部性。
在以往的實(shí)踐中,在量化模型的訓(xùn)練過(guò)程中添加蒸餾損失是常見(jiàn)的做法。由于二值模型的數(shù)值空間有限,直接使用簡(jiǎn)單的損失進(jìn)行優(yōu)化會(huì)導(dǎo)致調(diào)整梯度更新方向的困難,使學(xué)習(xí)變得具有挑戰(zhàn)性。因此,向中間特征添加蒸餾損失可以更好地指導(dǎo)模型的局部和全局優(yōu)化過(guò)程。
然而,作為生成模型,擴(kuò)散模型的高度豐富的特征表示使得二值模型極難細(xì)致地模仿全精度模型。
盡管原始擴(kuò)散模型訓(xùn)練中使用的L2損失與擴(kuò)散過(guò)程中的高斯噪聲對(duì)齊,但并不適用于中間特征的蒸餾匹配。在常規(guī)蒸餾過(guò)程中,常用的L2損失往往優(yōu)先優(yōu)化差異較大的像素,從而導(dǎo)致更加均勻和平滑的優(yōu)化結(jié)果。
這種全局約束學(xué)習(xí)過(guò)程對(duì)于以圖像生成為目標(biāo)的二值模型來(lái)說(shuō)是困難的,因?yàn)槠溆邢薜谋硎灸芰κ沟镁?xì)的蒸餾模仿難以直接調(diào)整模型以完全匹配全精度模型的方向。
與此同時(shí),作者們注意到,使用U-Net作為骨干的擴(kuò)散模型由于其基于卷積的結(jié)構(gòu)和生成任務(wù)的要求,天然表現(xiàn)出空間局部性。
這與以往的判別模型不同,判別模型中的任務(wù)(如分類)只需整體特征提取,而不需要低層次的要求,這使得傳統(tǒng)的蒸餾方法不適用于具有空間局部性的生成任務(wù)。此外,大多數(shù)現(xiàn)有的擴(kuò)散模型蒸餾方法專注于減少時(shí)間步數(shù),并未解決圖像生成任務(wù)中對(duì)特征空間局部性的需求。
因此,鑒于現(xiàn)有損失函數(shù)在優(yōu)化二值擴(kuò)散模型上的困難以及擴(kuò)散模型的空間局部性,作者們提出了空間分塊蒸餾(SPD)。
具體來(lái)說(shuō),他們?cè)O(shè)計(jì)了一種新的損失函數(shù),該損失函數(shù)在蒸餾之前將特征劃分為小塊,然后逐塊計(jì)算空間自注意力。雖然傳統(tǒng)的L2損失使二值擴(kuò)散模型難以實(shí)現(xiàn)直接匹配,導(dǎo)致優(yōu)化挑戰(zhàn),但注意力機(jī)制使得蒸餾優(yōu)化可以更側(cè)重于關(guān)鍵部分。
然而,對(duì)于完全二值化的擴(kuò)散模型來(lái)說(shuō),這仍然是具有挑戰(zhàn)性的,因?yàn)楦叨入x散的二值輸出信息有限,使得模型難以捕獲全局信息。
因此,作者們通過(guò)將中間特征劃分為多個(gè)小塊,并為每個(gè)小塊獨(dú)立計(jì)算空間自注意力,使得二值模型在優(yōu)化過(guò)程中能夠更好地利用局部信息。
SPD首先將二值擴(kuò)散模型和全精度擴(kuò)散模型的某個(gè)塊輸出的中間特征??bi和??fp???bxcxwxh劃分為p2個(gè)小塊:
然后,分別對(duì)每個(gè)小塊計(jì)算自注意力:
在正則化之后,計(jì)算并累加相應(yīng)位置的損失:
其中|| · ||2表示L2函數(shù)。最后,總訓(xùn)練損失被計(jì)算為:
其中,d表示在上采樣或下采樣過(guò)程中塊的數(shù)量,最終包括中間塊在內(nèi),共有2d+1中間特征。??是用于平衡損失項(xiàng)的超參數(shù)系數(shù),默認(rèn)為4。
如下圖所示,LDM模型在LSUN-bedroom數(shù)據(jù)集上的最后一個(gè)TimeStepBlock輸出的可視化。FP32表示全精度模型的輸出??fp。Diff表示全精度模型輸出與二值化模型輸出之間的差異||??fp-??bi||。Ours表示自注意力機(jī)制。
作者們對(duì)上述提到的中間特征和自注意力進(jìn)行了可視化。正如圖所示,作者們的空間分塊蒸餾(SPD)使得模型在每個(gè)小塊中更加關(guān)注局部信息。
實(shí)驗(yàn)
作者們?cè)诟鞣N數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),包括CIFAR-10 32×32、LSUN-Bedrooms 256×256、LSUN-Churches 256×256 和FFHQ 256×256,并在像素空間擴(kuò)散模型和潛在空間擴(kuò)散模型上進(jìn)行了測(cè)試。
使用的評(píng)估指標(biāo)包括Inception Score (IS)、Fréchet Inception Distance (FID)、Sliding Fréchet Inception Distance (sFID)、精度和召回率。截至目前,還沒(méi)有研究將擴(kuò)散模型壓縮到如此極端的程度。
因此,作者們使用了經(jīng)典的二值化算法和最新的最先進(jìn)的通用二值化算法作為基線。
他們提取了擴(kuò)散模型中TimestepEmbedBlocks的輸出作為T(mén)BS和SPD的操作目標(biāo)。且還在卷積層中采用了與ReActNet相同的快捷連接。詳細(xì)的實(shí)驗(yàn)設(shè)置見(jiàn)附錄A。
主要結(jié)果
像素空間擴(kuò)散模型:作者們首先在CIFAR-10 32×32數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。正如表1中所示,使用基線方法對(duì)擴(kuò)散模型進(jìn)行W1A1二值化導(dǎo)致了顯著的性能下降。然而,BiDM在所有指標(biāo)上均表現(xiàn)出顯著改進(jìn),實(shí)現(xiàn)了前所未有的圖像質(zhì)量恢復(fù)。
具體而言,BiDM在IS指標(biāo)上從4.23提升至5.18,F(xiàn)ID指標(biāo)降低了27.9%。
以下為在CIFAR-10數(shù)據(jù)集上,使用100步的DDIM二值化結(jié)果。
潛在空間擴(kuò)散模型:作者們的LDM實(shí)驗(yàn)包括對(duì)LDM-4在LSUN-Bedrooms 256×256和FFHQ 256×256數(shù)據(jù)集上的評(píng)估,以及對(duì)LDM-8在LSUN-Churches 256×256數(shù)據(jù)集上的評(píng)估。
實(shí)驗(yàn)使用了200步的DDIM采樣器,詳細(xì)結(jié)果見(jiàn)表2中。
在這三個(gè)數(shù)據(jù)集中,作者們的方法相對(duì)于最好的基線方法取得了顯著的改進(jìn)。與其他二值化算法相比,BiDM在所有指標(biāo)上都表現(xiàn)優(yōu)異。
在LSUN-Bedrooms、LSUN-Churches和FFHQ數(shù)據(jù)集中,BiDM的FID指標(biāo)分別比基線方法降低了61.7%、30.7%和51.4%。與XNOR++相比,XNOR++在去噪過(guò)程中采用了固定的激活縮放因子,導(dǎo)致其激活的動(dòng)態(tài)范圍非常有限,使得難以匹配擴(kuò)散模型高度靈活的生成表示。
BiDM通過(guò)使微卷積k可學(xué)習(xí),作用于動(dòng)態(tài)計(jì)算的縮放因子,解決了這一挑戰(zhàn)。這種優(yōu)化使得各項(xiàng)指標(biāo)取得了超過(guò)一個(gè)數(shù)量級(jí)的顯著改進(jìn)。
在LSUN-Bedrooms和LSUN-Churches數(shù)據(jù)集中,BiDM的FID指標(biāo)分別從319.66降低至22.74和從292.48降低至29.70。
此外,與最先進(jìn)的二值化方法ReSTE相比,BiDM在多個(gè)指標(biāo)上實(shí)現(xiàn)了顯著提升,特別是在LSUN-Bedrooms數(shù)據(jù)集中表現(xiàn)出顯著的改進(jìn)。
消融實(shí)驗(yàn)
作者們?cè)贚SUN-Bedrooms 256×256數(shù)據(jù)集上對(duì)LDM-4進(jìn)行了全面的消融研究,以評(píng)估BiDM中每個(gè)提出的組件的有效性。
他們?cè)u(píng)估了提出的SPD和TBS方法的有效性,結(jié)果如表3所示。
當(dāng)分別將SPD或TBS方法應(yīng)用于LDM時(shí),相較于原始性能,觀察到了顯著的改進(jìn)。當(dāng)引入TBS方法時(shí),F(xiàn)ID和sFID分別從106.62和56.61大幅下降到35.23和25.13。
同樣,當(dāng)添加SPD方法時(shí),F(xiàn)ID和sFID分別顯著下降到40.62和31.61。其他指標(biāo)也顯示出顯著的改善。這證明了作者們的方法在訓(xùn)練過(guò)程中通過(guò)引入可學(xué)習(xí)的因子并加入跨時(shí)間步的連接,能夠持續(xù)將二值化模型的特征逼近全精度特征的有效性。
此外,當(dāng)結(jié)合這兩種方法并將它們應(yīng)用于LDM 時(shí),較之單獨(dú)應(yīng)用每種方法,觀察到額外的改進(jìn)。這進(jìn)一步證明了在補(bǔ)丁級(jí)別執(zhí)行全精度和二值模型之間的蒸餾能夠顯著提高二值模型的性能。
作者們還進(jìn)行了額外的消融實(shí)驗(yàn),結(jié)果在附錄B中展示。
效率分析
作者們對(duì)模型在完全二值化下的推理效率進(jìn)行了分析。
表4中的結(jié)果表明,BiDM在實(shí)現(xiàn)與XNOR基線相同的28.0倍內(nèi)存效率和52.7倍計(jì)算節(jié)省的同時(shí),圖像生成能力顯著優(yōu)于基線模型,其FID從106.62降低至22.74。
總結(jié)
在本文中,作者們提出了BiDM,這是一種全新的完全二值化方法,將擴(kuò)散模型的壓縮推向極限。
基于兩個(gè)觀察——不同時(shí)間步的激活特性和圖像生成任務(wù)的特點(diǎn),他們分別從時(shí)間和空間角度提出了時(shí)間步友好的二值結(jié)構(gòu)(TBS) 和 空間分塊蒸餾(SPD) 方法。
這些方法解決了完全二值化中表示能力的嚴(yán)重限制,以及高度離散的空間優(yōu)化挑戰(zhàn)。
作為首個(gè)完全二值化的擴(kuò)散模型,BiDM在多個(gè)模型和數(shù)據(jù)集上表現(xiàn)出了顯著優(yōu)于現(xiàn)有最先進(jìn)通用二值化方法的生成性能。
在LSUN-Bedrooms數(shù)據(jù)集上,BiDM的FID為22.74,遠(yuǎn)超最先進(jìn)方法的FID為59.44,成為唯一能夠生成視覺(jué)上可接受樣本的二值方法,同時(shí)實(shí)現(xiàn)了高達(dá)28.0倍的存儲(chǔ)節(jié)省和52.7倍的運(yùn)算效率提升。
更多細(xì)節(jié)歡迎查閱原論文。
論文鏈接:https://arxiv.org/abs/2412.05926
項(xiàng)目主頁(yè):https://github.com/Xingyu-Zheng/BiDM