吴忠躺衫网络科技有限公司

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

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

3天內不再提示

介紹兩種高效的參數更新方式LoRA與BitFit

深度學習自然語言處理 ? 來源:NLP日志 ? 作者:zelong ? 2022-11-24 10:28 ? 次閱讀

1 簡介

NLP一個重要的范式包括在通用領域數據上的大規模預訓練和在特定任務或者領域上的微調。目前大規模語言模型在諸多任務上取得sota效果,Finetune全模型參數以適配下游任務雖然能取得不錯的效果,但是卻是一種低效的參數更新方式,歸因于模型的龐大模型參數量帶來的訓練成本,從而限制了在諸多下游任務的應用。

在這個章節我們介紹另外兩種高效的參數更新方式,LoRA與BitFit,一種通過在transformer結構中固定原本的模型參數同時引入可訓練的分解矩陣,另一種通過只更新模型中的bias參數,都能極大程度的減少下游任務需要訓練的參數數量,提高訓練速度并且取得不錯的效果。

2 LoRA

神經網絡包含很多全連接層,借助于矩陣乘法得以實現,很多全連接層的權重矩陣都是滿秩的。當針對特定任務訓練時,預訓練模型具有low intrinsic dimension,盡管隨機投影到較小的子空間,仍然可以有效的學習,可以理解為針對特定任務這些權重矩陣就不要求滿秩。

基于此,LoRA(Low-Rank Adaptaion)被提出,它的想法也很樸素直觀。在原始的PLM旁邊增加一個新的通路,通過前后兩個矩陣A,B相乘,第一個矩陣A負責降維,第二個矩陣B負責升維,中間層維度為r,從而來模擬所謂的intrinsic rank。在下游任務訓練時,固定模型的其他參數,只優化新增的兩個矩陣的權重參數,將PLM跟新增的通路兩部分的結果加起來作為最終的結果(兩邊通路的輸入跟輸出維度是一致的),即h=Wx+BAx。

通常第一個矩陣的A的權重參數會通過高斯函數得到,而第二個矩陣的B的參數則是零矩陣,這樣能保證訓練開始時新增的通路BA=0從而對mo xing 結果沒有影響。在推理時,將左右兩部分的結果加到一起即可,h=Wx+BAx=(W+BA)x,所以只要將訓練完成的矩陣乘積BA跟原本的權重矩陣W加到一起作為新權重參數替換原本PLM的W即可,不會增加額外的計算資源。

7426080c-3d84-11ed-9e49-dac502259ad0.png

圖1:LoRA框架

一般情況下,r會遠小于模型原本的維度m,所以LoRA訓練的模型參數相比于模型原本的參數而言非常輕量,對于下游任務而言,原本的模型參數可以公攤到多個下游任務中去,每個下游任務只獨立維護自身的LoRA的矩陣BA參數,從而省下了大量內存跟存儲資源。同時,凍結語言模型原本的參數,只更新新增通路的少量參數也能節省大量計算資源跟IO成本,從而提升模型訓練速度。

通過實驗也發現,在眾多數據集上LoRA在只訓練極少量參數的前提下,達到了匹配訓練全部參數的finetune方式,是一種高效的參數更新方法。相比其他高效的參數訓練方式,類似Adapter, BitFit,LoRA在較少訓練參數時就能保證比較穩定的效果。而prefix等方式則會由于插入了更多token導致輸入的分布偏離預訓練數據分布,從而導致精度下降。

74f36f54-3d84-11ed-9e49-dac502259ad0.png

圖2:LoRA的效果

7566ca58-3d84-11ed-9e49-dac502259ad0.png

圖3:各種參數更新方法下模型效果跟可訓練參數量的關系

此外,Transformer的權重矩陣包括attention模塊里用于計算query, key, value的Wq,Wk,Wv以及多頭attention的Wo,以及MLP層的權重矩陣,LoRA只應用于attention模塊中的4種權重矩陣,而且通過消融實驗發現其中Wq,Wk兩者不可缺失。同時,保證權重矩陣的種類的數量比起增加隱藏層維度r更為重要,增加r并不一定能覆蓋更加有意義的子空間,這也顯示了低秩的中間矩陣A跟B對于LoRA已經足夠了。

