自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)

發(fā)布于 2024-9-19 12:54
瀏覽
0收藏

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

文章鏈接:https://arxiv.org/pdf/2409.06633
項(xiàng)目鏈接:https://sjtuplayer.github.io/projects/SaRA/

1.引言

SaRA是一種針對預(yù)訓(xùn)練擴(kuò)散模型的高效微調(diào)方法。通過微調(diào)預(yù)訓(xùn)練擴(kuò)散模型中的無效參數(shù),賦予模型對下游任務(wù)的處理能力。SaRA能夠顯著節(jié)省計(jì)算顯存開銷與代碼復(fù)雜度,僅修改一行訓(xùn)練代碼即可實(shí)現(xiàn)微調(diào)過程。該方法的核心創(chuàng)新在于:

  • 參數(shù)重要性分析:SaRA首先對預(yù)訓(xùn)練模型中的參數(shù)重要性進(jìn)行分析,發(fā)現(xiàn)預(yù)訓(xùn)練擴(kuò)散模型中絕對值最小的10%至20%的參數(shù)在生成過程中的作用微乎其微。并且這些參數(shù)的無效性并非模型固有屬性,而是由于訓(xùn)練過程中的不穩(wěn)定性導(dǎo)致。
  • 稀疏低秩訓(xùn)練:基于上述發(fā)現(xiàn),SaRA提出利用這些暫時(shí)無效的參數(shù),通過優(yōu)化稀疏權(quán)重矩陣來學(xué)習(xí)特定任務(wù)的知識。為了避免過擬合,SaRA采用了基于核范數(shù)的低秩稀疏訓(xùn)練方案,有效約束了學(xué)習(xí)過程中的參數(shù)秩。
  • 漸進(jìn)式參數(shù)調(diào)整策略:SaRA設(shè)計(jì)了一種參數(shù)重調(diào)整策略,通過在微調(diào)過程中重定向可訓(xùn)練參數(shù),確保幾乎所有參數(shù)都能有效地貢獻(xiàn)于新任務(wù)的學(xué)習(xí)。
  • 非結(jié)構(gòu)化反向傳播策略:SaRA提出了一種新穎的反向傳播策略,顯著降低了微調(diào)過程中的內(nèi)存成本。

SaRA在多個下游任務(wù)上進(jìn)行了廣泛的實(shí)驗(yàn)驗(yàn)證,包括基模型能力提升、下游數(shù)據(jù)微調(diào)、圖像定制化、可控視頻生成等。實(shí)驗(yàn)結(jié)果表明SaRA不僅能夠提升基礎(chǔ)模型在原始任務(wù)的生成能力,在下游任務(wù)中,能兼顧下游任務(wù)的學(xué)習(xí)以及預(yù)訓(xùn)練先驗(yàn)的維護(hù),實(shí)現(xiàn)優(yōu)越的模型微調(diào)效果。

2. 參數(shù)重要性分析

2.1 預(yù)訓(xùn)練模型中的無效參數(shù)

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

圖 1:Stable Diffusion預(yù)訓(xùn)練模型參數(shù)分布與小參數(shù)對生成結(jié)果的影響

2.2 無效參數(shù)的潛在有效性

