色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

比Bert體積更小速度更快的 TinyBERT

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 20:35 ? 次閱讀

TinyBERT 是華為不久前提出的一種蒸餾 BERT 的方法,本文梳理了 TinyBERT 的模型結構,探索了其在不同業務上的表現,證明了 TinyBERT 對復雜的語義匹配任務來說是一種行之有效的壓縮手段。
作者:chenchenliu&winsechang,騰訊 PCG 內容挖掘工程師
來源:騰訊技術工程微信號

一、簡介

在 NLP 領域,BERT 的強大毫無疑問,但由于模型過于龐大,單個樣本計算一次的開銷動輒上百毫秒,很難應用到實際生產中。TinyBERT 是華為、華科聯合提出的一種為基于 transformer 的模型專門設計的知識蒸餾方法,模型大小不到 BERT 的 1/7,但速度提高了 9 倍,而且性能沒有出現明顯下降。目前,該論文已經提交機器學習頂會 ICLR 2020。本文復現了 TinyBERT 的結果,證明了 Tiny BERT 在速度提高的同時,對復雜的語義匹配任務,性能沒有顯著下降。

目前主流的幾種蒸餾方法大概分成利用 transformer 結構蒸餾、利用其它簡單的結構比如 BiLSTM 等蒸餾。由于 BiLSTM 等結構簡單,且一般是用 BERT 最后一層的輸出結果進行蒸餾,不能學到 transformer 中間層的信息,對于復雜的語義匹配任務,效果有點不盡人意。

基于 transformer 結構的蒸餾方法目前比較出名的有微軟的 BERT-PKD (Patient Knowledge Distillation for BERT),huggingface 的 DistilBERT,以及本篇文章講的 TinyBERT。他們的基本思路都是減少 transformer encoding 的層數和 hidden size 大小,實現細節上各有不同,主要差異體現在 loss 的設計上。

二、模型實現細節

整個 TinyBERT 的 loss 設計分為三部分:

1. Embedding-layer Distillation


其中:

分別代表 student 網絡的 embedding 和 teacher 網絡的 embedding. 其中 l 代表 sequence length, d0 代表 student embedding 維度, d 代表 teacher embedding 維度。由于 student 網絡的 embedding 層通常較 teacher 會變小以獲得更小的模型和加速,所以 We 是一個 d 0×d 維的可訓練的線性變換矩陣,把 student 的 embedding 投影到 teacher embedding 所在的空間。最后再算 MSE,得到 embedding loss.

2. Transformer-layer Distillation

TinyBERT 的 transformer 蒸餾采用隔 k 層蒸餾的方式。舉個例子,teacher BERT 一共有 12 層,若是設置 student BERT 為 4 層,就是每隔 3 層計算一個 transformer loss. 映射函數為 g(m) = 3 * m, m 為 student encoder 層數。具體對應為 student 第 1 層 transformer 對應 teacher 第 3 層,第 2 層對應第 6 層,第 3 層對應第 9 層,第 4 層對應第 12 層。每一層的 transformer loss 又分為兩部分組成,attention based distillation 和 hidden states based distillation.

2.1 Attention based loss


其中,

h 代表 attention 的頭數,l 代表輸入長度,

代表 student 網絡第 i 個 attention 頭的 attention score 矩陣,

代表 teacher 網絡第 i 個 attention 頭的 attention score 矩陣。這個 loss 是受到斯坦福和 Facebook 聯合發表的論文,What Does BERT Look At? An Analysis of BERT’s Attention 的啟發。這篇論文研究了 attention 權重到底學到了什么,實驗發現與語義還有語法相關的詞比如第一個動詞賓語,第一個介詞賓語,以及[CLS], [SEP], 逗號等 token,有很高的注意力權重。為了確保這部分信息能被 student 網絡學到,TinyBERT 在 loss 設計中加上了 student 和 teacher 的 attention matrix 的 MSE。這樣語言知識可以很好的從 teacher BERT 轉移到 student BERT.

2.2 hidden states based distillation

其中,

分別是 student transformer 和 teacher transformer 的隱層輸出。和 embedding loss 同理,