3 BitFit

這是一種稀疏的finetune方法,它只在訓練時更新bias的參數(或者部分bias參數)。對于transformer模型而言,凍結大部分模型參數,只訓練更新bias參數跟特定任務的分類層參數。涉及到的bias參數有attention模塊中計算query,key,value跟合并多個attention結果的涉及到的bias,MLP層中的bias,Layernormalization層的bias參數。像Bert base跟Bert large這種模型里的bias參數占模型全部參數量的0.08%~0.09%。

通過實驗可以看出,Bitfit在只更新極少量參數下在多個數據集上都達到了不錯的效果,雖不及訓練全部參數的finetune,但是遠超固定全部模型參數的Frozen方式。同時,通過比起Bitfit訓練前后的參數對比,發現很多bias參數沒有太多變化,例如跟計算key所涉及到的bias參數。發現其中計算query與將特征維度從N放大到4N的FFN層的bias參數變化最為明顯,只更新這兩類bias參數也能達到不錯的效果,反之,固定其中任何一者,模型的效果都有較大損失。

75c811fa-3d84-11ed-9e49-dac502259ad0.png

圖4:BitFit效果

4 總結

上述這兩種參數優化方法都是在Adapter之后提出的,相比adapter需要在原模型基礎上加入了額外模塊,雖然減少了訓練成本跟存儲資源,但在推理時卻也不可避免的增加了計算資源從而增加了耗時。但LoRA跟Biffit在推理時跟原語言模型結果保持一致,沒有額外的計算資源。






審核編輯:劉清

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

    關注

    2

    文章

    124

    瀏覽量

    20910
  • LoRa技術
    +關注

    關注

    3

    文章

    101

    瀏覽量

    16391
  • nlp
    nlp
    +關注

    關注

    1

    文章

    489

    瀏覽量

    22111
  • MLP
    MLP
    +關注

    關注

    0

    文章

    57

    瀏覽量

    4291

原文標題:Parameter-efficient transfer learning系列之LoRA與BitFit

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

