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

PLASTER:一個(gè)與深度學(xué)習(xí)性能有關(guān)的框架
一個(gè)全新的深度學(xué)習(xí)框架——計(jì)圖
天才黑客George Hotz開(kāi)源了一個(gè)小型深度學(xué)習(xí)框架tinygrad
統(tǒng)一框架下期望在線核選擇的競(jìng)爭(zhēng)性分析

一種基于標(biāo)簽比例信息的遷移學(xué)習(xí)算法
基于谷歌中長(zhǎng)尾item或user預(yù)測(cè)效果的遷移學(xué)習(xí)框架
一文詳解遷移學(xué)習(xí)

深度學(xué)習(xí)框架是什么?深度學(xué)習(xí)框架有哪些?
視覺(jué)深度學(xué)習(xí)遷移學(xué)習(xí)訓(xùn)練框架Torchvision介紹

評(píng)論