日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

0. 背景

題目: FastBERT: a Self-distilling BERT with Adaptive Inference Time
機構:北大、騰訊、北師大
作者:Weijie Liu, Peng Zhou, Zhe Zhao, Zhiruo Wang, Haotang Deng, Qi Ju
論文地址:https://arxiv.org/abs/2004.02178
收錄會議:ACL2020
代碼:https://github.com/autoliuweijie/FastBERT

摘要

預訓練模型如 BERT 所取得的成果舉世矚目,但是如何在確保模型性能的前提下提高模型效率,是近年來的研究熱點。為此本文提出 FastBERT。FastBERT 是一種速度可調具有自適應推理的模型。推理速度可根據不同需求靈活調整,避免樣本冗余計算。此外,該模型在微調方面采用了獨特的自精餾機制,進一步提高了計算效率,使性能損失最小。FastBERT 在 12 個中英文數據集中取得了很好的結果。如果給定不同的加速閾值以進行速度性能折衷,那么 FastBERT 能夠比 BERT 加速 1-12 倍。

介紹

預訓練模型的成功眾所周知,從最初的 BERT,不斷升級進化,做大做強,包括 GPT2、XLNet、RoBERTa、T5、UER 等等。然而,在許多實際的場景中,這些預訓練模型通常需要較多的計算資源。針對這一問題,常見的解決方案包括有


(1)量化,把 FP32 改成 FP16 甚至 INT8。
(2)剪枝,剪掉多余的連接、多余的注意力頭甚至是去掉部分的網絡層。
(3)蒸餾,用一個較小的 Student 模型來學習較大 Teacher 模型的知識。

通過查驗許多 NLP 數據集,發現這些樣本有不同的難度級別。較大的模型可能會對簡單的樣本輸入過多計算,而較小的模型難以應付復雜的樣本。最近的研究表明預訓練模型中確實存在冗余,因此設計一個適合所有樣本難度的單一化模型是有用的,該模型可以滿足不同復雜度的樣本,并在精度損失最小的情況下獲得計算效率。

基于這種目的,本文提出 FastBERT:一個具有樣本自適應機制的預訓練模型。

FastBERT 可以動態調整執行層的數量,以減少計算量。換句話說,就是自適應調整每個樣本的計算量,難度低的樣本通過一兩層就可以預測出來,難度較高的樣本則需要繼續走到更深的層級甚至是整個全程。此外,該模型也有一個獨特的自蒸餾處理機制,以盡量少改變模型結構,在單一框架內實現更快且準確的結果。與笨重的 BERT 相比,FastBERT 加速了 2 到 11 倍,且結果精度也極具競爭優勢(精度只是略有損失而已)。

小結下:
(1)本文改進了 BERT,提出了一種實用的速度可調模型,即 FastBERT。
(2)首次將樣本自適應機制和自蒸餾機制相結合,并提高了模型的推理速度。同時在 12 個 NLP 數據集上驗證了其有效性。

模型

模型架構

FastBERT 有 2 部分組成:主干和分支。主干由 12 層的 Transformer encoder 和一個額外的 teacher-classifier 組成;而分支是附加到每個 Transformer 輸出的 student-classifiers。具體模型結構如 Figure 2 所示:

推理怎么又快又穩?且看我FastBERT

 

主干由三部分組成:embedding 層、encoder(由 Transformer 堆疊起來的 blocks 組成)和 teacher classifier。embedding 層和 encoder 沒什么特別的,與 BERT 相同,是 word、position 和 segment embedding 的和。跟在 encoder 最后的是 teacher-classifier,它提取域內特征用于下游推理。

模型訓練

FastBERT 分別訓練主干和分支,在訓練另一個模塊時,一個模塊中的參數是固定住的。模型訓練包括三個步驟:主干預訓練、主干微調和 student classifier 的自蒸餾。

