色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Adapter在finetune全模型參數的效果

深度學習自然語言處理 ? 來源:NLP日志 ? 作者:NLP日志 ? 2022-08-24 16:19 ? 次閱讀

1 簡介

目前在大規模預訓練模型上進行finetune是NLP中一種高效的遷移方法,但是對于眾多的下游任務而言,finetune是一種低效的參數更新方式,對于每一個下游任務,都需要去更新語言模型的全部參數,這需要龐大的訓練資源。進而,人們會嘗試固定語言預訓練模型大部分網絡的參數,針對下游任務只更新一部分語言模型參數。大部分情況下都是只更新模型最后幾層的參數,但是我們知道語言模型的不同位置的網絡聚焦于不同的特征,針對具體任務中只更新高層網絡參數的方式在不少情形遭遇到精度的急劇下降。

在這個篇章介紹的Adapter會針對每個下游任務在語言模型的每層transformer中新增2個帶有少量參數的模塊,稱之為adapter,針對下游任務訓練時只更新adapter模塊參數,而凍結原有語言模型的參數,從而實現將強大的大規模語言模型的能力高效遷移到諸多下游任務中去,同時保證模型在下游任務的性能。

2 Adapter

Adapter的結構一目了然,transformer的每層網絡包含兩個主要的子模塊,一個attention多頭注意力層跟一個feedforward層,這兩個子模塊后續都緊隨一個projection操作,將特征大小映射回原本的輸入的維度,然后連同skip connection的結果一同輸入layer normalization層。而adapter直接應用到這兩個子模塊的輸出經過projection操作后,并在skip-connection操作之前,進而可以將adapter的輸入跟輸出保持同樣的維度,所以輸出結果直接傳遞到后續的網絡層,不需要做更多的修改。每層transformer都會被插入兩個adapter模塊。

9c08b63c-22c5-11ed-ba43-dac502259ad0.png

圖1: Adapter框架

下面我們來看看adapter的具體結構,首先通過一個feedforward down-project的矩陣乘法將特征維度降到一個更低的水平,然后通過一個非線形層,再利用一個feedforward up-project層將特征維度升到跟輸入一樣的水平,同時通過一個skip connection來將adpter的輸入重新加到最終的輸出中去,這樣可以保證保證即便adapter一開始的參數初始化接近0,adapter也有由于skip connection的設置而初始化接近于一個恒等映射,從而保證訓練的有效性。

至于adapter引進的模型參數,假設adapter的輸入的特征維度是d,而中間的特征維度是m,那么新增的模型參數有:down-project的參數d*m+m,up_project的參數m*d+d,總共2md+m+d,由于m遠小于d,所以真實情況下,一般新增的模型參數都只占語言模型全部參數量的0.5%~8%。同時要注意到,針對下游任務訓練需要更新的參數除了adapter引入的模型參數外,還有adapter層后面緊隨著的layer normalization層參數需要更新,每個layer normalization層只有均值跟方差需要更新,所以需要更新的參數是2d。(由于插入了具體任務的adapter模塊,所以輸入的均值跟方差發生了變化,就需要重新訓練)

通過實驗,可以發現只訓練少量參數的adapter方法的效果可以媲美finetune語言模型全部參數的傳統做法,這也驗證了adapter是一種高效的參數訓練方法,可以快速將語言模型的能力遷移到下游任務中去。同時,可以看到不同數據集上adapter最佳的中間層特征維度m不盡相同。

9c1c65d8-22c5-11ed-ba43-dac502259ad0.png

圖2: adapter跟finetune的效果對比

為了進一步探究adapter的參數效率跟模型性能的關系,論文做了進一步的實驗,同時比對了finetune的方式(只更新最后幾層的參數或者只更新layer normalization的參數),從結果可以看出adapter是一種更加高效的參數更新方式,同時效果也非常可觀,通過引入0.5%~5%的模型參數可以達到不落后先進模型1%的性能。

9cb4a0d2-22c5-11ed-ba43-dac502259ad0.png

圖3:adapter跟finetune的效率對比

3Adapter fusion

這是一種融合多任務信息的adapter的變種,首先看下它的任務背景。假設C是N個分類任務的集合,這些分類任務的監督數據的大小跟損失函數不盡相同。C={(D1, L1), …, (DN, LN)},其中D是標注數據,L是損失函數,我們的任務是通過這N個任務加上某個任務m的數據跟損失函數(Dm, Lm)去提升這個特定任務m的效果。如圖所示,就是期望先從N個任務中學到一個模型參數(最右邊參數),然后利用該參數來學習特定任務m下的一個模型參數(最左邊參數)。

9cec5e8c-22c5-11ed-ba43-dac502259ad0.png

圖4:學習目標

為了實現這個目標,adapter fusion提出一個兩階段的學習策略,其中第一階段是knowledge extraction stage,在不同任務下引入各自的adapter模塊,用于學習特定任務的信息,而第二階段是knowledge composition step,用于學習聚合多個任務的adapter。

