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

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

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

刪掉Transformer中的這幾層性能變好了?

深度學(xué)習(xí)自然語言處理 ? 來源:夕小瑤的賣萌屋 ? 作者:chaos ? 2021-03-08 10:27 ? 次閱讀

基于Transformer結(jié)構(gòu)的各類語言模型(Bert基于其encoder,Gpt-2基于其decoder)早已經(jīng)在各類NLP任務(wù)上大放異彩,面對讓人眼花繚亂的transformer堆疊方式,你是否也會感到迷茫?沒關(guān)系,現(xiàn)在讓我們回到最初,再次看看transformer 本來的模樣——Rethinking the Value of Transformer Components。該文收錄已于COLING 2020。

眾所周知,一個完整的transformer結(jié)構(gòu)可以切分成Encoder-self attention(“E:SA”), Encoder-Feed Forward(“E:FF”), Decoder-Self Attention(“D:SA”), Decoder-Encoder Attention(“D:EA”) 和 Decoder-Feed Forward(“D:FF”) 5個sub-layer結(jié)構(gòu)。文中作者采用了兩種度量方式確認(rèn)這些sub-layer的重要程度。

方法稍后再談,先上干貨,實(shí)驗(yàn)結(jié)果表明:

Decoder self-attention layers是最不重要的,而Decoder feed-forward layers是最重要的;

離模型的輸入和輸出越近的sub-layer要比其他的重要些;

在decoder里越靠后的encoder-attention layer要比之前的重要。

這些結(jié)果對不同的度量方法,數(shù)據(jù)集,初始化種子以及模型容量都能保持一致性。

▲Transformer結(jié)構(gòu)圖

模塊重要性分析

所謂的重要性究竟是什么呢?論文認(rèn)為,這主要包括兩個方面:

Contribution in information Flow,對于模型信息流的貢獻(xiàn)程度

Criticality in Representation Generalization,模型的模塊對參數(shù)的擾動表現(xiàn)出不同的魯棒性

Contribution in Information Flow

Transformer 最初是用來做機(jī)器翻譯任務(wù)的。所謂的information flow就是指數(shù)據(jù)如何從源語言經(jīng)過Transformer的encoder和decoder最終成為目標(biāo)語言的。如何衡量模型的每個部分對information flow做出的貢獻(xiàn)呢? 最直觀的想法就是去掉那個部分看看同樣條件下模型的效果如何。如果去掉那個部分,模型效果沒什么變化,那就說明該部分沒做什么貢獻(xiàn),反之,如果刪掉該部分,模型效果顯著降低則說明它貢獻(xiàn)卓著,沒它不行。作者采用了如下的量化方法:

公式中指的是去除第n個部分后模型整體的BLEU得分降。為了避免出現(xiàn)重要性指數(shù)出現(xiàn)負(fù)值和爆炸性下跌,作者將的值設(shè)定在[0,C]之間(真的會出現(xiàn)負(fù)重要性指數(shù)嗎?那樣倒挺好——模型變小,效果更好)。然后通過除以最大的得分降將的值進(jìn)行了歸一化,這里作者設(shè)置的上限C值為基線模型的BLEU得分的1/10.

Criticality in Representation Generalization

這里說的criticality指的是模型的模塊對參數(shù)的擾動表現(xiàn)出不同的魯棒性。比方說,如果將某個模塊的參數(shù)重置為初始化參數(shù),模型的表現(xiàn)變差,那么這個模塊就是critical的,否則就是non-critical的。有人在理論上將這個criticality給公式化了,而且他們表明這個criticality可以反映神經(jīng)網(wǎng)絡(luò)的泛化能力。

作者便是參考了這個工作,對網(wǎng)絡(luò)的第n個模塊,定義

即初始權(quán)重和最終權(quán)重的一個凸組合。

那么第n個部分的criticality score就可以表示為

