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

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

3天內不再提示

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

深度學習自然語言處理 ? 來源:圓圓的算法筆記 ? 作者:Fareise ? 2022-03-21 15:33 ? 次閱讀

NLP中,預訓練大模型Finetune是一種非常常見的解決問題的范式。利用在海量文本上預訓練得到的Bert、GPT等模型,在下游不同任務上分別進行finetune,得到下游任務的模型。然而,這種方式的代價也很大,經常要對所有任務都保存一個完整的task-specific模型,隨著預訓練模型體積越來越大,這種方式會占用很多存儲空間,當下游任務很多的時候要存儲大量的預訓練模型。同時,為每個任務finetune一個如此龐大的模型,訓練資源的消耗也比較大。

為了實現更綠色、經濟的NLP預訓練模型遷移,近兩年來業內提出了很多優化finetune的方法,例如adapter finetune、mask finetune等。最近很火的prompt更是極大減輕了finetune開銷,甚至不進行finetune就能應用于下游任務。本文重點介紹近兩年幾個NLP中finetune優化的經典工作,包括adapter-finetune、side-tuning、mask-finetune以及prefix-finetune等工作。

Adapter-tuning

遷移NLP預訓練模型的方法主要分為finetune和feature-based。Finetune將原來的模型在下游任務上進行訓練,而feature-based方法使用預訓練模型產出的詞、句子等embedding作為輸入,接下游一個獨立的模型進行預測。其中finetune的效果往往由于feature-based方法。然而finetune的計算開銷要比feature-based大很多,能不能采用一種折中的方式呢?Parameter-Efficient Transfer Learning for NLP(ICML 2019)提出了一種更經濟的遷移學習方法adapter-tuning,只需要finetune少量參數就能達到和finetune整個模型不相上下的效果。具體做法為,在原來的Bert模型的每層中間加入兩個adapter,adapter首先通過全連接對原輸入進行降維進一步縮小參數量,經過內部的NN后再將維度還原,形成一種bottleneck的結構。在finetune過程中,原預訓練Bert模型的參數freeze住不更新,只更新adapter的參數,大大減少了finetune階段需要更新和保存的參數量。

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

AdapterFusion: Non-Destructive Task Composition for Transfer Learning(2021)在Adapter Finetune的基礎上,提出當下游存在多個任務的時候,使用兩階段的Finetune。第一階段和Adapter Finetune的思路一樣,在預訓練大模型基礎上加上每個任務的adapter進行finetune,大模型參數freeze。在第二階段,繼續freeze預訓練模型,同時freeze住第一階段訓練的adapter模型參數,學習一個AdapterFusion模型,這個模塊的作用是融合各個adapter的信息,實現下游多個任務之間的信息共享。AdapterFusion部分的思路是,利用當前樣本在FF層的輸出和各個任務的adapter輸出做Attention,實現從多個Adapter產出信息中的選擇和融合。這樣模型實現了根據每個樣本選擇合適的adapter輸出,綜合了多任務的adapter信息。

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

Side-Tuning

Side-tuning: A baseline for network adaptation via additive side networks(ECCV 2019)提出了一種side-tuning的方法。如下圖,side-tune是在原來的預訓練模型基礎上,增加一個小的side network,然后將預訓練模型的輸入和side-network的輸出進行融合。融合的方法文中提出使用一個可學習的參數α進行加權融合就能取得比較的效果。在訓練過程中,預訓練模型不會進行更新,只更新side-network部分的參數。Side模型的尺寸和復雜度也可以根據任務的難易程度進行調整。Side-tuning和adapt-tuning有相似之處,都是利用一個附屬的小模型對原預訓練大模型的表示進行更精細化的針對下游任務的調整。

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

Mask-tuning

Masking as an efficient alternative to finetuning for pretrained language models(2020)提出一種簡單的mask方法實現高效finetune。相比一般的finetune,該方法在finetune階段不對參數進行調整,而是學習一個mask矩陣。對于每一個Transformer層,都會學習一個0-1的矩陣,然后用這個矩陣對該層所有全連接權重進行縮放。公式如下,m表示矩陣中某一個元素,根據一個閾值設置為1或0,再用這個矩陣和每層的全連接參數相乘進行對應元素的縮放。

Mask-tuning的出發點為,在預訓練模型finetune的過程中,其實不需要finetune那么多參數,只要finetune一些關鍵參數就能達到較好的效果,減少finetune階段計算的冗余性。在How fine can fine-tuning be? Learning efficient language models(2020)一文中也提出了類似的思路。

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

