0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

深度學(xué)習(xí)自然語(yǔ)言處理 ? 來(lái)源:NLP日志 ? 作者:zelong ? 2022-11-24 10:28 ? 次閱讀

1 簡(jiǎn)介

NLP一個(gè)重要的范式包括在通用領(lǐng)域數(shù)據(jù)上的大規(guī)模預(yù)訓(xùn)練和在特定任務(wù)或者領(lǐng)域上的微調(diào)。目前大規(guī)模語(yǔ)言模型在諸多任務(wù)上取得sota效果,F(xiàn)inetune全模型參數(shù)以適配下游任務(wù)雖然能取得不錯(cuò)的效果,但是卻是一種低效的參數(shù)更新方式,歸因于模型的龐大模型參數(shù)量帶來(lái)的訓(xùn)練成本,從而限制了在諸多下游任務(wù)的應(yīng)用。

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

2 LoRA

神經(jīng)網(wǎng)絡(luò)包含很多全連接層,借助于矩陣乘法得以實(shí)現(xiàn),很多全連接層的權(quán)重矩陣都是滿秩的。當(dāng)針對(duì)特定任務(wù)訓(xùn)練時(shí),預(yù)訓(xùn)練模型具有l(wèi)ow intrinsic dimension,盡管隨機(jī)投影到較小的子空間,仍然可以有效的學(xué)習(xí),可以理解為針對(duì)特定任務(wù)這些權(quán)重矩陣就不要求滿秩。

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

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

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

圖1:LoRA框架

一般情況下,r會(huì)遠(yuǎn)小于模型原本的維度m,所以LoRA訓(xùn)練的模型參數(shù)相比于模型原本的參數(shù)而言非常輕量,對(duì)于下游任務(wù)而言,原本的模型參數(shù)可以公攤到多個(gè)下游任務(wù)中去,每個(gè)下游任務(wù)只獨(dú)立維護(hù)自身的LoRA的矩陣BA參數(shù),從而省下了大量?jī)?nèi)存跟存儲(chǔ)資源。同時(shí),凍結(jié)語(yǔ)言模型原本的參數(shù),只更新新增通路的少量參數(shù)也能節(jié)省大量計(jì)算資源跟IO成本,從而提升模型訓(xùn)練速度。

通過(guò)實(shí)驗(yàn)也發(fā)現(xiàn),在眾多數(shù)據(jù)集上LoRA在只訓(xùn)練極少量參數(shù)的前提下,達(dá)到了匹配訓(xùn)練全部參數(shù)的finetune方式,是一種高效的參數(shù)更新方法。相比其他高效的參數(shù)訓(xùn)練方式,類似Adapter, BitFit,LoRA在較少訓(xùn)練參數(shù)時(shí)就能保證比較穩(wěn)定的效果。而prefix等方式則會(huì)由于插入了更多token導(dǎo)致輸入的分布偏離預(yù)訓(xùn)練數(shù)據(jù)分布,從而導(dǎo)致精度下降。

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

圖2:LoRA的效果

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

圖3:各種參數(shù)更新方法下模型效果跟可訓(xùn)練參數(shù)量的關(guān)系

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

3 BitFit

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

通過(guò)實(shí)驗(yàn)可以看出,Bitfit在只更新極少量參數(shù)下在多個(gè)數(shù)據(jù)集上都達(dá)到了不錯(cuò)的效果,雖不及訓(xùn)練全部參數(shù)的finetune,但是遠(yuǎn)超固定全部模型參數(shù)的Frozen方式。同時(shí),通過(guò)比起B(yǎng)itfit訓(xùn)練前后的參數(shù)對(duì)比,發(fā)現(xiàn)很多bias參數(shù)沒(méi)有太多變化,例如跟計(jì)算key所涉及到的bias參數(shù)。發(fā)現(xiàn)其中計(jì)算query與將特征維度從N放大到4N的FFN層的bias參數(shù)變化最為明顯,只更新這兩類bias參數(shù)也能達(dá)到不錯(cuò)的效果,反之,固定其中任何一者,模型的效果都有較大損失。

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

圖4:BitFit效果