投影到 Ht 所在的空間。

3. Prediction-Layer Distillation


其中 t 是 temperature value,暫時設為 1.除了模仿中間層的行為外,這一層用來模擬 teacher 網絡在 predict 層的表現。具體來說,這一層計算了 teacher 輸出的概率分布和 student 輸出的概率分布的 softmax 交叉熵。這一層的實現和具體任務相關,我們的兩個實驗分別采取了 BERT 原生的 masked language model loss + next sentence loss 和單任務的 classification softmax cross-entropy.

另外,值得一提的是 prediction loss 有很多變化。在 TinyBERT 中,這個 loss 是 teacher BERT 預測的概率和 student BERT 預測概率的 softmax 交叉熵,在 BERT-PKD 模型中,這個 loss 是 teacher BERT 和 student BERT 的交叉熵和 student BERT 和 hard target( one-hot)的交叉熵的加權平均。我們在業務中有試過直接用 hard target loss,效果比使用 teacher student softmax 交叉熵下降 5-6 個點。因為 softmax 比 one-hot 編碼了更多概率分布的信息。并且實驗中,softmax cross-entropy loss 容易發生不收斂的情況,把 softmax 交叉熵改成 MSE, 收斂效果變好,但泛化效果變差。這是因為使用 softmax cross-entropy 需要學到整個概率分布,更難收斂,因為擬合了 teacher BERT 的概率分布,有更強的泛化性。MSE 對極值敏感,收斂的更快,但泛化效果不如前者。

所以總結一下,loss 的計算公式為:

其中,

三、實驗

TinyBERT 論文中提出了兩階段學習框架,比較新穎。類似于原生的 BERT 先 pre-train, 根據具體任務再 fine-tine, TinyBERT 先在 general domain 數據集上用未經微調的 BERT 充當教師蒸餾出一個 base 模型,在此基礎上,具體任務通過數據增強,利用微調后的 BERT 再進行重新執行蒸餾。

這種兩階段的方法給 TinyBERT 提供了像 BERT 一樣的泛化能力。不過為了快速得到實驗結果,并且論文中的控制變量實驗顯示 general 的蒸餾對各項下游任務的影響較小,我們此次選擇直接用 fine-tune 過的 teacher BERT,蒸餾得到 student BERT.

所以我們蒸餾 TinyBERT 的流程是:

制作任務相關數據集;

fine-tune teacher BERT;

固定 teacher BERT 參數,蒸餾得到 TinyBERT.

關于實驗結果,先上 TinyBERT 論文中的結論:

可以看到 TinyBERT 表現優異。在 GLUE 上,相較于完整的 BERT,性能下降 3 個點,但是推理性能卻得到了巨大提升,快了 9 倍多。

我們在自己的業務上,也用 TinyBERT 得到了相似的結果。

3.1 文章連貫性特征任務

做這個特征的目的是為了過濾東拼西湊或者機器生成前后沒有邏輯的文章。由于語義的復雜性還有語義的轉移,這個任務和語義相似度任務略有不同,文章的上下句之間語義會有不同。在這個背景下,實驗過 DSSM, Match-Pyramid 等模型,表現效果較差。

由于 BERT 能學到豐富的語義,這個任務目前采用 BERT 的 next sentence 任務較為合適。但是一旦文章很長,原生 BERT 需要算 1 秒甚至更久,這樣的速度是不能接受的。

TinyBERT 在不同實驗參數下的表現如下:

可以看到 4 層 encoder 的 TinyBERT 在 next sentence 任務下準確率較 BERT base 準確率下降了不到 3 個點,在 mlm 任務上下降較多。在 CPU 上,TinyBERT 相較于 base 速度獲得了將近 8 倍的提升。

3.2 問答 FAQ 任務

業務場景:為用戶的 query 匹配最接近的 question,將其 answer 返回,是一個 Query-question 語義匹配任務。

下面是蒸餾到兩層 encoder 的 TinyBERT 結果:

可以看到 ACC 損失 3 個點,AUC 損失 4 個點,取得了不錯的效果。

四、總結

