您現在的位置是:首頁 > 攝影首頁攝影

NeurlPS 2022 | 全新大模型引數高效微調方法SSF:僅需訓練0.3M的引數,效果卓越

由 澎湃新聞客戶端 發表于 攝影2023-01-07
簡介結論在本文中,研究者專注於引數高效的微調,並提出了一種 SSF 方法來縮放和移位預先訓練好的模型所提取的特徵

ps做手機模型怎麼新增圖示

機器之心專欄

作者:位元組跳動智慧創作團隊

近期,由新加坡國立大學和位元組跳動聯合發表的論文入選 NeurIPS 2022。該論文提出了一個全新的、針對大模型訓練的引數高效微調方法 SSF(Scaling & Shifting Your Features),可簡潔、高效、零開銷實現引數微調。

NeurlPS 2022 | 全新大模型引數高效微調方法SSF:僅需訓練0.3M的引數,效果卓越

論文地址:https://arxiv。org/abs/2210。08823

程式碼地址:https://github。com/dongzelian/SSF

大模型訓練調參:開銷和效能不可兼得?

隨著資料驅動的方法在深度學習界的普及,資料集規模和模型規模都有了巨大的爆發。業界傾向於探索大模型,然後在下游任務中採用這些預訓練的模型,以獲得更好的效能和更快的收斂。

然而,目前的程式嚴重依賴於全面微調,即更新模型的所有引數。這不可避免地導致模型對小的目標資料集過度擬合,繼而在微調後不能用於其他任務。因此,裝置需要為每個任務儲存一套專門的模型引數,造成了巨大的儲存空間,特別是對於如今的大模型(例如, ViT-G/14, 1。8G, CoAtNet, 2。4G)來說,訓練開銷很大。

此前,業界對上述問題的解決方案是:僅僅微調頭部層,即只對最後一個頭部層進行微調。然而,與完全微調相比,這種做法通常會產生較差的效能。

以視覺任務上實現的方法 VPT(視覺提示微調)[1]為例,VPT 提出插入可學習的提示作為輸入,並將其附加到原始影象 token 中。這些提示將透過執行自我注意力(self attention)與影象 token 互動,並在微調過程中進行更新。透過這種方式,與只微調頭部層相比,在下游任務中可以實現顯著的效能提升。然而,與完全微調和微調頭部層相比,VPT 方法額外引入了兩個問題:

i) VPT 為不同的任務調整提示的數量,這引入了一個與任務相關的可學習引數空間。微調的效能對每個任務的提示數量很敏感,需要仔細設計。太少或太多的提示可能會降低微調的準確性或增加計算的冗餘度(例如,在 Clevr/count 上有 200 個提示,但是 Flowers102 上有 1 個提示);

ii) VPT 以及其他基於介面卡(adapter)的方法 [2],與原始預訓練模型相比,在推理階段引入了額外的引數和計算成本。例如,VPT 引入了額外的輸入,基於介面卡的方法在預訓練的模型中插入額外的模組。這些方法改變了預訓練網路結構或網路的輸入,可能導致頻繁的結構修改和沉重的工作量,特別是對於那些已經部署在邊緣裝置(如行動電話)中的模型。

符合奧卡姆剃刀原則的新方法

受一些特徵調製方法的啟發,針對上述難題,新加坡國立大學和位元組跳動的研究者提出了一種全新的引數高效的微調方法,名為 SSF。採用 SSF 方法,只需要對預訓練的模型提取的深層特徵進行縮放和移位,就可以進行微調。

由於上游資料集和下游資料集的資料分佈不同,很難將在上游資料集訓練的模型權重應用於下游資料集。例如,保持骨幹權重的微調頭部層策略會導致效能下降。為了緩解上述問題,SSF 引入了縮放參數和移位引數,這些引數可以被認為是方差和均值,用於調節用上游資料集上的預訓練模型提取的下游資料集的特徵,從而使被調節的特徵落在一個鑑別性的空間。這些縮放參數和移位引數不依賴於任何輸入,對於不同的任務有一個統一的可學習引數空間。

SSF 的另一個優點是,它只引入了線性變換,這是因為研究者僅僅對提取的特徵進行了縮放和移位。這些線性變換可以在推理階段透過模型重新引數化(model re-parameterization) [3] 進一步合併到原始的預訓練權重中,從而避免了下游任務的額外引數和 FLOPs。對於部署在邊緣裝置中的模型,只需要上傳微調後的更新權重,而不需要改變網路結構。

表一顯示了 SSF 和其他微調方法之間的具體特徵比較。SSF 簡單、有效、高效,也符合奧卡姆剃刀原則。研究者探索了這個新的基線,發現它出人意料地超過了所有其他引數高效的微調方法。

NeurlPS 2022 | 全新大模型引數高效微調方法SSF:僅需訓練0.3M的引數,效果卓越

圖一:SSF 方法的特點以及它在 FGVC 和 VTAB 任務上的效能。

透過在 26 個分類資料集和 3 個魯棒性資料集上評估 SSF 方法,結果顯示:與其他引數高效的微調方法相比,SSF 獲得了最先進的效能。

與完全微調相比,SSF 方法在 FGVC 和 VTAB-1k 上獲得了 2。46%(90。72% {vs。 88。54%)和 11。48%(73。10% vs。 65。57%)的 Top-1 精度效能改進,但只需要大約 0。3M 的可訓引數。此外,SSF 在推理階段不需要額外的引數,可以即插即用,很容易擴充套件到各種模型系列(CNN、Transformer 以及 MLP 網路)。

具體的實現思路

與此前方法不同的是,研究者引入了縮放和移位因子來調節由預先訓練好的模型提取的深層特徵,並進行線性轉換以匹配目標資料集的分佈。

這一方法涵蓋了五個主要屬性:

i) SSF 實現了與完全微調策略相同的效能;