2.1中導(dǎo)致無效參數(shù)的原因可能有兩個:一是由于模型結(jié)構(gòu)設(shè)計(jì)的原因,這些參數(shù)天生就是冗余、無效的參數(shù),因此無法在訓(xùn)練過程中起到作用,另外一個原因則可能是由于模型訓(xùn)練過程中的隨機(jī)性,導(dǎo)致這些參數(shù)恰好在訓(xùn)練結(jié)束的時(shí)候停留在0附近。因此,作者進(jìn)一步對參數(shù)無效的原因展開研究。選取了Stable Diffusion在FFHQ的預(yù)訓(xùn)練模型,標(biāo)記了初始權(quán)重最小的1%參數(shù),將該模型繼續(xù)在FFHQ上訓(xùn)練,并在訓(xùn)練過程中實(shí)時(shí)跟蹤這1%參數(shù)的變化,結(jié)果如圖 2所示,可見,隨著訓(xùn)練的進(jìn)行,初始的小參數(shù)(藍(lán)色線條)逐漸跳出了1%的閾值,而初始大于1%閾值的參數(shù),大部分跌入了1%以內(nèi),并且小于該閾值的參數(shù)總量始終維持在1%左右,證明了在訓(xùn)練過程中,所有參數(shù)都以一定的概率跳出或者跌入1%閾值中,說明初始的小參數(shù)是由訓(xùn)練過程的隨機(jī)性導(dǎo)致的,因此,可以在微調(diào)過程中利用這些暫時(shí)無效的參數(shù),賦予模型針對下游任務(wù)的生成能力。

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

圖 2:訓(xùn)練過程中權(quán)重絕對值小于初始1%閾值θ_t的參數(shù)分布變化

3. 方法介紹

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

3.1 稀疏矩陣訓(xùn)練

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

3.2 基于核范數(shù)的低秩約束

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

3.3 漸進(jìn)式參數(shù)調(diào)整

在模型的微調(diào)過程中,由于訓(xùn)練的隨機(jī)性,仍然會存在部分參數(shù)停留在閾值以下,尤其是微調(diào)過程的總輪次往往較少,導(dǎo)致最終存在一部分的參數(shù)仍然無效。如圖 2 所示,初始的小參數(shù)在訓(xùn)練初期會快速跳出閾值,而后期的趨勢逐漸放緩,當(dāng)微調(diào)輪次較少時(shí),可訓(xùn)練參數(shù)中可能存在15%的參數(shù)仍然無效。因此,SaRA提出漸進(jìn)式的參數(shù)調(diào)整策略,在微調(diào)的前半階段,首先對初始的無效參數(shù)進(jìn)行訓(xùn)練,使得大部分的無效參數(shù)跳出閾值,而在后半階段,再次對剩余的無效參數(shù)進(jìn)行訓(xùn)練,使其快速跳出閾值。通過這種分階段的漸進(jìn)式訓(xùn)練策略,SaRA可以更有效地利用這些無效參數(shù),提高模型在新任務(wù)上的性能。

3.4 非結(jié)構(gòu)化反向傳播策略

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

圖3:非結(jié)構(gòu)化梯度反向傳播

4.實(shí)驗(yàn)效果

為了驗(yàn)證方法的有效性,SaRA在多個主流與下游的任務(wù)上進(jìn)行了驗(yàn)證,包含基模型提升、下游數(shù)據(jù)集微調(diào)、圖像定制化與可控視頻生成。

4.1 基模型提升

SaRA主要致力于將預(yù)訓(xùn)練模型中的無效參數(shù)利用起來,賦予模型更強(qiáng)大的生成能力,這與一般微調(diào)方法僅針對下游任務(wù)設(shè)計(jì)的理念不盡相同。因此,SaRA可以用來提升預(yù)訓(xùn)練模型在原本任務(wù)上的生成能力。實(shí)驗(yàn)選取了在ImageNet、FFHQ、CelebA-HQ上預(yù)訓(xùn)練的Stable Diffusion,利用SaRA在相應(yīng)數(shù)據(jù)集對模型進(jìn)行進(jìn)一步的微調(diào),以完全利用模型中的無效參數(shù),結(jié)果如圖4所示,可以看出,SaRA能夠穩(wěn)定地提升基模型的生成能力(降低約5%的FID)。

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

圖4:基模型在原始任務(wù)上的微調(diào)

4.2下游數(shù)據(jù)集微調(diào)

