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è)計(jì)造成了阻礙。
在這個章節(jié),我們介紹一篇ICLR2022相關(guān)的論文,它提出一個基于參數(shù)更新的遷移學(xué)習(xí)的統(tǒng)一框架,建立多種參數(shù)優(yōu)化方法之間的聯(lián)系,從而方便理解不同方法背后的關(guān)鍵設(shè)計(jì),進(jìn)而設(shè)計(jì)出只更新更少參數(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的計(jì)算公式如下,其中的Pk,Pv就是新插入的prefix向量。

圖1:prefix tuning
而等式的前半部分是不加入prefix向量的初始attention計(jì)算的公式,后半部分則是跟上下文向量C無關(guān)的部分,通過一個類似門的機(jī)制來計(jì)算前后兩部分的比重,如果用h表示原本的attention模塊輸出,那么prefix tuning的attention計(jì)算可以寫成如下形式,加入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這里用于計(jì)算的前面兩部分的權(quán)重的門的機(jī)制,同樣可以把上式改寫為以下形式。

2.3LoRA
LoRA在transformer的權(quán)重矩陣旁插入了一個低秩矩陣,用于近似權(quán)重更新,對于預(yù)訓(xùn)練模型的權(quán)重矩陣W,LoRA通過低秩分解將其表示為如下形式,其中s是一個可訓(xùn)練的參數(shù),在形式跟LoRA極其相似,只是少了一個中間非線性運(yùn)算和多了一個標(biāo)準(zhǔn)化參數(shù)s。

3.1 The unified framework
通過對上述幾種方法的抽象表示,不難發(fā)現(xiàn)這幾種方法存在一定的共性,隱藏層的最終表征都由兩部分組成,分別是原始的語言模型的輸出跟新的增量兩部分,雖然很多關(guān)鍵設(shè)計(jì)有所不同,但是這幾種方法都在學(xué)習(xí)應(yīng)用于各種隱藏表征的一個修正向量,也就是后半部分。
為了建立統(tǒng)一的框架去理解這些不同方法背后的關(guān)鍵設(shè)計(jì),論文定義了以下四個設(shè)計(jì)維度,并分析了不同方法在這四個維度之間的差異跟聯(lián)系。
a) Functional Form,修正向量的計(jì)算方式,下圖中的第二列。
b) Modified Representation,直接調(diào)整的隱藏表征位置,作用于attetnion模塊還是FFN模塊?
c) Insertion Form,新增模塊如何插入語言模型中?序列化還是并行化?
如果輸入是語言模型的輸入,輸出是語言模型的輸出,則屬于并行化,類似于Prefix tuning,如果輸入跟輸出都是語言模型的輸出,則屬于序列化,類似于Adapter.
d)Composition Form,修正向量跟原本的隱藏層表征如何結(jié)合到一起去構(gòu)建新的隱藏層表征?

圖2:不同方法在4個設(shè)計(jì)維度下的具體信息
在提出上述統(tǒng)一的框架后,通過調(diào)整某些設(shè)計(jì)維度下的信息,論文提出了3種新的遷移學(xué)習(xí)方法的設(shè)計(jì),具體細(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í)驗(yàn)
為了探索不同的設(shè)計(jì)維度所隱藏的特性,以及哪些設(shè)計(jì)維度尤為重要,論文在4個不同類型的下游任務(wù)上進(jìn)行了實(shí)驗(yàn),包括文本總結(jié),文本翻譯,文本推斷以及情感分類任務(wù),相應(yīng)的數(shù)據(jù)集分別為XSum, en-ro, MNLI, SST2。至于語言模型的選擇,為了更貼合當(dāng)前實(shí)際,論文使用了encoder-decoder結(jié)構(gòu)的語言模型在前兩者上做實(shí)驗(yàn),而使用encoder結(jié)構(gòu)的語言模型在后兩者上進(jìn)行實(shí)驗(yà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)化方法,其實(shí)是在只包含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。
從實(shí)驗(yàn)結(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é)合上述實(shí)驗(yàn)效果,當(dāng)目標(biāo)參數(shù)量非常少時,作用于attention層的方法可以取得更好效果,反之,則優(yōu)先選擇作用于FFN層的方法。
d) Composition Function
不難看出,scaling的復(fù)合函數(shù)效果優(yōu)于簡單相加的復(fù)合函數(shù)。

圖8:不同composition function對比
5 總結(jié)
基于前面的實(shí)驗(yàn)結(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ù)它們的特點(diǎn)分配合適的優(yōu)化參數(shù),從而達(dá)到一個整體的更優(yōu)。
之前在學(xué)習(xí)怎么高效的參數(shù)優(yōu)化方法時總是感覺里面有很多神似的地方,但是建立不了其中的聯(lián)系,看到這篇論文后,有一種茅塞頓開的領(lǐng)悟,這篇文章提出的統(tǒng)一框架能夠幫助大家更好的理解這些參數(shù)優(yōu)化方法,從而更好理解這些關(guān)鍵設(shè)計(jì)帶來的價值。具體到個人,可以根據(jù)自己的任務(wù)和場景,設(shè)計(jì)出更加靈活的參數(shù)優(yōu)化的遷移學(xué)習(xí)方案了。
審核編輯:劉清
-
SST
+關(guān)注
關(guān)注
0文章
108瀏覽量
36094 -
GLUE
+關(guān)注
關(guān)注
0文章
5瀏覽量
7569 -
LoRa技術(shù)
+關(guān)注
關(guān)注
3文章
110瀏覽量
17356
原文標(biāo)題:Parameter-efficient transfer learning系列之A Unified View
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于動態(tài)編譯(Just-in-Time)的全新深度學(xué)習(xí)框架
兩個EXCEL文件,一每天更新,一固定不變; 用新的更新計(jì)劃和固定標(biāo)準(zhǔn)對比,取出一個值;這種結(jié)構(gòu)框架怎么弄??
遷移學(xué)習(xí)
分享一種智能網(wǎng)卡對熱遷移支持的新思路
面向用戶的IMS媒體層統(tǒng)一安全框架
屏幕衍生商機(jī) 統(tǒng)一化框架助力UI設(shè)計(jì)
深度學(xué)習(xí)發(fā)展的5個主力框架
PLASTER:一個與深度學(xué)習(xí)性能有關(guān)的框架
一個全新的深度學(xué)習(xí)框架——計(jì)圖
天才黑客George Hotz開源了一個小型深度學(xué)習(xí)框架tinygrad
統(tǒng)一框架下期望在線核選擇的競爭性分析
基于谷歌中長尾item或user預(yù)測效果的遷移學(xué)習(xí)框架
一文詳解遷移學(xué)習(xí)
深度學(xué)習(xí)框架是什么?深度學(xué)習(xí)框架有哪些?
視覺深度學(xué)習(xí)遷移學(xué)習(xí)訓(xùn)練框架Torchvision介紹
一個基于參數(shù)更新的遷移學(xué)習(xí)的統(tǒng)一框架
評論