4 總結(jié)

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






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • PLM
    PLM
    +關(guān)注

    關(guān)注

    2

    文章

    124

    瀏覽量

    20891
  • LoRa技術(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    101

    瀏覽量

    16360
  • nlp
    nlp
    +關(guān)注

    關(guān)注

    1

    文章

    489

    瀏覽量

    22066
  • MLP
    MLP
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    4260

原文標(biāo)題:Parameter-efficient transfer learning系列之LoRA與BitFit

文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    兩種高效能電源設(shè)計(jì)及拓?fù)浞治?/a>

    兩種高效能電源設(shè)計(jì)及拓?fù)浞治?在本文中,我們將提出個(gè)能符合更高效能要求,并可控制目標(biāo)成本的設(shè)計(jì)方式,并將之和傳統(tǒng)的拓?fù)浣Y(jié)構(gòu)進(jìn)行比較。
    發(fā)表于 11-24 11:11 ?1838次閱讀
    <b class='flag-5'>兩種</b><b class='flag-5'>高效</b>能電源設(shè)計(jì)及拓?fù)浞治? />    </a>
</div>                            <div   id=

    兩種采樣方式

    兩種采樣方式.....................................
    發(fā)表于 08-08 15:04

    Linux實(shí)現(xiàn)輸入參數(shù)求和的兩種方式

    Linux實(shí)現(xiàn)輸入參數(shù)求和(兩種方式
    發(fā)表于 03-26 11:44

    編譯環(huán)境的兩種搭建方式

    編譯環(huán)境的兩種搭建方式putty工具的使用winscp工具的使用
    發(fā)表于 12-22 08:00

    兩種典型的ADRC算法介紹

    前言??上篇中詳細(xì)闡述了經(jīng)典的自抗擾控制算法的原理,本篇將圍繞兩種ADRC算法展開(kāi),針對(duì)擴(kuò)張狀態(tài)觀測(cè)器的參數(shù)整定問(wèn)題進(jìn)行詳解,同時(shí),對(duì)跟蹤微分器的幾個(gè)重要應(yīng)用進(jìn)行介紹。兩種典型的ADR
    發(fā)表于 09-07 08:02

    SQL語(yǔ)言的兩種使用方式

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

    vnc和xrdp兩種遠(yuǎn)程連接的方式

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

    NB-IOT與LoRa未來(lái)兩種技術(shù)在國(guó)內(nèi)的發(fā)展究竟如何呢?

    備受爭(zhēng)議,但隨著廣電,鐵塔及互聯(lián)網(wǎng)巨頭騰訊,阿里相繼加入LoRa陣營(yíng),無(wú)疑又為LoRa在國(guó)內(nèi)的發(fā)展注入一支“強(qiáng)心劑”。那未來(lái)兩種技術(shù)在國(guó)內(nèi)的發(fā)展究竟如何呢?   NB-IOT( Narrow Band
    發(fā)表于 05-11 10:14

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

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

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

    逆變器的兩種電流型控制方式 摘要:研究分析了逆變器的兩種雙環(huán)瞬時(shí)反饋控制方式——電流型準(zhǔn)PWM控制方式和三態(tài)DPM
    發(fā)表于 07-10 11:21 ?4049次閱讀
    逆變器的<b class='flag-5'>兩種</b>電流型控制<b class='flag-5'>方式</b>

    Wincc如何與PLC進(jìn)行通訊兩種常用的方式介紹

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

    在MATLAB/simulink中建模時(shí)的兩種不同實(shí)現(xiàn)方式

    導(dǎo)讀:本期文章主要介紹在MATLAB/simulink中建模時(shí)的兩種不同實(shí)現(xiàn)方式,一是直接用現(xiàn)成的文件庫(kù)中的模塊進(jìn)行搭建,一是用Sfun
    的頭像 發(fā)表于 09-15 10:07 ?1947次閱讀

    MATLAB/simulink中兩種實(shí)現(xiàn)建模方式的優(yōu)勢(shì)

    導(dǎo)讀:本期文章主要介紹在MATLAB/simulink中建模時(shí)的兩種不同實(shí)現(xiàn)方式,一是直接用現(xiàn)成的文件庫(kù)中的模塊進(jìn)行搭建,一是用Sfun
    的頭像 發(fā)表于 09-15 10:10 ?5170次閱讀

    介紹兩種常見(jiàn)的移相器電路原理

    移相器的電路原理可以有多種實(shí)現(xiàn)方式,以下是兩種常見(jiàn)的移相器電路原理
    的頭像 發(fā)表于 09-19 11:01 ?2314次閱讀

    redis兩種持久化方式的區(qū)別

    的完整性和一致性。 Redis提供了兩種持久化方式:RDB(Redis Database)和AOF(Append Only File)。這兩種方式各有優(yōu)劣,下面我們將詳細(xì)
    的頭像 發(fā)表于 12-04 11:12 ?543次閱讀