ii) 所有的下游任務都可以獨立地輸入到模型中,而不依賴任何其他任務;

iii) 模型只需要微調很少的引數;

iv)與 VPT 不同,VPT 為每個任務調整提示的數量,而 SSF 中微調的引數集不會隨著任務的變化而變化,這使得之後可以透過增加更多的任務進行多工學習或連續學習來進一步微調引數是可行的(它提供了更多的靈活性,與 ii)並不矛盾);

v)由於線性變換,SSF 避免了在推理階段引入額外的引數和計算成本,使這一方法實現零開銷。

NeurlPS 2022 | 全新大模型引數高效微調方法SSF:僅需訓練0.3M的引數,效果卓越

圖二:SSF 的總體框架。

SSF 的設計:SSF 執行線性轉換來調節特徵來進行引數高效的微調,如圖二所示。在圖二(a)中,給定一個在上游任務中預訓練的模型,研究者在網路的每個操作(OP)之後插入 SSF-ADA (把提出的方法稱為 SSF,把具體的模組稱為 SSF-ADA)來調節特徵。總共有 K 個操作,這些操作可能包含多頭自注意力(MSA)、MLP 和層歸一化化(LN)等等。在微調過程中,這些操作中的預訓練權重保持凍結,SSF-ADA 引數保持更新。具體的 SSF-ADA 結構如圖二 (c) 所示,前一個操作輸出的特徵用一個縮放因子進行點乘,然後用一個移位因子求和,這與輸入無關,如下所示

重引數化:由於 SSF-ADA 是一個完全的線性變換,可以透過吸收縮放和移位項來重新引數化它,如下所示

其中 w 和 b 分別為權重和偏置項。* 代表卷積層中的 “卷積” 操作或 MLP 層中的 “乘法” 操作。t 是前一個線性層的輸入。由於 w 和 b 被凍結,而和在微調中被更新,在推理階段,和可以透過上述公式合併到原始引數空間(w 和 b)。從這個角度看,SSF-ADA 使得在不增加任何額外引數和計算成本的情況下執行下游任務成為可能,如圖二(b)所示。

實驗結果

1。 SSF 在影象分類資料集上的效能

研究者分別在 FGVC、VTAB、CIFAR-100 和 ImageNet-1K 進行了實驗,如表一、二、三。SSF 一致性地超過了其他高效微調方法(Adapter、Bias 和 VPT)。在表三中,SSF 在 Swin Transformer、ConvNext 和 AS-MLP 等各種模型上的結果也始終優於其他引數高效微調方法,這也驗證了 SSF 在多種模型上的有效性。更多的分析見論文。

NeurlPS 2022 | 全新大模型引數高效微調方法SSF:僅需訓練0.3M的引數,效果卓越

表一:在 FGVC 資料集上使用 ViT-B/16 預訓練模型的實驗結果

NeurlPS 2022 | 全新大模型引數高效微調方法SSF:僅需訓練0.3M的引數,效果卓越

表二:在 VTAB 資料集上使用 ViT-B/16 預訓練模型的實驗結果

NeurlPS 2022 | 全新大模型引數高效微調方法SSF:僅需訓練0.3M的引數,效果卓越

表三:在 CIFAR-100 和 ImageNet-1K 資料集上使用 ViT-B/16, Swin-B, ConvNext-B 和 AS-MLP-B 等預訓練模型的實驗結果

2。 不同的設計對結果的影響

研究者還進行實驗來分析不同設計對微調的影響。所有的實驗都是在 CIFAR-100 上用預訓練的 ViT-B/16 模型實現的,結果見表四。

NeurlPS 2022 | 全新大模型引數高效微調方法SSF:僅需訓練0.3M的引數,效果卓越

表四:不同設計的影響。(a) 層數的影響 (b) 不同插入位置的影響 (c) 初始化的影響 (d) 不同元件的影響

3。 視覺化分析

為了進一步研究為什麼 SSF 能取得更優異的效能,研究者還將完全微調和微調頭部層、完全微調和 VPT-Deep、完全微調和 SSF 之間的特徵相似性視覺化,如圖三所示。在最後一層,SSF 與完全微調的特徵最相似,準確度也最接近。這表明 SSF 能很好地提取下游任務中的影象特徵。

NeurlPS 2022 | 全新大模型引數高效微調方法SSF:僅需訓練0.3M的引數,效果卓越

圖三:完全微調和微調頭部層、完全微調和 VPT-Deep、完全微調和 SSF 在 ViT-B/16 的不同層中的特徵相似性的視覺化。

結論

在本文中,研究者專注於引數高效的微調,並提出了一種 SSF 方法來縮放和移位預先訓練好的模型所提取的特徵。SSF 在微調過程中引入的縮放和移位引數可以透過推理階段的重引數化合併到原來的預訓練模型權重中,避免了額外的引數和 FLOPs。在總共 26 個影象分類資料集和 3 個魯棒性和分佈外資料集以不同的模型(CNN、Transformers 和 MLPs)進行實驗,SSF 出人意料地優於其他引數高效的微調方法,它建立了一個新的基線。

引用:

[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。

NeurlPS 2022 | 全新大模型引數高效微調方法SSF:僅需訓練0.3M的引數,效果卓越

招聘!從教授到實習生,鵬城實驗室&北京大學深圳研究生院、智源研究院、IDEA、MSRA等機構等你來

本期「TalentAI」推薦職位如下:

原標題:《NeurlPS 2022 | 全新大模型引數高效微調方法SSF:僅需訓練0。3M的引數,效果卓越》