成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

內存用量1/20,速度加快80倍,QQ提全新BERT蒸餾框架,未來將開源

新聞 前端
騰訊 QQ 團隊研究員對 BERT 進行了模型壓縮,在效果損失很小的基礎上,LTD-BERT 模型大小 22M,相比于 BERT 模型內存、存儲開銷可降低近 20 倍

騰訊 QQ 團隊研究員對 BERT 進行了模型壓縮,在效果損失很小的基礎上,LTD-BERT 模型大小 22M,相比于 BERT 模型內存、存儲開銷可降低近 20 倍,運算速度方面 4 核 CPU 單機可以預測速度加速 80 余倍。相關代碼和更多結果將在近期開源。

BERT 已經被驗證是解決口語化短文本語義量化的極為有效的工具,對于口語化人機交互系統如 FAQ、語音助手等產品意義重大。但受限于模型的高復雜度和高計算量,其產業線上應用進展不如預期,尤其很難滿足像 QQ、QQ 空間等億級用戶量產品對性能的需求。

為了解決這個問題,QQ 團隊研究人員提出了 Learning to Distill BERT (LTD-BERT) 的模型對 BERT 進行了模型壓縮,在效果損失很小的基礎上,LTD-BERT 模型大小 22M,相比于 BERT 模型內存、存儲開銷可降低近 20 倍,運算速度方面 4 核 CPU 單機可以預測速度加速 80 余倍。另外,LTD-BERT 也被驗證在下游任務可以保持與 BERT 近似的效果,包括相似度計算、短文本分類、短文本聚類等,其應用場景包括但不限于語義匹配、意圖識別、文本聚類分析等。

據機器之心了解,從 2019 年 8 月份在騰訊內部開源至今,LTD-BERT 的效果已經在 QQ、騰訊新聞、騰訊游戲、騰訊看點、騰訊健康等服務海量用戶的產品的實際任務中得到驗證,確保算法擁有足夠的泛化能力和實用性。

此外,該團隊還表示 LTD-BERT 相關代碼和更多結果將在近期開源。 簡介 2018 年底 Google 提出并開源了 BERT(Bidirectional Encoder Representation from Transformers),對 NLP 的影響已經綿延至今,非常多的 NLP 公開任務都被基于預訓練 BERT 的工作刷榜,在工業界大家也逐漸的直接或通過 finetuning 將 BERT 運用到實際業務當中。

但是在這個過程中讓大家非常頭疼的事情就是因為超大的參數量,BERT 的運算速度和資源開銷是很難權衡的問題。GPU 上線速度較快,但是成本很高;CPU 上線的話運算速度較慢,需要做大量的底層優化工作。 為了解決這個問題,QQ 研究團隊提出了一種基于知識蒸餾的方法,在盡可能保證預訓練 BERT 具備的文本理解能力不丟失的前提下,可以大大降低模型規模,提高預測速度。QQ 研究團隊主要針對的是基于從 BERT 得到的 sentence embedding 去完成更上層任務的需求,這也能滿足當前對于 BERT 的大部分的需求,囊括了文本分類、文本聚類、相似度計算等等。當然,word-level 的壓縮也可以以近似的方法去實現。

內存用量1/20,速度加快80倍,QQ提全新BERT蒸餾框架,未來將開源

圖 1. BERT 的輸入和嵌入(取自 [1]) Bert 中帶權重的句嵌入 既然要基于 BERT 的 sentence embedding 去做擬合,那第一步要確定如何獲得 BERT 的 sentence embedding。如上圖所示,BERT 對一個完整的句子會加入 [CLS] 用于針對句子層面的上層任務和 [SEP] 作為句子分隔符,通常的做法是用 [CLS] 所在位置的 vector 作為 sentence embedding。因為 [CLS] 參與到了句子層面「句對二元關系預測-是否是下一句」的預訓練任務中,所以 [CLS] 位置是能一定程度反映句子的語義的,至少可以反應語句整體的 topic。另一種常用的方法是 averaging 每個字(中文)在 context 下的 embedding 來代表句子,這是在 word embedding 層面經常使用的方法。 但是其實通常來講,尤其是針對句子層面的任務而言,一個句子的信息更多是依靠 keywords 來提供的,因此 QQ 研究人員提出了利用 IDF 值給句子中字的權重進行加權的方式來獲取 BERT 的句向量,在試驗中也取得了更好的效果。 具體做法是:

首先,在大量文本上,用某個分詞工具分詞,計算得到詞語粒度的 IDF,即:

內存用量1/20,速度加快80倍,QQ提全新BERT蒸餾框架,未來將開源


然后,對任意一個句子分詞后,可得到其每個詞語的 weight(即這個詞語的 IDF)。不過,鑒于 BERT 得到的是字向量,在此用該詞語的權重除以詞語長度得到字的權重。最后,每個字的權重加上平滑項,再用每個字的權重除以整個句子所有權重和,得到每個字最終的權重。 在計算得到句子中每個字的權重后,然后對字的 BERT 向量加權求和,得到加權句向量,即

內存用量1/20,速度加快80倍,QQ提全新BERT蒸餾框架,未來將開源

 

