隨著預訓練模型參數量越來越大,遷移學習的成本越來越高,parameter-efficient tuning成為一個熱點研究方向。在以前我們在下游任務使用預訓練大模型,一般需要finetune模型的所有參數。隨著parameter-efficient tuning技術的發展,一些注入adaptor、prefix tuning、LoRA等成本更低的finetune方法被提出。那么各種各樣的parameter-efficient tuning方法之間是否存在某些潛在的關系呢?ICLR 2022就有一篇相關的研究,從統一的視角理解現有的各類parameter-efficient tuning方法,并提出了一套遷移框架,可以實現更接近全量參數finetune效果的部分參數finetune。
1各類tuning方法回顧
比較經典的高效finetune方法主要包括adaptor、prefix-tuning、LoRA這三類,這里進行一個簡單的回顧。
Adaptor核心是在原Bert中增加參數量更小的子網絡,finetune時固定其他參數不變,只更新這個子網絡的參數。Adaptor是最早的一類高效finetune方法的代表,在Parameter-Efficient Transfer Learning for NLP(ICML 2019)這篇文章中被提出。在原來的Bert模型的每層中間加入兩個adapter。Adapter通過全連接對原輸入進行降維進一步縮小參數量,經過內部的NN后再將維度還原,形成一種bottleneck的結構。在finetune過程中,原預訓練Bert模型的參數freeze住不更新,只更新adapter的參數,大大減少了finetune階段需要更新和保存的參數量。
Prefix-tuning的核心是為每個下游任務增加一個prefix embedding,只finetune這些embedding,其他參數freeze。Prefix-tuning對應的論文是Prefix-Tuning: Optimizing Continuous Prompts for Generation(2021),這類方法的思想來源于prefix prompt,prefix embedding相當于一個上下文信息,對模型最終產出的結果造成影響,進而只finetune這個embedding實現下游任務的遷移。
LoRA的核心是通過引入參數量遠小于原模型的可分解的兩小矩陣建立一個旁路,通過finetune這個旁路來影響預訓練模型。LoRA于LoRA: Low-rank adaptation of large language models(2021)論文中被提出,利用低秩矩陣替代原來全量參數的訓練,提升finetune效率。
2統一視角看高效finetune方法
ICLR 2022的這篇文章從統一的視角來看各類不同的parameter-efficient tuning方法。首先對于prefix tuning,Transformer的每個head的結果可以進行如下的公式推導變換:
其中,第一行的P就是prefix embedding,C對應著key和value的序列向量,x代表query。經過中間的變換后,可以發現prefix tuning的attention計算可以分為兩個部分的加權求和,第一部分是原始的attention,第二部分是和key或value無關的一項,只用query和prefix embedding進行self-attention的計算。而權重則是根據prefix embedding的attention權重。通過上述公式,我們可以從另一個視角來看prefix-tuning:即在原始attention的輸出結果上,對位相加一個由prefix embedding得到的attention值,實現對原始attention score的修正。
我們再來看Adaptor和LoRA兩種tuning方式的數學表示。Adaptor和LoRA方法可以分別表示為如下公式:
我們把prefix embedding也可以轉換成相同的表達形式:
可以發現這些finetune方法都具有相似的表達形式。并且,prefix-tuning中prefix embedding的數量其實和Adapter中降維的維度具有相似的功能。三種方法在這個視角下的對比如下圖所示:
3統一的高效finetune框架
既然上述幾類方法表達形式相似,并且主要學的都是如何修改原來attention的輸出結果,那么我們可以建立一個統一的框架,涵蓋上述各類finetune方法。這個框架的核心是如何生成修改原始attention score的向量。為了生成這個向量,需要考慮以下4個核心模塊:
Functional Form:用什么樣的函數生成,上述方法基本都是全連接降維+激活函數+全連接升維的形式,當然也可以設計更復雜的函數形式;
Modified Representation:對哪個位置的信息進行直接修改;
Insertion Form:向量引入的形式,Adapter采用的是串聯的方式,根據上一層的隱狀態生成向量;而prefix tuning和LoRA采用并聯的方式,直接根據輸入序列生成向量;
Composition Function:向量的使用方式,利用adapter中采用簡單的對位相加的形式。
Adapter、Prefix-tuning、LoRA等方法按照 上面4個維度拆分,各自的實現形式如下表:
接下來,文中基于上述4個模塊設計了一些新的方法:
Parallel Adapter:將Adapter的串聯形式修改為并聯形式;
Multi-head Parallel Adapter:在Parallel Adapter基礎上修改了Modified Representation,使用旁路向量修改attention輸出結果;
Scaled Parallel Adapter:將LoRA的scaling引入進來。
4實驗結果
本文由于站在了更高的視角,看到了parameter-efficient tuning的統一形式,因此可以實現更加靈活的建模方式,基于這個框架尋找最節省參數量、最能達到更好效果的結構。從下圖可以看出,本文提出的方法實現接接近全量參數finetune的效果,參數量也比Adapter、LoRA等方法有所減少。
文中通過大量的實驗對比各個模塊采用什么樣的形式能帶來最好的效果-效率的這種,并最終提出最優的模型MAM-Adapter。核心的實驗發現包括:并聯的方式比串聯的好;對FFN輸出結果的修改比對Attention輸出結果修改要好等。
5總結
本文從統一視角看parameter-efficient tuning,實現了更高視角的最優tuning框架設計。這也啟發我們尋找同類問題不同建模方式背后原理的統一性,能夠跳出一種模型結構去看各類建模方式的相似性,實現更高視角下對問題的理解。
審核編輯:郭婷
-
LoRa
+關注
關注
351文章
1763瀏覽量
234295
原文標題:從統一視角看各類高效finetune方法
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
開源鴻蒙統一互聯分論壇圓滿舉辦
基于事件相機的統一幀插值與自適應去模糊框架(REFID)

探索 RK3576 方案:卓越性能與靈活框架,誠邀開發定制合作!
HarmonyOS NEXT應用元服務開發Intents Kit(意圖框架服務)習慣推薦方案概述
從特斯拉看智能駕駛未來發展

從藍牙協議棧視角探索信道探測

使用PPC3軟件,進入Tuning and Audio Processing模塊后,喇叭就不發聲了怎么解決?
一般高壓架設線路用的什么線
ESP32-S3-KROVO2如何在ADF框架下實現wifi連接?
視覺新紀元:解碼LED顯示屏的視角、可視角、最佳視角的最終奧秘

評論