在下游數(shù)據(jù)集微調(diào)實(shí)驗(yàn)中,將SaRA應(yīng)用于多個不同的數(shù)據(jù)集,并在不同StableDiffusion版本(1.5,2.0,3.0)與參數(shù)規(guī)模(50M,20M,5M)下進(jìn)行了訓(xùn)練。數(shù)據(jù)集包括BarbieCore, Cyberpunk, Elementfire, Expedition, Hornify五個風(fēng)格,結(jié)果如圖5所示,可見SaRA取得了學(xué)習(xí)到了最豐富的數(shù)據(jù)特征,同時(shí)能夠保持語義與文本的一致性。此外,實(shí)驗(yàn)還計(jì)算了生成數(shù)據(jù)的FID,與文本的CLIP Score,以及一個歸一化指標(biāo)VLHI同時(shí)衡量FID與CLIP Score,定量結(jié)果如表1所示,可見,SaRA在不同版本的Stable Diffusion以及不同的參數(shù)量下,均取得了最好的表現(xiàn)。

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

圖5:不同微調(diào)方法在下游數(shù)據(jù)集微調(diào)的表現(xiàn)。

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

表1:不同微調(diào)方法在下游數(shù)據(jù)集微調(diào)的定量表現(xiàn)。

4.3 圖像定制任務(wù)

圖像定制化通過從少量幾張圖像中學(xué)習(xí)到共有的對象特征,然后將該對象生成到新的圖片中。Dreambooth作為一種主流的圖像定制化,需要微調(diào)擴(kuò)散模型實(shí)現(xiàn)對目標(biāo)特征的捕捉,因此,SaRA可以直接用于Dreambooth的微調(diào)過程。實(shí)驗(yàn)比較了不同微調(diào)方法在DreamBooth上的表現(xiàn),定性結(jié)果如圖6所示,可見,SaRA在成功捕捉目標(biāo)對象特征的同時(shí),還較好地維護(hù)了生成圖像語義與文本的一致性。表2計(jì)算了不同方法在三個定制化數(shù)據(jù)集上的定量表現(xiàn),可以看出,SaRA同時(shí)兼顧了特征捕捉與圖文一致性,展現(xiàn)了在定制化任務(wù)重的優(yōu)秀表現(xiàn)。

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

圖6:不同微調(diào)方法在Dreambooth上的定性表現(xiàn)

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

表2:不同微調(diào)方法在Dreambooth上的定量表現(xiàn)

4.4 視頻生成任務(wù)

SaRA不僅在圖像生成任務(wù)中大展身手,在視頻生成任務(wù)重也同樣能取得較好的結(jié)果。實(shí)驗(yàn)將不同微調(diào)方法應(yīng)用在視頻生成模型AnimateDiff上,在不同運(yùn)鏡數(shù)據(jù)集下進(jìn)行微調(diào)(鏡頭放大、縮小、右移)。結(jié)果如圖7所示,其他的微調(diào)方法在視頻生成任務(wù)中展現(xiàn)出一定的過擬合與內(nèi)容崩潰的問題,相較之下,SaRA在微調(diào)過程中展現(xiàn)出豐富的運(yùn)鏡理解能力,同時(shí)較好地維護(hù)了模型的先驗(yàn),保證了生成視頻的質(zhì)量以及與文本的一致性。

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

圖7:不同微調(diào)方法在可控運(yùn)鏡的視頻生成上的表現(xiàn)

4.5 計(jì)算資源比較

SaRA引入了非結(jié)構(gòu)化梯度回傳策略,有效解決了基于參數(shù)選擇的微調(diào)方法中遇到的顯存開銷大的問題。圖8的實(shí)驗(yàn)比較了LT-SFT(一種基于參數(shù)選擇的方法)、LoRA以及SaRA在Stable Diffusion 2.0用不同Batch size訓(xùn)練過程中的顯存開銷與訓(xùn)練時(shí)間。可以看出,SaRA比LT-SFT減少了固定的9.2GB顯存占用(對應(yīng)所有參數(shù)的梯度占用空間),在Batch Size較小時(shí)(<=4)節(jié)省了45%的顯存。而LoRA隨著Batchsize的增大,顯存占用急速上升。SaRA在Batch Size=16時(shí)比LoRA節(jié)省了52%的顯存占用,并且節(jié)省了49%的訓(xùn)練時(shí)間。

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