我們證明了 TinyBERT 作為一種蒸餾方法,能有效的提取 BERT transformer 結構中豐富的語意信息,在不犧牲性能的情況下,速度能獲得 8 到 9 倍的提升。下一步可能會嘗試蒸餾一個 general 的 TinyBERT base。

更多騰訊AI相關技術干貨,請關注專欄騰訊技術工程

審核編輯 黃昊宇

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

    關注

    1795

    文章

    47642

    瀏覽量

    239733
  • nlp
    nlp
    +關注

    關注

    1

    文章

    489

    瀏覽量

    22077
收藏 人收藏

    評論

    相關推薦

    hdi高密度互連PCB電金適用性

    元器件的數量和體積。 激光鉆微孔技術:與傳統PCB相比,HDI PCB可以利用激光鉆孔技術實現更小的孔徑,從而提高線路密度。 高信號完整性和高元器件密度:提供了更好的信號完整性,并常規PCB有更高的層數,具有更高的元器件密度和
    的頭像 發表于 01-10 17:00 ?127次閱讀
    hdi高密度互連PCB電金適用性

    晶振行業小型化趨勢:3225及更小尺寸晶體

    主流晶振通常分為兩種封裝形式:貼片式與直插式。貼片式晶振相較直插式晶振體積更小,更廣泛應用于智能化電子產品。目前通常采用3225(3.2*2.5mm)及以下尺寸的貼片式晶振。
    的頭像 發表于 12-20 16:21 ?407次閱讀
    晶振行業小型化趨勢:3225及<b class='flag-5'>更小</b>尺寸晶體

    LM211比較器的速度規格書慢了10倍,為什么?

    電路圖如上,不用在意他的輸入電容,測量時候,直接測量的芯片引腳了,閾值10V 波形如下: 由此可以看見,比較時候,下降速度很快,上升卻很慢,甚至LM393這種都慢了, 怎么解決呢?
    發表于 09-10 07:48

    聲發射系統的技術指標:最高采樣速度的選擇

    雖然理論上采樣速度越高獲得的數字信號越完整,但考慮到實際應用的成本,無法實現無限高甚至過高,只能選擇合理(即滿足應用要求)的采樣速度。例如,采樣速度40兆,數據量就采樣
    的頭像 發表于 08-26 17:30 ?397次閱讀
    聲發射系統的技術指標:最高采樣<b class='flag-5'>速度</b>的選擇

    M8020A J-BERT 高性能比特誤碼率測試儀

    ,執行交互式鏈路訓練。 J-BERT M8020A 可以幫助您更快洞察設計問題。 ?性能特點?? 數據速率高達 8.5/16 Gb/s,用于碼型
    的頭像 發表于 08-21 17:13 ?248次閱讀

    AWG和BERT常見問題解答

    隨著信號的速率越來越高,調制格式越來越復雜,對測試儀器的性能要求也越來越高。是德科技也一直在推出業界領先的高帶寬、高采樣率的AWG和高性能的BERT
    的頭像 發表于 08-06 17:27 ?773次閱讀

    CyU3PDmaMultiChannelCommitBuffer失敗后,如何使重置速度更快

    1) CyU3PDmaMultiChannelCommitBuffer 失敗后,如何使重置速度更快? 2) 如何將微控制器其他部分的內存用于幀緩沖?
    發表于 07-23 08:29

    請問ESP32是否支持擦除,寫入速度更快的spi nandflash作為程序存儲器(掛載到spi0)?

    ESP32寫flash的時候,似乎會影響到中斷丟失。請問ESP32是否支持擦除,寫入速度更快的spi nandflash作為程序存儲器(掛載到spi0)?
    發表于 06-19 06:32

    備受青睞的MEMS加速度計,更小尺寸、更低功耗、更智能

    ,進而提供傳感數據方便系統對設備或系統做出狀態評估。 ? 現在消費電子行業朝著更時尚、更簡約的設計方向發展,工業領域也對加速度計提出了更小尺寸更高集成性的需求,很多應用領域對微型加速度計及其性能的需求日益提升
    的頭像 發表于 05-12 08:02 ?3515次閱讀

    谷景助力智能家電升級:更小體積,更大功率

    隨著科技的快速發展與進步,智能家電行業對電感器的性能 要求也越來越高。在面對尺寸更小、功率更大的挑戰時,谷景技術團隊憑借創新的磁芯配方和精準的選型匹配,成功助力客戶完成了對智能家電應用電感方案
    的頭像 發表于 05-11 10:39 ?372次閱讀

    LoRa無線模塊高性能之王

    高速、高穩定性、工業級、集無線收發于一體的射頻收發模塊。它就是澤耀科技A32-S系列——SX126X全新升級方案,新一代LoRa擴頻技術,SX127X方案體積更小、功耗更低、速度
    的頭像 發表于 04-26 08:09 ?851次閱讀
    LoRa無線模塊高性能之王

    如何在速度更快、尺寸更小的應用中精確檢測電機位置?

    本文介紹工業自動化領域的設計人員在設計用于電機控制的位置檢測接口時面臨的常見問題,即在速度更快、尺寸更小的應用中檢測位置。利用從編碼器捕獲的信息以便精確測量電機位置對于自動化和機器設備的成功運行很重
    的頭像 發表于 04-12 08:24 ?721次閱讀
    如何在<b class='flag-5'>速度</b><b class='flag-5'>更快</b>、尺寸<b class='flag-5'>更小</b>的應用中精確檢測電機位置?

    Microchip推出容量更大、速度更快的串行SRAM產品線

    為滿足客戶對更大更快的SRAM的普遍需求,MicrochipTechnology(微芯科技公司)擴展了旗下串行SRAM產品線,容量最高可達4Mb,并將串行外設接口/串行四通道輸入/輸出接口(SPI
    的頭像 發表于 04-12 08:23 ?434次閱讀
    Microchip推出容量更大、<b class='flag-5'>速度</b><b class='flag-5'>更快</b>的串行SRAM產品線

    Microchip推出容量更大、速度更快的串行 SRAM產品線

    該產品線提供了并行SRAM的低成本替代方案,容量高達 4 Mb,具有143 MHz SPI/SQI? 通信功能 ? 為滿足客戶對更大更快的 SRAM 的普遍需求,Microchip
    發表于 04-03 15:24 ?1214次閱讀

    寧德時代正在與特斯拉合作研發充電速度更快的電池

    近日,寧德時代董事長曾毓群在接受采訪時透露,寧德時代正在與特斯拉合作研發充電速度更快的電池。
    的頭像 發表于 03-29 10:00 ?521次閱讀
    主站蜘蛛池模板: 国产精华av午夜在线观看 | 久久精品亚洲AV高清网站性色 | 亚洲 日本 天堂 国产 在线 | 欧式午夜理伦三级在线观看 | 思思久99久女女精品 | 在线视频网站www色 在线视频免费国产成人 | 久草视频在线观看免费4 | 国产精品一久久香蕉国产线看 | 欧美亚洲另类热图 | 无码区国产区在线播放 | 亚洲最大在线视频 | 日韩 无码 手机 在线 | 99精品电影一区二区免费看 | CHINA中国东北GURMA | 99久久久无码国产精品免费人妻 | 99精品亚洲| 国产看午夜精品理论片 | 大中国免费视频大全在线观看 | 亚洲精品乱码8久久久久久日本 | 国产成人 免费观看 | 亚洲乱亚洲乱妇13p 亚洲乱色视频在线观看 | 国产成人小视频在线观看 | 国产精品久久久久久久久LI无码 | 亚洲高清免费在线观看 | 久久极品视频 | 亚洲精品国产高清嫩草影院 | jizz非洲| 精品欧美一区二区三区久久久 | 黄色888 | 97视频在线观看免费播放 | 亚洲高清视频网站 | 男助理憋尿PLAY灌尿BL出去 | 国产精品外围在线观看 | 久久国产香蕉 | 在线自拍综合亚洲欧美 | oldgrand欧洲老妇人 | 蜜臀AV久久国产午夜福利软件 | 麻豆精品无码久久久久久久久 | 欧美最猛黑人XXXXWWW | 久久免费资源福利资源站 | 日本学生VIDEOVIDEOS更新 日本性xxx |