博客專(zhuān)欄

EEPW首頁(yè) > 博客 > NeurlPS 2022 | 全新大模型參數(shù)高效微調(diào)方法SSF:僅需訓(xùn)練0.3M的參數(shù),效果卓越

NeurlPS 2022 | 全新大模型參數(shù)高效微調(diào)方法SSF:僅需訓(xùn)練0.3M的參數(shù),效果卓越

發(fā)布人:CV研究院 時(shí)間:2022-11-20 來(lái)源:工程師 發(fā)布文章
近期,由新加坡國(guó)立大學(xué)和字節(jié)跳動(dòng)聯(lián)合發(fā)表的論文入選 NeurIPS 2022。該論文提出了一個(gè)全新的、針對(duì)大模型訓(xùn)練的參數(shù)高效微調(diào)方法 SSF(Scaling & Shifting Your Features),可簡(jiǎn)潔、高效、零開(kāi)銷(xiāo)實(shí)現(xiàn)參數(shù)微調(diào)。

圖片

  • 論文地址:https://arxiv.org/abs/2210.08823
  • 代碼地址:https://github.com/dongzelian/SSF 


大模型訓(xùn)練調(diào)參:開(kāi)銷(xiāo)和性能不可兼得?
隨著數(shù)據(jù)驅(qū)動(dòng)的方法在深度學(xué)習(xí)界的普及,數(shù)據(jù)集規(guī)模和模型規(guī)模都有了巨大的爆發(fā)。業(yè)界傾向于探索大模型,然后在下游任務(wù)中采用這些預(yù)訓(xùn)練的模型,以獲得更好的性能和更快的收斂。
然而,目前的程序嚴(yán)重依賴(lài)于全面微調(diào),即更新模型的所有參數(shù)。這不可避免地導(dǎo)致模型對(duì)小的目標(biāo)數(shù)據(jù)集過(guò)度擬合,繼而在微調(diào)后不能用于其他任務(wù)。因此,設(shè)備需要為每個(gè)任務(wù)保存一套專(zhuān)門(mén)的模型參數(shù),造成了巨大的存儲(chǔ)空間,特別是對(duì)于如今的大模型(例如, ViT-G/14, 1.8G, CoAtNet, 2.4G)來(lái)說(shuō),訓(xùn)練開(kāi)銷(xiāo)很大。
此前,業(yè)界對(duì)上述問(wèn)題的解決方案是:僅僅微調(diào)頭部層,即只對(duì)最后一個(gè)頭部層進(jìn)行微調(diào)。然而,與完全微調(diào)相比,這種做法通常會(huì)產(chǎn)生較差的性能。
以視覺(jué)任務(wù)上實(shí)現(xiàn)的方法 VPT(視覺(jué)提示微調(diào))[1]為例,VPT 提出插入可學(xué)習(xí)的提示作為輸入,并將其附加到原始圖像 token 中。這些提示將通過(guò)執(zhí)行自我注意力(self attention)與圖像 token 交互,并在微調(diào)過(guò)程中進(jìn)行更新。通過(guò)這種方式,與只微調(diào)頭部層相比,在下游任務(wù)中可以實(shí)現(xiàn)顯著的性能提升。然而,與完全微調(diào)和微調(diào)頭部層相比,VPT 方法額外引入了兩個(gè)問(wèn)題:
i) VPT 為不同的任務(wù)調(diào)整提示的數(shù)量,這引入了一個(gè)與任務(wù)相關(guān)的可學(xué)習(xí)參數(shù)空間。微調(diào)的性能對(duì)每個(gè)任務(wù)的提示數(shù)量很敏感,需要仔細(xì)設(shè)計(jì)。太少或太多的提示可能會(huì)降低微調(diào)的準(zhǔn)確性或增加計(jì)算的冗余度(例如,在 Clevr/count 上有 200 個(gè)提示,但是 Flowers102 上有 1 個(gè)提示);
ii) VPT 以及其他基于適配器(adapter)的方法 [2],與原始預(yù)訓(xùn)練模型相比,在推理階段引入了額外的參數(shù)和計(jì)算成本。例如,VPT 引入了額外的輸入,基于適配器的方法在預(yù)訓(xùn)練的模型中插入額外的模塊。這些方法改變了預(yù)訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)或網(wǎng)絡(luò)的輸入,可能導(dǎo)致頻繁的結(jié)構(gòu)修改和沉重的工作量,特別是對(duì)于那些已經(jīng)部署在邊緣設(shè)備(如移動(dòng)電話(huà))中的模型。
符合奧卡姆剃刀原則的新方法
受一些特征調(diào)制方法的啟發(fā),針對(duì)上述難題,新加坡國(guó)立大學(xué)和字節(jié)跳動(dòng)的研究者提出了一種全新的參數(shù)高效的微調(diào)方法,名為 SSF。采用 SSF 方法,只需要對(duì)預(yù)訓(xùn)練的模型提取的深層特征進(jìn)行縮放和移位,就可以進(jìn)行微調(diào)。
由于上游數(shù)據(jù)集和下游數(shù)據(jù)集的數(shù)據(jù)分布不同,很難將在上游數(shù)據(jù)集訓(xùn)練的模型權(quán)重應(yīng)用于下游數(shù)據(jù)集。例如,保持骨干權(quán)重的微調(diào)頭部層策略會(huì)導(dǎo)致性能下降。為了緩解上述問(wèn)題,SSF 引入了縮放參數(shù)和移位參數(shù),這些參數(shù)可以被認(rèn)為是方差和均值,用于調(diào)節(jié)用上游數(shù)據(jù)集上的預(yù)訓(xùn)練模型提取的下游數(shù)據(jù)集的特征,從而使被調(diào)節(jié)的特征落在一個(gè)鑒別性的空間。這些縮放參數(shù)和移位參數(shù)不依賴(lài)于任何輸入,對(duì)于不同的任務(wù)有一個(gè)統(tǒng)一的可學(xué)習(xí)參數(shù)空間。
SSF 的另一個(gè)優(yōu)點(diǎn)是,它只引入了線性變換,這是因?yàn)檠芯空邇H僅對(duì)提取的特征進(jìn)行了縮放和移位。這些線性變換可以在推理階段通過(guò)模型重新參數(shù)化(model re-parameterization) [3] 進(jìn)一步合并到原始的預(yù)訓(xùn)練權(quán)重中,從而避免了下游任務(wù)的額外參數(shù)和 FLOPs。對(duì)于部署在邊緣設(shè)備中的模型,只需要上傳微調(diào)后的更新權(quán)重,而不需要改變網(wǎng)絡(luò)結(jié)構(gòu)。
表一顯示了 SSF 和其他微調(diào)方法之間的具體特征比較。SSF 簡(jiǎn)單、有效、高效,也符合奧卡姆剃刀原則。研究者探索了這個(gè)新的基線,發(fā)現(xiàn)它出人意料地超過(guò)了所有其他參數(shù)高效的微調(diào)方法。
圖片
圖一:SSF 方法的特點(diǎn)以及它在 FGVC 和 VTAB 任務(wù)上的性能。
通過(guò)在 26 個(gè)分類(lèi)數(shù)據(jù)集和 3 個(gè)魯棒性數(shù)據(jù)集上評(píng)估 SSF 方法,結(jié)果顯示:與其他參數(shù)高效的微調(diào)方法相比,SSF 獲得了最先進(jìn)的性能。
與完全微調(diào)相比,SSF 方法在 FGVC 和 VTAB-1k 上獲得了 2.46%(90.72% {vs. 88.54%)和 11.48%(73.10%  vs. 65.57%)的 Top-1 精度性能改進(jìn),但只需要大約 0.3M 的可訓(xùn)參數(shù)。此外,SSF 在推理階段不需要額外的參數(shù),可以即插即用,很容易擴(kuò)展到各種模型系列(CNN、Transformer 以及 MLP 網(wǎng)絡(luò))。
具體的實(shí)現(xiàn)思路
與此前方法不同的是,研究者引入了縮放和移位因子來(lái)調(diào)節(jié)由預(yù)先訓(xùn)練好的模型提取的深層特征,并進(jìn)行線性轉(zhuǎn)換以匹配目標(biāo)數(shù)據(jù)集的分布。
這一方法涵蓋了五個(gè)主要屬性:
i) SSF 實(shí)現(xiàn)了與完全微調(diào)策略相同的性能;ii) 所有的下游任務(wù)都可以獨(dú)立地輸入到模型中,而不依賴(lài)任何其他任務(wù);iii) 模型只需要微調(diào)很少的參數(shù);iv)與 VPT 不同,VPT 為每個(gè)任務(wù)調(diào)整提示的數(shù)量,而 SSF 中微調(diào)的參數(shù)集不會(huì)隨著任務(wù)的變化而變化,這使得之后可以通過(guò)增加更多的任務(wù)進(jìn)行多任務(wù)學(xué)習(xí)或連續(xù)學(xué)習(xí)來(lái)進(jìn)一步微調(diào)參數(shù)是可行的(它提供了更多的靈活性,與 ii)并不矛盾);v)由于線性變換,SSF 避免了在推理階段引入額外的參數(shù)和計(jì)算成本,使這一方法實(shí)現(xiàn)零開(kāi)銷(xiāo)。
圖片
圖二:SSF 的總體框架。
SSF 的設(shè)計(jì):SSF 執(zhí)行線性轉(zhuǎn)換來(lái)調(diào)節(jié)特征來(lái)進(jìn)行參數(shù)高效的微調(diào),如圖二所示。在圖二(a)中,給定一個(gè)在上游任務(wù)中預(yù)訓(xùn)練的模型,研究者在網(wǎng)絡(luò)的每個(gè)操作(OP)之后插入 SSF-ADA (把提出的方法稱(chēng)為 SSF,把具體的模塊稱(chēng)為 SSF-ADA)來(lái)調(diào)節(jié)特征??偣灿?K 個(gè)操作,這些操作可能包含多頭自注意力(MSA)、MLP 和層歸一化化(LN)等等。在微調(diào)過(guò)程中,這些操作中的預(yù)訓(xùn)練權(quán)重保持凍結(jié),SSF-ADA 參數(shù)保持更新。具體的 SSF-ADA 結(jié)構(gòu)如圖二 (c) 所示,前一個(gè)操作輸出的特征用一個(gè)縮放因子進(jìn)行點(diǎn)乘,然后用一個(gè)移位因子求和,這與輸入無(wú)關(guān),如下所示