為什么不直接對字進行權重計算主要是考慮字的語義通常不夠明確,且在依賴上下文的同時還依賴組詞,那么對于詞的 IDF 值更具有實際意義。另外,加權的方式另一種考量是對于具體的任務擁有足夠的適配能力,可以通過權重的調整來關注到具體任務更關心的詞語。 LTD-BERT 知識蒸餾是一種模型壓縮的常見方法,是 14 年 Hinton 提出的 [2]。其在 Teacher-Student 框架中,將一些復雜、學習能力強的網絡學到的特征表示「知識」蒸餾出來,傳遞給參數量小、學習能力弱的網絡。常見的蒸餾一般把 Teacher 和 Student 作用在同樣的問題上,可以提供 Student 在 one-shot label 上學不到的 soft label 信息,這些里面包含了類別間信息,以及 Student 小網絡學不到而 Teacher 網絡可以學到的特征表示『知識』,所以一般可以提高 Student 網絡的精度 [3]。 之前已經提出的一些蒸餾方法 [5,6,7,8],多數是針對文本分類、語義匹配、序列標注等任務上,把 BERT 作為 Teacher,直接將標準的蒸餾過程實施起來,或在此基礎上改進 Student 的學習目標。

如下圖 2 中所示的 BERT 訓練流程,這部分工作更關注在右側 Supervised 部分。而 BERT 的突破很大程度上依賴與圖中左邊弱監督過程中從大量文本數據學習到的語義建模能力,因此這里 LTD-BERT 的初衷是希望 Student 模型能夠將這部分能力蒸餾過來,所以不對 Student 網絡建立目標任務,Student 的目標僅為擬合 Teacher 網絡的 sentence vector,不再去關注 Teacher 網絡的預訓練任務。通過合適的 loss function 設計,實驗驗證簡單的 Student 網絡可以較好的擬合 BERT 產生的句向量,并運用于各類 Task。

內存用量1/20,速度加快80倍,QQ提全新BERT蒸餾框架,未來將開源

圖 2. BERT 適用在 NLP 任務上的流程.(取自 [4]) Distilling 流程及架構 整個 BERT 壓縮的過程分成幾個部分,首先對輸入的句子做一定的清洗(BERT 本身也有一定的清洗過程),然后如前文提到字層面的 weight 計算需要分詞、計算/獲取 weight、均攤到 character(如下圖中 preprocessing 所示)。經歷完預處理后,得到了單字列表和每個字對應的權重,也就是 Learning to Distilling 過程的輸入。 訓練過程一方面用預訓練的 BERT(Google 開源的中文預訓練模型)給句子建模,并通過加權平均得到 BERT vector(如圖中 training 階段中的右側部分所示);另一方面,使用簡易的序列模型(本文介紹結果是以 LSTM 為例)同樣的方式給句子建模,得到每個字在 context 下的語義,并使用同樣的 weight 得到 sentence embedding,進而使用基于向量距離的 loss function 進行訓練。通過百萬級數據上的向量擬合訓練,得到了一個規模只有 BERT 1/20 大小的 LTD-BERT 模型來為句子構建句向量。該句向量可以直接用于語句相似度計算、基于語義的文本聚類,另外 LTD-BERT 也可以像 BERT 一樣在實際任務上 finetune 來獲得更好的目標數據上的適應性。 這里 QQ 團隊提出的方法只優化了最后句子的向量,因為使用的是序列模型來作為 LTD-BERT 的基準模型,原理上是可以直接用這個流程擬合 BERT 給每個漢字的建模結果。但是沒有這樣做一方面是直接擬合已經可以獲得效果不錯的 sentence embedding;另一方面是擬合的過程是使用的預生成的 BERT based sentence embedding,如果存下每個詞的向量存儲開銷是巨大的,如果不進行預生成那訓練速度會被 BERT 的 inference 速度 block。

內存用量1/20,速度加快80倍,QQ提全新BERT蒸餾框架,未來將開源

圖 3. LTD-BERT 訓練過程

LTD Student 模型結構

內存用量1/20,速度加快80倍,QQ提全新BERT蒸餾框架,未來將開源

圖 4. LTD-BERT 的 Student 模型 這里詳細介紹一下當前使用的 Student 模型(即 LTD-BERT)的模型結構,這里基本是一個 standard 的雙向 LSTM,在字 embedding 之上構建正向和逆向的 LSTM 獲取上文語義和下文語義下一個漢字的語義,然后使用與 BERT 同樣的 weights(圖中 w)做 weighted sum,得到一個與 BERT dimension 一樣的 vector。這里需要使用雙向 LSTM 是因為 BERT 預訓練任務對于每個詞構建上下文感知的表示,保持建模過程的一致性才能保證更好的擬合效果,因此這里 LTD-BERT 基礎模型的唯一限制是需要在為每個漢字建模的時候提供上下文語義的建模,QQ 研究團隊也試驗了不滿足這個假設的基礎模型,效果會大打折扣。 效果

