1 簡介
在下游任務(wù)對大規(guī)模預(yù)訓(xùn)練模型進(jìn)行finetune已經(jīng)成為目前NLP一種流行的學(xué)習(xí)方法,然而傳統(tǒng)的finetune方法會更新預(yù)訓(xùn)練語言模型的全部參數(shù),這種方式隨著模型尺寸跟下游任務(wù)數(shù)量的增加會變得難以承受。
于是乎,出現(xiàn)了一系列高效的更新參數(shù)的遷移學(xué)習(xí)方式,通過只更新少量模型參數(shù)來保證下游任務(wù)的效果,例如前面章節(jié)提及的prompt learning,Adapter,LoRA,BitFit等方法。
這些方法雖然有效,但他們成功的原因跟彼此之間的聯(lián)系卻不明所以,這對我們理解這些關(guān)鍵設(shè)計造成了阻礙。
在這個章節(jié),我們介紹一篇ICLR2022相關(guān)的論文,它提出一個基于參數(shù)更新的遷移學(xué)習(xí)的統(tǒng)一框架,建立多種參數(shù)優(yōu)化方法之間的聯(lián)系,從而方便理解不同方法背后的關(guān)鍵設(shè)計,進(jìn)而設(shè)計出只更新更少參數(shù)同時取得更好效果的參數(shù)優(yōu)化方法。
2 背景
在這個篇章,我們從另一種角度去回顧之前提及的多種高效的參數(shù)優(yōu)化方法,通過一種更加抽象的方式去解析其中的原理跟細(xì)節(jié),從而比對彼此之間的共性與差異,構(gòu)建一個統(tǒng)一的框架。
2.1 Prefix tuning
Prefix tuning會在每層transformer的多個attention的key跟value向量中插入l個用于更新參數(shù)的prefix向量,每個attention的計算公式如下,其中的Pk,Pv就是新插入的prefix向量。
圖1:prefix tuning
而等式的前半部分是不加入prefix向量的初始attention計算的公式,后半部分則是跟上下文向量C無關(guān)的部分,通過一個類似門的機(jī)制來計算前后兩部分的比重,如果用h表示原本的attention模塊輸出,那么prefix tuning的attention計算可以寫成如下形式,加入prefix的attention模塊輸出等于原本attention模塊輸出和一個的與上下文無關(guān)的增量之間的加權(quán)平均。
2.2 Adapter
Adapter方法在transformer層子模塊之間插入一些新的模塊,在Adapter內(nèi)部,它的輸入h通過矩陣乘法Wdown,先將特征維度縮小,然后通過一個非線形層f,再通過矩陣乘法Wup將特征維度放大到跟adapter輸入一樣的尺寸,最后通過一個跨層連接,將adapter的輸入跟上述結(jié)果加到一起作為最終adapter的輸出,即下圖形式。
同樣包括前面兩部分,前面部分還是原先的輸入h,而后面部分則是h的一個增量變化,但是相比prefix tuning這里用于計算的前面兩部分的權(quán)重的門的機(jī)制,同樣可以把上式改寫為以下形式。
2.3LoRA
LoRA在transformer的權(quán)重矩陣旁插入了一個低秩矩陣,用于近似權(quán)重更新,對于預(yù)訓(xùn)練模型的權(quán)重矩陣W,LoRA通過低秩分解將其表示為如下形式,其中s是一個可訓(xùn)練的參數(shù),在形式跟LoRA極其相似,只是少了一個中間非線性運算和多了一個標(biāo)準(zhǔn)化參數(shù)s。
3.1 The unified framework
通過對上述幾種方法的抽象表示,不難發(fā)現(xiàn)這幾種方法存在一定的共性,隱藏層的最終表征都由兩部分組成,分別是原始的語言模型的輸出跟新的增量兩部分,雖然很多關(guān)鍵設(shè)計有所不同,但是這幾種方法都在學(xué)習(xí)應(yīng)用于各種隱藏表征的一個修正向量,也就是后半部分。
為了建立統(tǒng)一的框架去理解這些不同方法背后的關(guān)鍵設(shè)計,論文定義了以下四個設(shè)計維度,并分析了不同方法在這四個維度之間的差異跟聯(lián)系。
a) Functional Form,修正向量的計算方式,下圖中的第二列。
b) Modified Representation,直接調(diào)整的隱藏表征位置,作用于attetnion模塊還是FFN模塊?
c) Insertion Form,新增模塊如何插入語言模型中?序列化還是并行化?
如果輸入是語言模型的輸入,輸出是語言模型的輸出,則屬于并行化,類似于Prefix tuning,如果輸入跟輸出都是語言模型的輸出,則屬于序列化,類似于Adapter.
d)Composition Form,修正向量跟原本的隱藏層表征如何結(jié)合到一起去構(gòu)建新的隱藏層表征?
圖2:不同方法在4個設(shè)計維度下的具體信息
在提出上述統(tǒng)一的框架后,通過調(diào)整某些設(shè)計維度下的信息,論文提出了3種新的遷移學(xué)習(xí)方法的設(shè)計,具體細(xì)節(jié)可以參考下圖理解。
a)Parallel Adapter,
將prefix tuning的并行插入方式遷移到Adapter,也就是把Adapter的insertion form的屬性改成prefix tuning。
b)Multi-head Parallel Adapter
將Parallel Adapter應(yīng)用到multi head attention的位置,也就是把Parallel Adapter的modified representation的屬性改成prefix tuning。
c)Scaled Parallel Adapter
將LoRA的復(fù)合函數(shù)跟插入方式遷移到Adapter,也就是把Adapter的composition form跟insertion form的屬性改成LoRA
圖3:多種參數(shù)優(yōu)化方法結(jié)構(gòu)對比
4 實驗
為了探索不同的設(shè)計維度所隱藏的特性,以及哪些設(shè)計維度尤為重要,論文在4個不同類型的下游任務(wù)上進(jìn)行了實驗,包括文本總結(jié),文本翻譯,文本推斷以及情感分類任務(wù),相應(yīng)的數(shù)據(jù)集分別為XSum, en-ro, MNLI, SST2。至于語言模型的選擇,為了更貼合當(dāng)前實際,論文使用了encoder-decoder結(jié)構(gòu)的語言模型在前兩者上做實驗,而使用encoder結(jié)構(gòu)的語言模型在后兩者上進(jìn)行實驗。
a)當(dāng)下主流方法的表現(xiàn)
在文本推斷跟情感分類任務(wù)的數(shù)據(jù)集上,現(xiàn)存的幾種主流方法在只更新小于1%的參數(shù)量條件下可以達(dá)到媲美更新全部模型參數(shù)的效果,但在文本總結(jié)跟翻譯任務(wù)數(shù)據(jù)集上,即便增加要更新的參數(shù)量,這幾種參數(shù)優(yōu)化的方法距離更新全部模型參數(shù)的方法在效果上仍有一定差距。
這也說明那些宣稱可以媲美finetune全部參數(shù)方法效果的參數(shù)優(yōu)化方法,其實是在只包含encoder的模型并在GLUE上取得,或者是基于encoder-decoder的模型在相對簡單的文本生成任務(wù)上取得媲美finetune全部參數(shù)的效果,不能泛化到其他標(biāo)準(zhǔn)評測任務(wù)。
圖4:目前幾種主流方法的效果對比
b)Insertion Form
下圖中,SA指的是Adapter,相應(yīng)的insertion form是sequential,PA則是Parallel Adapter,相應(yīng)的insertion form跟prefix tuning一樣,都是parallel。
從實驗結(jié)果看,使用parallel作為插入方式的prefix tuning跟PA效果明顯優(yōu)于SA,從而說明parallel的插入形式更優(yōu)。
圖5:Insertion Form對比
c)ModifiedRepresentation
從下圖可以看出,直接作用于FFN層的方法的效果明顯優(yōu)化作用于attention層,這些結(jié)果顯示FFN層可以更高效的利用新增的參數(shù)進(jìn)行調(diào)整。這可能是由于FFN層學(xué)習(xí)的是具體任務(wù)的文本模式,而attention層學(xué)習(xí)的是文本不同位置之間的交互,具有一定泛化能力,不需要特地為新任務(wù)做太多調(diào)整導(dǎo)致的。
圖6:modified representation對比
當(dāng)更新的參數(shù)量從3.6%減少到0.1%時,作用于attention模塊的MH PA(attn)跟prefix tuning的方法在效果上領(lǐng)先于其他方法。
圖7:multi head attention的有效性
結(jié)合上述實驗效果,當(dāng)目標(biāo)參數(shù)量非常少時,作用于attention層的方法可以取得更好效果,反之,則優(yōu)先選擇作用于FFN層的方法。
d) Composition Function
不難看出,scaling的復(fù)合函數(shù)效果優(yōu)于簡單相加的復(fù)合函數(shù)。
圖8:不同composition function對比
5 總結(jié)
基于前面的實驗結(jié)論,論文有以下重大發(fā)現(xiàn):
a) Scaled parallel adapter是作用于FFN層的最好變體。
b) FFN層可以通過更多的參數(shù)從而更好優(yōu)化下游模型表現(xiàn)。
c)類似于prefix tuning的作用于attention的方式可以在僅更新0.1%比例參數(shù)量的前提下得到不錯效果。
于是論文提出一種新的方法Mix-And-Match adapter(MAM Adapter),它包括作用于attention模塊30個prefix tuning向量,以及引入更多參數(shù)量的scaled parallel adapter,在諸多任務(wù)上取得了SOTA效果。融合prefix tuning跟scaled parallel adapter的結(jié)構(gòu),并根據(jù)它們的特點分配合適的優(yōu)化參數(shù),從而達(dá)到一個整體的更優(yōu)。
之前在學(xué)習(xí)怎么高效的參數(shù)優(yōu)化方法時總是感覺里面有很多神似的地方,但是建立不了其中的聯(lián)系,看到這篇論文后,有一種茅塞頓開的領(lǐng)悟,這篇文章提出的統(tǒng)一框架能夠幫助大家更好的理解這些參數(shù)優(yōu)化方法,從而更好理解這些關(guān)鍵設(shè)計帶來的價值。具體到個人,可以根據(jù)自己的任務(wù)和場景,設(shè)計出更加靈活的參數(shù)優(yōu)化的遷移學(xué)習(xí)方案了。
審核編輯:劉清
-
SST
+關(guān)注
關(guān)注
0文章
69瀏覽量
35314 -
GLUE
+關(guān)注
關(guān)注
0文章
5瀏覽量
7375 -
LoRa技術(shù)
+關(guān)注
關(guān)注
3文章
101瀏覽量
16391
原文標(biāo)題:Parameter-efficient transfer learning系列之A Unified View
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
兩個EXCEL文件,一每天更新,一固定不變; 用新的更新計劃和固定標(biāo)準(zhǔn)對比,取出一個值;這種結(jié)構(gòu)框架怎么弄??
遷移學(xué)習(xí)
分享一種智能網(wǎng)卡對熱遷移支持的新思路
面向用戶的IMS媒體層統(tǒng)一安全框架
屏幕衍生商機(jī) 統(tǒng)一化框架助力UI設(shè)計
深度學(xué)習(xí)發(fā)展的5個主力框架
![深度<b class='flag-5'>學(xué)習(xí)</b>發(fā)展的5<b class='flag-5'>個</b>主力<b class='flag-5'>框架</b>](https://file.elecfans.com/web1/M00/50/08/o4YBAFrrwaiAOZrwAAAPMDqrlM4274.jpg)
PLASTER:一個與深度學(xué)習(xí)性能有關(guān)的框架
一個全新的深度學(xué)習(xí)框架——計圖
天才黑客George Hotz開源了一個小型深度學(xué)習(xí)框架tinygrad
統(tǒng)一框架下期望在線核選擇的競爭性分析
![<b class='flag-5'>統(tǒng)一</b><b class='flag-5'>框架</b>下期望在線核選擇的競爭性分析](https://file.elecfans.com/web1/M00/EA/79/pIYBAGBzpeaAa3iHAAJcOs9sutk313.png)
一種基于標(biāo)簽比例信息的遷移學(xué)習(xí)算法
基于谷歌中長尾item或user預(yù)測效果的遷移學(xué)習(xí)框架
一文詳解遷移學(xué)習(xí)
![<b class='flag-5'>一</b>文詳解<b class='flag-5'>遷移</b><b class='flag-5'>學(xué)習(xí)</b>](https://file1.elecfans.com/web2/M00/90/39/wKgZomTV-IeATGr4AAAvJyDtCHY824.png)
深度學(xué)習(xí)框架是什么?深度學(xué)習(xí)框架有哪些?
視覺深度學(xué)習(xí)遷移學(xué)習(xí)訓(xùn)練框架Torchvision介紹
![視覺深度<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>遷移</b><b class='flag-5'>學(xué)習(xí)</b>訓(xùn)練<b class='flag-5'>框架</b>Torchvision介紹](https://file1.elecfans.com/web2/M00/A5/A0/wKgaomUM9ICAERLbAAA693514ag604.png)
評論