• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于BERT預訓練模型壓縮技術分析

      2020-09-16 13:29:19李進
      科學與信息化 2020年14期

      李進

      摘要:基于語言模型的預訓練已經在很多自然語言處理任務中取得了顯著的性能,然而由于起巨大的模型容量和復雜的計算,往往需要消耗大量的存儲資源,在資源受限的設備上難以發(fā)揮其性能優(yōu)勢,本文對當前被廣泛應用的BERT壓縮技術從效率,性能以及壓縮強度等多個角度進行了分析。

      關鍵詞:預訓練;模型壓縮;BERT

      1預訓練模型BERT

      預訓練模型BERT采用Transformer模型中提出的編碼層結構,應用了多層堆疊編碼層,每個編碼層由自注意力子層及前饋神經網絡子層組成,并在每個子層后應用了殘差連接和層正則化操作,以多任務學習作為訓練目標。任務一是掩碼預言模型,即隨機掩蓋語句子中15%的詞,并通過模型對掩蓋掉的詞進行預測,值得注意的是,在BERT中并不是將所選擇15%的詞全部使用MASK標簽進行掩蓋,而是將其劃分為三份,其中80%用MASK標簽掩蓋,10%不做任何操作,10%隨機替換為其他詞。任務二是預測兩個句子之間的關系,即句子B是否為句子A的下文,以此來捕捉句子之間的關系,BERT模型因為其強大的性能和泛化能力在多項NLP任務中取得了最佳性能,但是由于其龐大的模型容量以及對存儲的巨大消耗,也衍生了很多針對BERT的壓縮技術。

      2基于知識精煉技術的BERT壓縮

      知識精煉技術是一種常用的模型壓縮手段,其主要的方式主要使子模型去學習教師模型的預測結果,從教師模型預測得到的更軟的分布中去學習教師模型中的知識,從而使子模型能夠達到模擬教師模型行為的目的。在BERT模型中同樣也可以應用類似的技術進行模型的壓縮。在DistilBERT壓縮中,其壓縮對象是減少模型的神經網絡層數,構建層數更少的子模型,通過使用知識精煉手段,使子模型學習教師模型的輸出層的預測。同時設計了余弦相似度損失,來對其子模型和教師模型的隱藏層狀態(tài),即如果將12層的教師模型壓縮為3層,則另子模型的第1,2,3層分別的輸出分別使用余弦相似度來計算,其與教師模型第4,8,12層之間的差異。最終子模型的損失函數包括三項,分別是,BERT模型訓練目標的損失,知識精煉的損失,以及余弦相似度計算得到的損失項。同時在構建子模型初始化時,放棄了隨即初始化的手段,通過從教師模型中抽取子模型規(guī)模大小的神經網絡層數來構建子模型,成功地將模型容量壓縮了40%,并維持了97%的性能,同時實現了60%的加速。

      3Tiny-BERT壓縮技術”

      Tiny-BERT壓縮技術同樣是基于知識精煉技術對BERT模型進行壓縮,相比于普通的知識精煉技術只在模型的輸出層進行約束,Tiny-BERT壓縮針對構成BERT模型的每一層的不同輸出位置都進行了約束。如果以學習類比,DistilBERT便是直接學習了正確答案和部分的中間過程,而Tiny-BERT則是對中間過程進行了更詳細的拆分,進行更細致的學習。在預訓練階段,Tiny-BERT講教師模型中的層分為不同的神經網絡層組,將對應組的知識精煉于子模型的一層之上,完成多層對一層的映射。例如,將12NBERT模型壓縮為4層,則將教師模型劃分為3組,令子模型中對應的層學習教師模型每組中最后一層的行為。同時針對每層網絡中不同位置的輸出設計了不同的知識遷移方式,例如對于層輸出和自注意力機制得到的注意力分布,設計了均方誤差損失,來衡量子網絡和教師網絡之間的差異。對于子模型和教師模型的輸入層,同樣應用了均方誤差損失,對輸出層,采用了與DistilBERT同樣的方式,將各個位置上的損失累加于損失函數之上作為正則化項,使子模型充分學習到教師模型的表現行為。與DistilBERT中復用了教師模型中的參數不同,Tiny-BERT壓縮中子模型的參數采用隨機初始化的方式,因此可以選擇更小的隱藏層維度,同時在層的維度和隱藏層的維度對教師模型進行壓縮,壓縮比率更大。此外對于下游任務的微調過程,Tiny-BERT壓縮采用了兩階段學習框架,即在對特定的任務進行微調時,同樣使用與預訓練階段同樣的知識精煉方式,以便于子模型能夠充分捕捉到教師模型中的普遍的域內知識和特定任務相關的知識。最終實現了只使用133%的參數量,便達到了教師模型97%的性能表現。

      4對比分析

      目前階段,針對BERT模型的壓縮主要分為兩個方面,即對模型層數的壓縮和模型的隱藏維度的壓縮。常用的壓縮手段則包括模型的量化,剪枝和知識精煉。其中知識精煉因為其性能優(yōu)異,操作簡單成為了主要的研究方向。相比于傳統(tǒng)知識精煉對輸出層的約束,對于BERT模型這種復雜網絡結構,只對模型的輸出層進行約束并不能使子模型充分學習到教師模型的性能。因此往往需要設計額外的損失函數來進行約束。但是額外的損失計算也帶來了額外的計算量,往往需要計算計算更多的中間信息的約束狀態(tài)。因此在實際應用過程中,可以根據計算成本合理的選擇額外的損失數量,不同的衡量向量之間差異的指標。此外,如果不考慮維度的壓縮,可以考慮復用教師模型的參數來構建子模型。如果需要縮減隱藏層的維度,則需要重新初始化指定維度的模型,或利用一些特殊的手段從教師模型中得到對應維度的參數。

      老河口市| 迭部县| 崇左市| 会昌县| 梁山县| 天镇县| 平阳县| 天门市| 元朗区| 多伦县| 福建省| 隆回县| 临洮县| 轮台县| 托克托县| 长沙县| 从江县| 扶沟县| 通江县| 涪陵区| 名山县| 洛扎县| 巫山县| 新野县| 汝南县| 南阳市| 仙桃市| 昌江| 潼南县| 滨州市| 宜阳县| 许昌市| 光泽县| 屯门区| 廊坊市| 九龙城区| 长岭县| 绵竹市| 原平市| 洞口县| 泰安市|