對于第一階段有兩種訓練方式,分別如下:

a)Single-Task Adapters(ST-A)

對于N個任務,模型都分別獨立進行優化,各個任務之間互不干擾,互不影響。對于其中第n個任務而言,相應的目標函數如下圖所示,其中最右邊兩個參數分別代表語言模型的模型參數跟特定任務需要引入的adapter參數。

9cf51ebe-22c5-11ed-ba43-dac502259ad0.png

圖5:ST-A目標函數

b)Multi-Task Adapters(MT-A)

N個任務通過多任務學習的方式,進行聯合優化,相應的目標函數如下。

9d014a40-22c5-11ed-ba43-dac502259ad0.png

圖6:MT-A目標函數

對于第二階段,就是adapter fusion大展身手的時候了。為了避免通過引入特定任務參數而帶來的災難性遺忘問題,adapter fusion提出了一個共享多任務信息的結構。針對特定任務m,adapter fusion聯合了第一階段訓練的到的N個adapter信息。固定語言模型的參數跟N個adapter的參數,新引入adapter fusion的參數,目標函數也是學習針對特定任務m的adapter fusion的參數。

9d16e7ba-22c5-11ed-ba43-dac502259ad0.png

圖7:adapter fusion的目標函數

Adapter fusion的具體結構就是一個attention,它的參數包括query,key, value的矩陣參數,在transformer的每一層都存在,它的query是transformer每個子模塊的輸出結果,它的key跟value則是N個任務的adapter的輸出。通過adapter fusion,模型可以為不同的任務對應的adapter分配不同的權重,聚合N個任務的信息,從而為特定任務輸出更合適的結果。

9d29189a-22c5-11ed-ba43-dac502259ad0.png

圖8:adapter fusion結構

通過實驗,可以看到第一階段采用ST-A+第二階段adapter fusion是最有效的方法,在多個數據集上的平均效果達到了最佳。關于MT-A+adapter fusion沒有取得最佳的效果,在于第一階段其實已經聯合了多個任務的信息了,所以adapter fusion的作用沒有那么明顯,同時MT-A這種多任務聯合訓練的方式需要投入較多的成本,并不算一種高效的參數更新方式。另外,ST-A的方法在多個任務上都有提升,但是MT-A的方法則不然,這也表明了MT-A雖然可以學習到一個通用的表征,但是由于不同任務的差異性,很難保證在所有任務上都取得最優的效果。

9d674bc4-22c5-11ed-ba43-dac502259ad0.png

圖9:adapter fusion實驗結果

4 總結

Fusion是一種高效的參數更新方式,能在引入少量參數,只訓練少量參數的情況下達到媲美finetune全模型參數的效果,只訓練少量參數也意味著對訓練數據量更低的要求以及更快的訓練速度,是一種將大規模預訓練語言模型能力遷移到下游任務的高效方案,跟目前火熱的prompt learning有異曲同工之妙。而adapter fusion則跟MOE很像,可以聯合多個任務的信息,從而提升特定任務的性能。但相比于其他的parameter-efficient的方法,adapter是在原語言模型上加入了新的模塊,在推理時會進一步增加延遲。

審核編輯:彭靜

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4327

    瀏覽量

    62573
  • Adapter
    +關注

    關注

    0

    文章

    16

    瀏覽量

    7652
  • 訓練模型
    +關注

    關注

    1

    文章

    36

    瀏覽量

    3811