從 2019 年 8 月份在騰訊內部開源至今,LTD-BERT 的效果已經在如下業務:QQ、騰訊新聞、騰訊游戲、騰訊看點、騰訊健康等海量用戶產品線的上得到驗證,包括文本分類、語義匹配、文本聚類等任務,確保算法擁有足夠的泛化能力和實用性。具體的任務上,本文選取了一些有代表性的對比數據說明模型的效果,因為涉及具體,這里主要用「類別個數+數據量+數據類型+評測標準」來區分數據的特點。 文本分類

內存用量1/20,速度加快80倍,QQ提全新BERT蒸餾框架,未來將開源

語義匹配

內存用量1/20,速度加快80倍,QQ提全新BERT蒸餾框架,未來將開源

 

總結來說,在任意句子層面的任務上,該方法的方法可以提供一個規模很小的 LSTM 模型來替代 BERT,無差別的進行使用。并且實驗發現當數據量相對較少,尤其是業務數據常見的幾 k~幾十 k 規模上,LTD-BERT 要明顯優于 LSTM 以及前文提到的蒸餾算法,并且效果也更加接近 BERT,通常配合上一些其他的邏輯或者簡單方法可以與 BERT 持平,甚至更優于單獨 BERT 的效果。尤其對于資源有限或者業務量較大的業務來講可以有效解決已經嘗到 BERT 很香卻只能線下看看的問題。

另外,QQ 團隊也做了一些公開任務上的測試,以更好對比,后續會將代碼開源,并在開源項目中陸續放出更多實驗結果。另外,現在 NLP 飛速發展的時代,也會有很多相關的工作思路在一個階段發展起來。在內部使用 LTD-BERT 的同時,也看到了 DistillBERT[9] 和 Tiny-BERT[10] 陸續推出,這兩個工作跟 LTD-BERT 的出發點有一致之處,都是關注在圖 2 的左邊部分,大層面的不同之處主要有兩點:

1. LTD-BERT 關注在預訓練的模型上,DistillBERT 和 Tiny-BERT 關注在預訓練過程中引入蒸餾;

2,LTD-BERT 關注不依賴 Transformer 或者 BERT 結構的蒸餾過程,探索更小算量的可能性。

【編輯推薦】

2019年非常適合C/C++開發人員的IDE

Github標星5300+,專門為程序員開發文檔開源管理系統,我粉了

上線不到1年:微軟宣布取消95/5%開發者分成計劃

JetBrains推出編程字體Mono:更適合程序開發人員

性能提升最高120倍!滴滴實習生提出自動結構化減枝壓縮算法框架

【責任編輯:張燕妮 TEL:(010)68476606】

 

 

責任編輯:張燕妮 來源: 機器之心
相關推薦

2020-02-28 09:26:54

PythonGo語言C語言

2024-11-01 20:25:28

2011-09-11 02:58:12

Windows 8build微軟

2009-05-06 16:36:00

Zend FramewZend框架PHP

2021-06-23 15:45:55

神經網絡AI算法

2014-12-01 15:32:28

開源社區云服務大數據架構

2021-06-23 18:48:05

AI

2013-01-29 10:00:55

硬盤密度硬盤硬盤存儲

2013-11-06 09:39:30

JavaScriptMVC框架

2022-04-26 15:24:03

開源框架

2017-05-11 11:30:43

MySQL查詢速度

2023-07-23 17:30:36

論文模型

2024-11-02 10:28:03

2009-07-01 15:02:56

JSP程序JSP操作

2015-06-11 14:00:58

騰訊

2025-04-14 10:58:53

Agno多模態智能體LangGraph

2021-04-08 21:20:50

甲骨文云遷移

2025-04-26 09:25:00

模型推理AI

2022-03-07 09:38:51

計算開源阿里巴巴

2015-06-12 09:51:56

挑戰速度極限
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄网站在线播放 | 欧美成年网站 | 国产在线精品一区二区三区 | 免费看国产精品视频 | 欧美一级在线免费观看 | 欧美性久久 | 国产精品久久久久久久久久久久午夜片 | 成年人在线观看 | 日韩欧美精品在线播放 | 日本久久久久久久久 | 国产一区欧美一区 | 亚洲国产成人精品久久久国产成人一区 | 欧美中文字幕一区二区三区亚洲 | 日日夜夜天天 | 男女国产网站 | 户外露出一区二区三区 | 亚洲 欧美 日韩在线 | 久久久久久亚洲精品 | 天天干亚洲 | 久久91| 四虎影视1304t| 久久中文字幕一区 | 一区在线免费视频 | 日韩成人在线观看 | 婷婷丁香在线视频 | 九九热在线观看 | 欧美lesbianxxxxhd视频社区 | 欧美日韩中文字幕在线播放 | 夜夜骑首页| 欧美三级成人理伦 | 国产一区二区在线播放 | 亚洲成人精品 | 天天干天天操天天看 | 久久精品国产免费看久久精品 | 午夜影视在线观看 | 久久亚洲精品国产精品紫薇 | 国产在线观看不卡一区二区三区 | 在线天堂免费中文字幕视频 | 91精品国产麻豆 | 日韩欧美在线观看视频 | 亚洲一区二区三区在线 |