圖片

重參數(shù)化:由于 SSF-ADA 是一個(gè)完全的線性變換,可以通過(guò)吸收縮放和移位項(xiàng)來(lái)重新參數(shù)化它,如下所示

圖片

其中 w 和 b 分別為權(quán)重和偏置項(xiàng)。* 代表卷積層中的 "卷積" 操作或 MLP 層中的 "乘法" 操作。t 是前一個(gè)線性層的輸入。由于 w 和 b 被凍結(jié),而和在微調(diào)中被更新,在推理階段,和可以通過(guò)上述公式合并到原始參數(shù)空間(w 和 b)。從這個(gè)角度看,SSF-ADA 使得在不增加任何額外參數(shù)和計(jì)算成本的情況下執(zhí)行下游任務(wù)成為可能,如圖二(b)所示。
實(shí)驗(yàn)結(jié)果
1. SSF 在圖像分類(lèi)數(shù)據(jù)集上的性能
研究者分別在 FGVC、VTAB、CIFAR-100 和 ImageNet-1K 進(jìn)行了實(shí)驗(yàn),如表一、二、三。SSF 一致性地超過(guò)了其他高效微調(diào)方法(Adapter、Bias 和 VPT)。在表三中,SSF 在 Swin Transformer、ConvNext 和 AS-MLP 等各種模型上的結(jié)果也始終優(yōu)于其他參數(shù)高效微調(diào)方法,這也驗(yàn)證了 SSF 在多種模型上的有效性。更多的分析見(jiàn)論文。
圖片
表一:在 FGVC 數(shù)據(jù)集上使用 ViT-B/16 預(yù)訓(xùn)練模型的實(shí)驗(yàn)結(jié)果
圖片
表二:在 VTAB 數(shù)據(jù)集上使用 ViT-B/16 預(yù)訓(xùn)練模型的實(shí)驗(yàn)結(jié)果
圖片
表三:在 CIFAR-100 和 ImageNet-1K 數(shù)據(jù)集上使用 ViT-B/16, Swin-B, ConvNext-B 和 AS-MLP-B 等預(yù)訓(xùn)練模型的實(shí)驗(yàn)結(jié)果
2. 不同的設(shè)計(jì)對(duì)結(jié)果的影響
研究者還進(jìn)行實(shí)驗(yàn)來(lái)分析不同設(shè)計(jì)對(duì)微調(diào)的影響。所有的實(shí)驗(yàn)都是在 CIFAR-100 上用預(yù)訓(xùn)練的 ViT-B/16 模型實(shí)現(xiàn)的,結(jié)果見(jiàn)表四。
圖片
表四:不同設(shè)計(jì)的影響。(a)  層數(shù)的影響 (b) 不同插入位置的影響 (c) 初始化的影響 (d) 不同組件的影響
3. 可視化分析
為了進(jìn)一步研究為什么 SSF 能取得更優(yōu)異的性能,研究者還將完全微調(diào)和微調(diào)頭部層、完全微調(diào)和 VPT-Deep、完全微調(diào)和 SSF 之間的特征相似性可視化,如圖三所示。在最后一層,SSF 與完全微調(diào)的特征最相似,準(zhǔn)確度也最接近。這表明 SSF 能很好地提取下游任務(wù)中的圖像特征。
圖片
圖三:完全微調(diào)和微調(diào)頭部層、完全微調(diào)和 VPT-Deep、完全微調(diào)和 SSF 在 ViT-B/16 的不同層中的特征相似性的可視化。
結(jié)論
在本文中,研究者專(zhuān)注于參數(shù)高效的微調(diào),并提出了一種 SSF 方法來(lái)縮放和移位預(yù)先訓(xùn)練好的模型所提取的特征。SSF 在微調(diào)過(guò)程中引入的縮放和移位參數(shù)可以通過(guò)推理階段的重參數(shù)化合并到原來(lái)的預(yù)訓(xùn)練模型權(quán)重中,避免了額外的參數(shù)和 FLOPs。在總共 26 個(gè)圖像分類(lèi)數(shù)據(jù)集和 3 個(gè)魯棒性和分布外數(shù)據(jù)集以不同的模型(CNN、Transformers 和 MLPs)進(jìn)行實(shí)驗(yàn),SSF 出人意料地優(yōu)于其他參數(shù)高效的微調(diào)方法,它建立了一個(gè)新的基線。
引用:[1] Jia et al., ?Visual Prompt Tuning, ECCV2022.[2] Houlsby et al., Parameter-efficient transfer learning for nlp, ICML2019.[3] Ding et al., Repvgg: Making vgg-style convnets great again, CVPR2021.


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