收藏 人收藏

    評論

    相關推薦

    兩種高效能電源設計及拓撲分析

    兩種高效能電源設計及拓撲分析,在本文中,我們將提出個能符合更高效能要求,并可控制目標成本的設計方式,并將之和傳統的拓撲結構進行比較。
    發表于 11-24 11:11 ?1841次閱讀
    <b class='flag-5'>兩種</b><b class='flag-5'>高效</b>能電源設計及拓撲分析

    兩種采樣方式

    兩種采樣方式.....................................
    發表于 08-08 15:04

    Linux實現輸入參數求和的兩種方式

    Linux實現輸入參數求和(兩種方式
    發表于 03-26 11:44

    編譯環境的兩種搭建方式

    編譯環境的兩種搭建方式putty工具的使用winscp工具的使用
    發表于 12-22 08:00

    兩種典型的ADRC算法介紹

    前言??上篇中詳細闡述了經典的自抗擾控制算法的原理,本篇將圍繞兩種ADRC算法展開,針對擴張狀態觀測器的參數整定問題進行詳解,同時,對跟蹤微分器的幾個重要應用進行介紹。兩種典型的ADR
    發表于 09-07 08:02

    SQL語言的兩種使用方式

    SQL語言的兩種使用方式在終端交互方式下使用,稱為交互式SQL嵌入在高級語言的程序中使用,稱為嵌入式SQL―高級語言如C、Java等,稱為宿主語言嵌入式SQL的實現方式源程序(用主語言
    發表于 12-20 06:51

    vnc和xrdp兩種遠程連接的方式

    [zju嵌入式]樹莓派之遠程桌面 之前介紹了通過串口和ssh登陸到樹莓派的方法,這兩種方式的有點在于連接方面,響應速度快,但是也有不夠直觀的缺點,沒辦法看到圖形界面.在這篇博文中,
    發表于 12-24 07:54

    NB-IOT與LoRa未來兩種技術在國內的發展究竟如何呢?

    備受爭議,但隨著廣電,鐵塔及互聯網巨頭騰訊,阿里相繼加入LoRa陣營,無疑又為LoRa在國內的發展注入一支“強心劑”。那未來兩種技術在國內的發展究竟如何呢?   NB-IOT( Narrow Band
    發表于 05-11 10:14

    基于傳呼的PDA信息更新方式

    交通信息系統PDA 為了使內部信息具有實時性,并為降低服務成本,不使用GPRS 或其它更新方式,而是使用傳呼接收電路,實時更新鐵路、民航交通信息。本文簡要介紹了此功能實
    發表于 09-07 15:57 ?8次下載

    逆變器的兩種電流型控制方式

    逆變器的兩種電流型控制方式 摘要:研究分析了逆變器的兩種雙環瞬時反饋控制方式——電流型準PWM控制方式和三態DPM
    發表于 07-10 11:21 ?4064次閱讀
    逆變器的<b class='flag-5'>兩種</b>電流型控制<b class='flag-5'>方式</b>

    Wincc如何與PLC進行通訊兩種常用的方式介紹

    西門子WINCC與SiemensPLC通訊連接有多種方式,下面介紹兩種常用的通訊方式。
    的頭像 發表于 02-17 09:27 ?3w次閱讀
    Wincc如何與PLC進行通訊<b class='flag-5'>兩種</b>常用的<b class='flag-5'>方式</b><b class='flag-5'>介紹</b>

    在MATLAB/simulink中建模時的兩種不同實現方式

    導讀:本期文章主要介紹在MATLAB/simulink中建模時的兩種不同實現方式,一是直接用現成的文件庫中的模塊進行搭建,一是用Sfun
    的頭像 發表于 09-15 10:07 ?1982次閱讀

    MATLAB/simulink中兩種實現建模方式的優勢

    導讀:本期文章主要介紹在MATLAB/simulink中建模時的兩種不同實現方式,一是直接用現成的文件庫中的模塊進行搭建,一是用Sfun
    的頭像 發表于 09-15 10:10 ?5211次閱讀

    介紹兩種常見的移相器電路原理

    移相器的電路原理可以有多種實現方式,以下是兩種常見的移相器電路原理
    的頭像 發表于 09-19 11:01 ?2359次閱讀

    redis兩種持久化方式的區別

    的完整性和一致性。 Redis提供了兩種持久化方式:RDB(Redis Database)和AOF(Append Only File)。這兩種方式各有優劣,下面我們將詳細
    的頭像 發表于 12-04 11:12 ?560次閱讀
    龙江县| fl水果机教程| 战神国际| 风水罗盘24山| ican博彩通| 3U百家乐官网的玩法技巧和规则| 大发888娱乐城刮刮乐| 网上百家乐官网破战| 太阳城娱乐管理网| 网上玩百家乐官网游戏有人挣到钱了吗| 威尼斯人娱乐场 送2688元礼金领取lrm64 | 乐九百家乐官网现金网| 百家乐开户送彩金28| 炉霍县| 噶尔县| 澳门百家乐网上直赌| 百家乐官网如何投注| 网上百家乐是真是假天涯论坛| 百家乐官网博彩通网| 唐人街百家乐的玩法技巧和规则| 百家乐官网单跳| 大发888娱乐城加速器| 百家乐官网游戏方法| 真钱的棋牌游戏网站| 百家乐最长的闲| 肥东县| 百家乐网上真钱赌场娱乐网规则| 百家乐官网高手论坛| 大发888娱乐场ylc8| 澳门百家乐园游戏| 网络百家乐官网最安全| 百家乐必胜打| 百家乐官网孖宝揽| 凯斯线上娱乐| 百家乐群121398015| 百家乐官网论坛香港马会| 星空棋牌下载| 百家乐高命中投注| 壹贰博百家乐官网娱乐城| 星期8百家乐的玩法技巧和规则| 百家乐官网利来|