圖8:基于參數(shù)選擇的方法、LoRA、SaRA在不同batch size下的顯存開銷與訓(xùn)練時(shí)間

4.6 訓(xùn)練參數(shù)分析

一個好的微調(diào)方法,在微調(diào)過程中,應(yīng)該能夠?qū)W習(xí)到更多的任務(wù)相關(guān)的信息,同時(shí)最大化保留預(yù)訓(xùn)練權(quán)重的先驗(yàn)知識。因此,作者實(shí)驗(yàn)分析了SaRA與LoRA在Expedition數(shù)據(jù)集上微調(diào)后的學(xué)習(xí)到的參數(shù)ΔP與預(yù)訓(xùn)練權(quán)重P之間的關(guān)系。表3通過F范數(shù)量化了ΔP前r維子空間與預(yù)訓(xùn)練權(quán)重P子空間的相關(guān)性,可見SaRA學(xué)習(xí)到的參數(shù)與P相關(guān)性更小,說明相較于LoRA學(xué)習(xí)到了更多的下游任務(wù)的知識。此外,還計(jì)算了放大因子Amplification Factor,量化了ΔP對P中未強(qiáng)調(diào)的特征方向的放大倍數(shù),同樣證明了SaRA對新知識更強(qiáng)的學(xué)習(xí)能力。

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

表3:SaRA與LoRA訓(xùn)練參數(shù)ΔP,與預(yù)訓(xùn)練參數(shù)P的關(guān)系

圖9計(jì)算了SaRA與LoRA訓(xùn)練后的模型參數(shù)ΔP+P與預(yù)訓(xùn)練參數(shù)P的前r維子空間的相似性,可以看出,SaRA的相似性在95%以上,而LoRA維持在80%附近,證明了融合SaRA訓(xùn)練參數(shù)的模型,能夠更好地維護(hù)預(yù)訓(xùn)練權(quán)重的先驗(yàn)知識。

修改一行代碼就能實(shí)現(xiàn)高效微調(diào)!上海交大&騰訊開源SaRA:兼顧原始生成和下游任務(wù)-AI.x社區(qū)

圖9:SaRA與LoRA訓(xùn)練后的模型參數(shù)ΔP+P與預(yù)訓(xùn)練參數(shù)P的關(guān)系

結(jié)論

本文提出了 SaRA,一種新穎的參數(shù)高效微調(diào)方法,該方法充分利用了預(yù)訓(xùn)練模型中絕對值最小的無效參數(shù)。作者提出了一種基于核范數(shù)的低秩損失,以約束學(xué)習(xí)到的稀疏矩陣的秩,從而避免模型過擬合。此外,設(shè)計(jì)了一種漸進(jìn)式參數(shù)調(diào)整策略,進(jìn)一步提高了微調(diào)參數(shù)的有效性。最后,提出了一種新型的非結(jié)構(gòu)化反向傳播方法,大大節(jié)省了參數(shù)微調(diào)過程中的內(nèi)存開銷,同時(shí)也能降低其他選擇性 PEFT 方法的內(nèi)存成本。大量實(shí)驗(yàn)證明了本文方法的有效性,它在保持預(yù)訓(xùn)練模型的先驗(yàn)信息的同時(shí),實(shí)現(xiàn)了最佳的擬合能力。此外,作者高效地封裝了本文的方法,使其只需修改一行代碼即可實(shí)現(xiàn),這大大增強(qiáng)了代碼在其他模型和任務(wù)中的易用性和適應(yīng)性。


本文轉(zhuǎn)自 AI生成未來 ,作者:AI生成未來


原文鏈接:??https://mp.weixin.qq.com/s/xPfhcOvyFqV9h6vhZlF-UQ??

標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