原文標題:Parameter-efficient transfer learning系列之Adapter

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    tcpip_adapter_start_api 函數的功能是什么?

    #define TCPIP_ADAPTER_IPC_CALL(_if, _mac, _ip, _data, _fn) do { tcpip_adapter_api_msg_t msg
    發表于 06-26 07:08

    轎車參數化分析模型的構造研究及應用

    的分析方法的具體實現在結合開發過程特點的基礎上提出分析用的參數化簡化模型和概念設計階段的車身開發平臺利用高效的分析模型和統一的開發環境加快車身早期開發過程本文充分研究國外早期車身開發
    發表于 04-16 13:40

    Pytorch模型訓練實用PDF教程【中文】

    本教程以實際應用、工程開發為目的,著重介紹模型訓練過程中遇到的實際問題和方法。機器學習模型開發中,主要涉及三大部分,分別是數據、模型和損失函數及優化器。本文也按順序的依次介紹數據、
    發表于 12-21 09:18

    adapter模式是如何去定義的

    adapter模式定義adapter 將一個類的接口轉換成客戶希望的另外一個接口。使用場景,兩個類所做的事情相同或者相似,但是具有不同的接口時要使用它。target這是客戶所期望的接口,目標可以
    發表于 01-03 06:54

    志V853 NPU 轉換 YOLO V3 模型

    志V853開發板購買鏈接:KFB-V853_Allwinner的KFB-V853_KFB-V853[參數 價格 pdf 中文資料]_華秋商城NPU 轉換 YOLO V3 模型YOLO 全稱
    發表于 12-19 10:36

    不能同時使用lpuart_adapter和uart_adapter嗎?

    與 RS485 收發器一起使用。 過去,我已經編寫了一個簡單的代碼來使用 uart_adapter 通過帶有緩沖區機制的 UART 發送和獲取字節。然后 MCUExpresso 上, SDK 組件上,我添加
    發表于 03-24 07:36

    TOOLSTICK DEBUG ADAPTER USER’S

    TOOLSTICK DEBUG ADAPTER USER’S GUIDE:To enable development, the ToolStick Base Adapter and daughter
    發表于 09-09 12:39 ?6次下載

    什么是Host bus adapter

    什么是Host bus adapter  英文縮寫: Host bus adapter 中文譯名: 主機總線適配器 分  類: 網絡與交換 解  釋:
    發表于 02-23 10:03 ?1279次閱讀

    參數域邊界平直化的模型表面參數化方法

    別使用文中方法和已有參數化方法進行比較。使用缺省參數情況下,文中方法面積和角度扭曲都處于合理范圍將不同參數化方法得到的帶紋理模型簡化到相同
    發表于 04-27 14:19 ?7次下載
    <b class='flag-5'>參數</b>域邊界平直化的<b class='flag-5'>模型</b>表面<b class='flag-5'>參數</b>化方法

    如何實現更綠色、經濟的NLP預訓練模型遷移

    NLP中,預訓練大模型Finetune是一種非常常見的解決問題的范式。利用在海量文本上預訓練得到的Bert、GPT等模型,在下游不同任務上分別進行finetune,得到下游任務的
    的頭像 發表于 03-21 15:33 ?2194次閱讀

    遷移學習Finetune的四種類型招式

    遷移學習廣泛地應用于NLP、CV等各種領域,通過源域數據上學習知識,再遷移到下游其他目標任務上,提升目標任務上的效果。其中,Pretrain-Finetune(預訓練+精調)模式是最為常見的一種
    的頭像 發表于 04-02 17:35 ?3168次閱讀

    微調前給預訓練模型參數增加噪音提高效果的方法

    為了減輕上述問題,提出了NoisyTune方法,即,finetune前加入給預訓練模型參數增加少量噪音,給原始模型增加一些擾動,從而提高
    的頭像 發表于 06-07 09:57 ?2500次閱讀

    從統一視角看各類高效finetune方法實現最優tuning框架設計

    降維進一步縮小參數量,經過內部的NN后再將維度還原,形成一種bottleneck的結構。finetune過程中,原預訓練Bert模型參數
    的頭像 發表于 11-29 11:13 ?3440次閱讀

    百度千帆大模型2.0一天可跑通大模型效果驗證

    百度千帆大模型2.0一天可跑通大模型效果驗證 今天的2023百度云智大會上,百度智能云宣布千帆大模型平臺2.0全面升級,百度千帆大模型2.0
    的頭像 發表于 09-05 16:17 ?963次閱讀

    如何評估AI大模型效果

    評估AI大模型效果是一個復雜且多維度的過程,涉及多個方面的考量。以下是一些關鍵的評估方法和步驟: 一、基準測試(Benchmarking) 使用標準數據集和任務來評估模型的性能,如GLUE
    的頭像 發表于 10-23 15:21 ?821次閱讀
    主站蜘蛛池模板: 色久久一个亚洲综合网| 一色屋精品亚洲香蕉网站| 99久久亚洲| 含羞草完整视频在线播放免费| 欧美精品99久久久啪啪| 一个人免费视频在线观看高清频道 | 97人妻中文字幕免费视频| 国产毛A片久久久久久无码| 欧美男同gay粗大又长| 伊人伊人影院| 国产亚洲精品久久久闺蜜| 日本xxxx69动漫| 2022国产91精品久久久久久| 国产自啪偷啪视频在线| 色欲精品国产AV久久久| AV国产乱码一区二区三视频| 久久高清一本无码| 亚洲成AV人电影在线观看| 动漫AV纯肉无码AV电影网| 欧美精品成人a多人在线观看| 伊人情人网综合| 好男人WWW免费高清视频在线| 视频一区国产| 成人免费毛片观看| 欧美激情一区二区三区视频| 中文无码乱人伦中文视频播放| 精品动漫国产亚洲AV在线观看| 香蕉人人超人人超碰超国产| 高清bblxx手机在线观看| 青青青青久久久久国产的| 99re久久热免费视频| 看 视频一一级毛片| 一品道门在线视频| 精品久久久久久无码人妻国产馆| 亚欧洲乱码视频一二三区| 国产精品线路一线路二| 特大巨黑人吊性xxxxgay| 古代又黄又肉到湿的爽文| 日韩AV片无码一区二区三区不卡| videossex性暴力| 欧美亚洲另类图片|