這個式子定量的說明了criticality是最小的能使模型在閾值的情況下保持性能。這個值越小說明該模塊越不重要,這里取的是 0.5 BLEU分。

兩種度量方法雖然都是基于模塊對模型表現(xiàn)的影響的,但是又有不同之處。Contribution score可以看成是 hard metric(完全刪除模塊),而 Criticality score可以看成是一種soft metric,它衡量的是在保證模型表現(xiàn)的前提下模塊參數(shù)能多大程度的回卷。

實(shí)驗(yàn)

實(shí)驗(yàn)是在WMT2014 English-German(En-De)和English-French(En-Fr)兩個機(jī)器翻譯數(shù)據(jù)集上進(jìn)行的,作者使用的Transformer模型和Transformer的那篇原始文獻(xiàn)(Vaswani et al.,2017)是一樣的。Transformer model 一共6層編碼器和解碼器,layer size是512,feed-forward sub-layer的size是2048,attention head的數(shù)值是8,dropout是0.1,initialization seed設(shè)置為1。

觀察模塊的重要性

上圖是采用兩種度量方式在兩個數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,其中X軸代表的是模塊類型,Y軸表示的是layer id。其中顏色越深就越重要??梢钥闯鰞煞N度量方式的結(jié)果很大程度上是一致的,比方說:

the decoder self-attention(D:SA)是最不重要的,而the decoder feed-forward layers(D:FF)是最重要的。

編碼器里越靠前(E:SA和E:FF)和解碼器里越靠后(D:EA和D:FF)是更重要的。這個其實(shí)很直觀,因?yàn)檫@些模塊離數(shù)據(jù)的輸入和輸出更近,所以對輸入句子的理解和輸出句子的生成要更加重要些。

在解碼器里越靠后的encoder-attention(D:EA)layers要比之前的encoder-attention layers重要。

分析不重要的模塊

更低的dropout比例和更多的訓(xùn)練數(shù)據(jù)會讓不重要的模塊變得更少(dropout是一種常見的用來防止過擬合的手段)。為了保證模型的效果,當(dāng)我們使用dropout的時候其實(shí)說明模型本身有一定程度上的冗余。在不降低模型效果的前提下,小的dropout比例剛好說明模型的冗余越少,也就是不重要的模塊更少。大規(guī)模的訓(xùn)練數(shù)據(jù)本身就自帶更多的patterns。需要充分發(fā)揮transformer的各個模塊才能有效地學(xué)習(xí)到。

從上面兩張圖可以明顯的看出:當(dāng)使用更小的dropout和更大的數(shù)據(jù)集時,顏色深的版塊明顯變得更多。此外之前所得到的結(jié)論這里依然成立。

區(qū)分和利用一批不重要的模塊

之前的結(jié)果都是只刪除一個模塊得到,那我們一次性刪除多個模塊呢?

上圖顯示當(dāng)我們刪除3到4個不重要的模塊時,模型效果并沒有明顯降低。但是當(dāng)刪的更多了之后,模型的效果會受到較大的影響。那么我們是否可以利用這些不怎么重要的模塊去對模型進(jìn)行優(yōu)化呢?作者采用了兩種方式:一個是模塊剪枝,另一個是模塊回卷。

模塊剪枝就是將不重要的模塊直接刪掉,因?yàn)閯h掉了相應(yīng)模塊使得模型的參數(shù)變小,作為對比作者在相同參數(shù)量下使用了一個淺層的decoder模型結(jié)果如表:

ad644d5a-7f2a-11eb-8b86-12bb97331649.png

可以看出剪枝后的模型要比同樣參數(shù)下的淺層模型結(jié)果要好,而且也能達(dá)到和原始模型相應(yīng)的效果,有的甚至更好(還真有)。

模塊回卷就是將不重要的模塊參數(shù)回卷到初始化狀態(tài),再和其他模塊一起微調(diào)一下得到的訓(xùn)練結(jié)果要比原始模型好一點(diǎn)。

總結(jié)