Mask-tuning的出發點為,在預訓練模型finetune的過程中,其實不需要finetune那么多參數,只要finetune一些關鍵參數就能達到較好的效果,減少finetune階段計算的冗余性。在How fine can fine-tuning be? Learning efficient language models(2020)一文中也提出了類似的思路。

Prefix-tuning

REFORMER: THE EFFICIENT TRANSFORMER(ICLR 2020)提出了采用局部敏感哈希的方法提升Transformer效率。當序列較長時,QK^T的維度[batch_size, L, L]的計算量和存儲開銷會非常大,但是由于我們關注的是softmax后的結果,并不關注QK^T本身是什么,而softmax只關注值最大的幾個元素,因此我們可以只選擇k<

Prefix-Tuning: Optimizing Continuous Prompts for Generation(2021)提出的方法只finetune 0.1%的參數就取得和finetune相當的效果,并且在少樣本任務上效果優于finetune。本文提出針對自然語言生成任務(如摘要生成、table-to-text等任務)的遷移預訓練大模型的方法?;贚anguage models are few-shot learners(2020,GPT3)等文章中提出的Prompt思路,只要能給模型一個合適的上下文信息context,預訓練的語言模型不需要修改參數就能很好的解決下游問題。例如當我們想生成Obama這個詞,只要上下文信息給Barack,模型就可有可能生成Obama,因為模型在預訓練階段已經學到了這些信息。

該方法的具體實現為,將預訓練的Transformer模型參數整體Freeze住,當正常輸入文本序列的時候,在最前端添加幾個prefix id,每一個prefix id都對應一個隨機初始化的embedding,不同的任務有不同的prefix id。這樣在模型中,prefix之后每個時刻的表示都會受到prefix的影響,prefix代表某個對應具體任務的上下文信息。在Finetune過程中,模型的其他參數都Freeze,只finetune prefix的embedding,以及prefix后面接的一些全連接層,Finetune參數量只占整體模型的0.1%,遠小于其他的Finetune方法。該方法核心思想利用了prefix embedding去學習對于某個任務來說,需要從預訓練語言模型中提取什么樣的信息。

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

總結

NLP領域預訓練大模型的發展,催生出很多針對如何提升遷移效率的研究工作。從目前的研究趨勢來看,基于prompt思想的finetune是未來的一個重要研究趨勢,充分利用預訓練模型的信息,讓下游任務更貼近預訓練模型,而不是讓預訓練模型貼近下游任務。后續我們也會對prompt進行更為詳細的介紹。

原文標題:NLP中的綠色Finetune方法

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

審核編輯:湯梓紅

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

    關注

    12

    文章

    3892

    瀏覽量

    84794
  • 參數
    +關注

    關注

    11

    文章

    1403

    瀏覽量

    31567
  • 模型
    +關注

    關注

    1

    文章

    2775

    瀏覽量

    47873

原文標題:NLP中的綠色Finetune方法

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