(1)主干預訓練:
與 BERT 的各種版本模型一樣,比如 BERT-WWM、RoBERTa 等等模型的預訓練方法和結果都可以直接拿來用。所以 FastBERT 可以不需要自己進行預訓練,直接加載各種已經公布的高質量預訓練模型。需要注意的是,由于 teacher-classifier 僅用于推理,因此預訓練過程不受影響。
(2)主干微調:
對于每個下游任務,用對應的任務數據輸入到模型,對主干進行和 teacher-classifier 微調。注意,此時尚未啟用 student classifier。
(3)分支自蒸餾:

經過上述預訓練和微調的主干對知識具有良好的表征和抽取,其輸出是高質量的 soft-label,既包含原始 embedding,又包含通用知識。在此基礎上蒸餾出 student classifiers。由于 student classifier 之間是相互獨立的,他們的預測結果分別與 teacher-classifier 的 soft-label 進行比較,其差異用 KL 散度來衡量。FastBERT 中一共有 L-1 個 student classifier,所以自蒸餾的總損失即為它們 KL 散度的總和。

預訓練和微調階段都只更新主干參數,蒸餾階段固定住主干參數,用 student classifier 蒸餾主干中 teacher classifier 的概率分布。由于在這個階段僅僅需要 teacher classifier 的輸出,那么可以自由地使用數量無限的未標記數據,而無需局限于有標記的數據。這意味著只要 teacher classifier 允許,總是可以提升 student classifier,以盡可能的擬合 teacher。此外,以前的蒸餾方法是用兩個模型去做,一個模型學習另一個模型的知識,而 FastBERT 的自蒸餾與之不同,因為 teacher 和 student 在同一個模型。此所謂“自蒸餾”便是這個意思,自己(分支)蒸餾自己(主干)的知識。

模型自適應推理

在推理階段,FastBERT 可以根據樣本的復雜性調整模型中執行的 encoding 層的數量。在每一 Transformer 層,用歸一化的熵衡量每個樣本的當前推理是否可靠到足以終止。歸一化熵定義如下:

推理怎么又快又穩?且看我FastBERT

 


推理怎么又快又穩?且看我FastBERT

 

實驗結果

在 12 個 NLP 數據集(6 個英文和 6 個中文)上對 FastBERT 進行評測。

分析 FLOPs: 所謂的 FLOPs(floating point operations)是指每秒所執行的浮點運算次數,可以用來衡量模型計算復雜度。FLOPs 與模型的運行環境(CPU、GPU 或 TPU)無關,反映模型計算的復雜性。一般來說,模型的 FLOPs 越大,推理時間就會越長。在同樣的精度下,更低 FLOPs 的模型效率更高,更適合生產環境。Table 1 中列出了 Transformer 和分類器這兩種結構的 FLOPs,從中可以看出,分類器的計算負荷(FLOPs)要比 Transformer 輕得多。這是 FastBERT 加速的基礎,雖然它增加了額外的分類器,但減少 Transformer 的計算量來實現加速。

推理怎么又快又穩?且看我FastBERT

 

性能對比:BERT、DistilBERT 和 FastBERT 在 12 個數據集上對比結果如 Table 2 所示。

推理怎么又快又穩?且看我FastBERT

 

從 Table 2 可以看出,Speed=0.1 時,FastBERT 在多數數據集上比 BERT 加速 2-5 倍且無損精度。如果允許精確度稍有損失,FastBERT 比 BERT 快 7 到 11 倍。FastBERT甚至在部分任務上(如 Weibo)還有細微提升。相比之下 DistillBERT 的性價比就不是這么高了,損失的性能換得的速度提升不如 FastBERT 多。

總結

本文提出一個快速版 BERT,即 FastBERT。具體來說,FastBERT 在訓練階段采用一種自蒸餾機制,在推理階段采用一種自適應機制,提高了推理效率且準確度損失極少。此外,FastBERT 在工業場景中有一個非常實用的特性,即推理速度可調。實驗表明,在不降低性能的情況下,FastBERT 可以比 BERT 快 2 到 3 倍。若允許精度略有損失,模型推理加速在 1 到 12 倍。此外,FastBERT 仍然與其他類 BERT 模型的參數設置兼容,即可以自由加載其他如 BERT-WWM、ERNIE 和 RoBERTa 等預訓練的模型。

分享到:
標簽:推理
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定