我們可以利用contribution score和criticality score評價模型中各個模塊的重要性,知曉了模塊的重要性程度后我們可以對不重要的模塊進(jìn)行剪枝或者參數(shù)回卷都能在一定程度上讓原有模型得到優(yōu)化。

原文標(biāo)題:我刪掉了Transformer中的這幾層…性能反而變好了?

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

責(zé)任編輯:haq

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

    關(guān)注

    1787

    文章

    46061

    瀏覽量

    235029
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5422

    瀏覽量

    120593
  • Transformer
    +關(guān)注

    關(guān)注

    0

    文章

    135

    瀏覽量

    5944

原文標(biāo)題:我刪掉了Transformer中的這幾層…性能反而變好了?

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

收藏 人收藏

    評論

    相關(guān)推薦

    EasyGo實(shí)時仿真丨PCS儲能變流器控制仿真應(yīng)用

    ,主要差別在于實(shí)際控制效果比仿真效果的電流紋波稍大。通過在電路運(yùn)行不斷在上位機(jī)界面實(shí)時調(diào)試改進(jìn)控制參數(shù),仿真表現(xiàn)比實(shí)驗(yàn)測試更好,實(shí)現(xiàn)了變流器性能的不斷優(yōu)化。實(shí)驗(yàn)達(dá)到了理論驗(yàn)證的預(yù)期,再次驗(yàn)證了利用
    發(fā)表于 09-20 10:17

    Transformer語言模型簡介與實(shí)現(xiàn)過程

    在自然語言處理(NLP)領(lǐng)域,Transformer模型以其卓越的性能和廣泛的應(yīng)用前景,成為了近年來最引人注目的技術(shù)之一。Transformer模型由谷歌在2017年提出,并首次應(yīng)用于神經(jīng)機(jī)器翻譯
    的頭像 發(fā)表于 07-10 11:48 ?649次閱讀

    Transformer架構(gòu)在自然語言處理的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,自然語言處理(NLP)領(lǐng)域取得了顯著的進(jìn)步。其中,Transformer架構(gòu)的提出,為NLP領(lǐng)域帶來了革命性的變革。本文將深入探討Transformer架構(gòu)的核心思想、組成部分以及在自然語言處理領(lǐng)域的應(yīng)用,旨在幫助讀者全面理解并應(yīng)用這一革命性的
    的頭像 發(fā)表于 07-09 11:42 ?530次閱讀

    Transformer模型在語音識別和語音生成的應(yīng)用優(yōu)勢

    自然語言處理、語音識別、語音生成等多個領(lǐng)域展現(xiàn)出強(qiáng)大的潛力和廣泛的應(yīng)用前景。本文將從Transformer模型的基本原理出發(fā),深入探討其在語音識別和語音生成的應(yīng)用優(yōu)勢,并展望其未來發(fā)展趨勢。
    的頭像 發(fā)表于 07-03 18:24 ?731次閱讀

    使用PyTorch搭建Transformer模型

    Transformer模型自其問世以來,在自然語言處理(NLP)領(lǐng)域取得了巨大的成功,并成為了許多先進(jìn)模型(如BERT、GPT等)的基礎(chǔ)。本文將深入解讀如何使用PyTorch框架搭建Transformer模型,包括模型的結(jié)構(gòu)、訓(xùn)練過程、關(guān)鍵組件以及實(shí)現(xiàn)細(xì)節(jié)。
    的頭像 發(fā)表于 07-02 11:41 ?1066次閱讀

    能變流器的拓?fù)浣Y(jié)構(gòu)介紹

    隨著能源存儲技術(shù)的不斷發(fā)展,儲能變流器(Power Conversion System,簡稱PCS)作為儲能系統(tǒng)的核心設(shè)備,其性能對整個系統(tǒng)的穩(wěn)定運(yùn)行和能量轉(zhuǎn)換效率起著至關(guān)重要的作用。而儲能變
    的頭像 發(fā)表于 05-17 16:08 ?1303次閱讀

    能變流器的工作原理是什么

    工作原理和性能直接影響到整個儲能系統(tǒng)的運(yùn)行效率、安全性和穩(wěn)定性。本文將詳細(xì)介紹儲能變流器的工作原理,并探討其在電力系統(tǒng)的重要作用。
    的頭像 發(fā)表于 05-17 16:02 ?1073次閱讀

    能變流器模塊作用是什么

    能變流器模塊(PCM)是儲能變流器系統(tǒng)的一個關(guān)鍵組成部分,它負(fù)責(zé)執(zhí)行儲能系統(tǒng)的電能轉(zhuǎn)換任務(wù)。
    的頭像 發(fā)表于 04-24 15:30 ?966次閱讀

    能變流器拓?fù)浣Y(jié)構(gòu)有哪些種類

    能變流器(PCS)的拓?fù)浣Y(jié)構(gòu)是其設(shè)計和性能的核心部分,它決定了變流器的效率、可靠性和成本。
    的頭像 發(fā)表于 04-22 14:52 ?1595次閱讀

    Transformer壓縮部署的前沿技術(shù):RPTQ與PB-LLM

    隨著人工智能技術(shù)的迅速發(fā)展,Transformer在自然語言處理、機(jī)器翻譯、問答系統(tǒng)等領(lǐng)域取得了顯著的性能提升。
    的頭像 發(fā)表于 01-24 14:05 ?991次閱讀
    <b class='flag-5'>Transformer</b>壓縮部署的前沿技術(shù):RPTQ與PB-LLM

    能變流器的特點(diǎn)有哪些

    雙極晶體管)或MOSFET(金屬氧化物半導(dǎo)體場效應(yīng)晶體管),具有高頻率、高效率、高電壓等優(yōu)點(diǎn),可以實(shí)現(xiàn)電能的快速、高效轉(zhuǎn)換。 穩(wěn)定可靠:儲能變流器內(nèi)部設(shè)有輸入濾波器、輸出濾波器和保護(hù)電路等,可以有效地抑制電網(wǎng)的諧波和瞬時電壓波動,提高系統(tǒng)
    的頭像 發(fā)表于 01-09 14:56 ?1111次閱讀

    更深層的理解視覺Transformer, 對視覺Transformer的剖析

    最后是在ADE20K val上的LeaderBoard,通過榜單也可以看出,在榜單的前幾名,Transformer結(jié)構(gòu)依舊占據(jù)是當(dāng)前的主力軍。
    的頭像 發(fā)表于 12-07 09:39 ?650次閱讀
    更深層的理解視覺<b class='flag-5'>Transformer</b>, 對視覺<b class='flag-5'>Transformer</b>的剖析

    求助,AD8132諧波測試電路transformer有沒有推薦型號?

    AD8132諧波測試電路transformer有沒有推薦型號?
    發(fā)表于 11-16 06:15

    LLM的Transformer是否可以直接處理視覺Token?

    多種LLM Transformer都可以提升Visual Encoding。例如用LLaMA和OPT的不同Transformer層都會有提升,而且不同層之間也會體現(xiàn)不同的規(guī)律。
    發(fā)表于 11-03 14:10 ?399次閱讀
    LLM的<b class='flag-5'>Transformer</b>是否可以直接處理視覺Token?

    為什么transformer性能這么好?Transformer的上下文學(xué)習(xí)能力是哪來的?

    為什么 transformer 性能這么好?它給眾多大語言模型帶來的上下文學(xué)習(xí) (In-Context Learning) 能力是從何而來?在人工智能領(lǐng)域里,transformer 已成為深度學(xué)習(xí)
    的頭像 發(fā)表于 09-25 12:05 ?1202次閱讀
    為什么<b class='flag-5'>transformer</b><b class='flag-5'>性能</b>這么好?<b class='flag-5'>Transformer</b>的上下文學(xué)習(xí)能力是哪來的?