收藏 人收藏

    評論

    相關推薦

    基于不同量級預訓練數據的RoBERTa模型分析

    NLP領域的研究目前由像RoBERTa等經過數十億個字符的語料經過預訓練模型匯主導。那么對于一個預訓練模型,對于不同量級下的預
    發表于 03-03 11:21 ?1490次閱讀

    【大語言模型:原理與工程實踐】核心技術綜述

    的具體需求,這通常需要較少量的標注數據。 多任務學習和遷移學習: LLMs利用在訓練中積累的知識,可以通過遷移學習在相關任務上快速適應,有時還可以在一個
    發表于 05-05 10:56

    【大語言模型:原理與工程實踐】大語言模型訓練

    大語言模型的核心特點在于其龐大的參數量,這賦予了模型強大的學習容量,使其無需依賴微調即可適應各種下游任務,而傾向于培養通用的處理能力。然而,隨著學習容量的增加,對
    發表于 05-07 17:10

    遷移學習

    神經網絡訓練方法卷積神經網絡介紹經典網絡結構介紹章節目標:深入了解神經網絡的組成、訓練實現,掌握深度空間特征分布等關鍵概念,為深度遷移學習奠定知識基礎 三、
    發表于 04-21 15:15

    【KV260視覺入門套件試用體驗】Vitis AI 通過遷移學習訓練自定義模型

    【Vitis AI】 Vitis AI 通過遷移學習訓練自定義模型 測評計劃: 一、開箱報告,KV260通過網線共享PC網絡 二、Zynq超強輔助-PYNQ配置,并使用XVC(Xilinx
    發表于 10-16 15:03

    面向NLP任務的遷移學習新模型ULMFit

    除了能夠更快地進行訓練之外,遷移學習也是特別有趣的,僅在最后一層進行訓練,讓我們可以僅僅使用較少的標記數據,而對整個模型進行端對端訓練則需要
    的頭像 發表于 08-22 08:11 ?5473次閱讀

    遷移學習與模型訓練:何去何從

    把我們當前要處理的NLP任務叫做T(T稱為目標任務),遷移學習技術做的事是利用另一個任務S(S稱為源任務)來提升任務T的效果,也即把S的信息遷移到T中。至于怎么遷移信息就有很多方法了,
    的頭像 發表于 07-18 11:29 ?7556次閱讀
    <b class='flag-5'>遷移</b>學習與<b class='flag-5'>模型</b>預<b class='flag-5'>訓練</b>:何去何從

    NLP遷移學習面臨的問題和解決

    自然語言處理(NLP)最近取得了巨大的進步,每隔幾天就會發布最新的結果。排行榜瘋狂是指最常見的NLP基準,如GLUE和SUPERGLUE,它們的得分越來越接近人類的水平。這些結果大多是通過超大(數十億個參數)模型從大規模數據集中
    的頭像 發表于 05-04 12:03 ?2926次閱讀
    <b class='flag-5'>NLP</b><b class='flag-5'>遷移</b>學習面臨的問題和解決

    小米在預訓練模型的探索與優化

    導讀:預訓練模型NLP大放異彩,并開啟了預訓練-微調的NLP范式時代。由于工業領域相關業務的復雜性,以及工業應用對推理性能的要求,大規模預
    的頭像 發表于 12-31 10:17 ?2306次閱讀
    小米在預<b class='flag-5'>訓練</b><b class='flag-5'>模型</b>的探索與優化

    2021 OPPO開發者大會:NLP訓練模型

    2021 OPPO開發者大會:NLP訓練模型 2021 OPPO開發者大會上介紹了融合知識的NLP訓練
    的頭像 發表于 10-27 14:18 ?1554次閱讀
    2021 OPPO開發者大會:<b class='flag-5'>NLP</b>預<b class='flag-5'>訓練</b>大<b class='flag-5'>模型</b>

    2021年OPPO開發者大會 融合知識的NLP訓練模型

    2021年OPPO開發者大會劉海鋒:融合知識的NLP訓練模型,知識融合學習運用在小布助手里面。
    的頭像 發表于 10-27 14:48 ?2301次閱讀
    2021年OPPO開發者大會 融合知識的<b class='flag-5'>NLP</b>預<b class='flag-5'>訓練</b>大<b class='flag-5'>模型</b>

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

    遷移學習方法。例如NLP中的預訓練Bert模型,通過在下游任務上Finetune即可取得比直接使用下游數據任務從零訓練的效果要好得多。
    的頭像 發表于 04-02 17:35 ?2637次閱讀

    用NVIDIA遷移學習工具箱如何訓練二維姿態估計模型

      本系列的第一篇文章介紹了在 NVIDIA 遷移學習工具箱中使用開源 COCO 數據集和 BodyPoseNet 應用程序的 如何訓練二維姿態估計模型 。
    的頭像 發表于 04-10 09:41 ?1524次閱讀
    用NVIDIA<b class='flag-5'>遷移</b>學習工具箱如何<b class='flag-5'>訓練</b>二維姿態估計<b class='flag-5'>模型</b>

    NLP中的遷移學習:利用預訓練模型進行文本分類

    遷移學習徹底改變了自然語言處理(NLP)領域,允許從業者利用預先訓練模型來完成自己的任務,從而大大減少了訓練時間和計算資源。在本文中,我們
    發表于 06-14 09:30 ?326次閱讀

    視覺深度學習遷移學習訓練框架Torchvision介紹

    Torchvision是基于Pytorch的視覺深度學習遷移學習訓練框架,當前支持的圖像分類、對象檢測、實例分割、語義分割、姿態評估模型遷移學習
    的頭像 發表于 09-22 09:49 ?518次閱讀
    視覺深度學習<b class='flag-5'>遷移</b>學習<b class='flag-5'>訓練</b>框架Torchvision介紹
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>