博客專欄

EEPW首頁 > 博客 > ACL2021 | 多粒度輸入信息不降低推理速度,騰訊看點提出高效預(yù)訓(xùn)練方法LICHEE

ACL2021 | 多粒度輸入信息不降低推理速度,騰訊看點提出高效預(yù)訓(xùn)練方法LICHEE

發(fā)布人:機(jī)器之心 時間:2021-08-15 來源:工程師 發(fā)布文章

既能利用多粒度輸入信息,又不降低推理速度,騰訊看點等機(jī)構(gòu)的研究者在一篇 ACL 論文中提出了一種高效的語言模型預(yù)訓(xùn)練方法荔枝 LICHEE。經(jīng)過半年多的摸索改進(jìn),荔枝 LICHEE 同時登頂 CLUE 分類榜單、閱讀理解榜單、總榜單,其相關(guān)的技術(shù)創(chuàng)新也被 ACL 2021 錄用。

近日,騰訊看點 NLP 內(nèi)容算法專家郭偉東在機(jī)器之心舉辦的 ACL 論文分享會上對此研究進(jìn)行了解讀,歡迎大家瀏覽視頻。

基于大型語料庫的語言模型預(yù)訓(xùn)練在構(gòu)建豐富的上下文表示方面已經(jīng)取得了巨大的成功,也在一系列自然語言理解任務(wù)中實現(xiàn)了顯著的性能提升。然而,現(xiàn)有的預(yù)訓(xùn)練語言模型(如 BERT)大多是基于單粒度訓(xùn)練而成的,通常伴隨細(xì)粒度的字符或 sub-word,這使其很難學(xué)習(xí)粗粒度詞匯和短語的準(zhǔn)確含義 。

為了得到更加準(zhǔn)確的模型,部分研究者試圖通過在預(yù)訓(xùn)練階段 mask 連續(xù) token 的序列,將粗粒度信息納入到用細(xì)粒度分詞訓(xùn)練的模型中。還有研究者提出了一種可以處理多粒度輸入文本的模型——AMBERT。它利用兩個具有共享權(quán)重的編碼器將細(xì)粒度 token 和粗粒度 token 分別編碼為兩個上下文表示序列。雖然 AMBERT 效果不錯,但它的推理成本卻比原始 BERT 高了一倍左右,這在業(yè)界的很多場景下都是不可接受的。

為了得到更加準(zhǔn)確的模型,主要的研究方向分為兩類:

在 MASK 層引入粗粒度信息,如 whole word mask 或者 ERNIE 1.0;

在嵌入層引入粗粒度信息,如 ZEN 何 AMBert。

前者的好處是不需要修改模型,只需要在數(shù)據(jù)預(yù)處理階段對整個詞做連續(xù) mask 就好,缺點是沒有充分使用文本中的詞信息(沒有 mask 的詞依然會使用字粒度)。后面的 ERINIE-gram 直接把詞作為整體進(jìn)行預(yù)測,會導(dǎo)致最后 softmax 層效率極大降低,導(dǎo)致訓(xùn)練周期變長。后者的好處是充分使用了全文的詞信息,但是缺點是引入了額外的計算邏輯,導(dǎo)致效率降低。以 AMBERT 為例,它利用兩個具有共享權(quán)重的編碼器將細(xì)粒度 token 和粗粒度 token 分別編碼為兩個上下文表示序列。雖然 AMBERT 效果不錯,但它的推理成本卻比原始 BERT 高了一倍左右,這在業(yè)界的很多場景下都是不可接受的。

在這篇 ACL 論文中,來自騰訊看點和阿爾伯塔大學(xué)的研究者提出了一種簡單但高效的預(yù)訓(xùn)練方法——荔枝 LICHEE。該方法可以在預(yù)訓(xùn)練階段有效利用多種粒度的輸入信息來增強(qiáng)預(yù)訓(xùn)練語言模型(PLM)的表示能力。

1.jpg

論文鏈接:https://arxiv.org/pdf/2108.00801.pdf

與 AMBERT 不同的是:AMBERT 利用兩個編碼器編碼細(xì)粒度和粗粒度 token,這使得推理成本大大增加;但在 LICHEE 中,輸入文本的多粒度信息融合發(fā)生在嵌入層,不需要改變 PLM 原有的模型結(jié)構(gòu),因此幾乎不會帶來額外的推理開銷。

具體來說,LICHEE 首先會將輸入文本處理成細(xì)粒度和粗粒度 token。然后,這些 token 會被傳送到兩個嵌入層,生成對應(yīng)的向量表示。接下來,兩種向量表示通過池化操作進(jìn)行融合,形成多粒度嵌入向量,作為 PLM 編碼器的輸入。最后,我們得到由 PLM 編碼器生成的增強(qiáng)上下文表示(包含細(xì)粒度和粗粒度信息)并將其用于下游任務(wù)。

在 CLUE 和 SuperGLUE 上進(jìn)行的實驗表明,該方法在中、英兩種語言的多個自然語言理解任務(wù)中都能帶來全面的性能提升,而且?guī)缀醪辉黾宇~外的推理成本。采用該方法的最優(yōu)集成模型在 CLUE 基準(zhǔn)上實現(xiàn)了 SOTA 性能。

此外,使用荔枝做特征抽取器,在詞法分析任務(wù) CLUENER 和千言數(shù)據(jù)集文本相似度任務(wù)上取得了超越其他模型的結(jié)果。

2.jpg3.png

在機(jī)器之心 7 月 31 日舉辦的 ACL 2021 論文分享會上,本文第一作者、騰訊看點 NLP 內(nèi)容算法專家郭偉東詳細(xì)介紹了他們的這項研究成果,感興趣的同學(xué)可以點擊閱讀原文查看回顧視頻。

方法概覽

下圖 1 顯示了 LICHEE 的框架。它利用多粒度輸入信息來增強(qiáng)預(yù)訓(xùn)練語言模型的表示能力。

4.jpg

該框架以文本序列作為輸入,它們被分解為 token 序列。在這篇論文中,研究者選擇保留兩個詞匯,并用兩個分詞器執(zhí)行細(xì)粒度和粗粒度分詞,詞匯中的 item 是基于它們在預(yù)訓(xùn)練語料庫中的 token 頻率來選擇的。此外,「細(xì)粒度」和「粗粒度」的定義因語言而異。例如,在英文中,詞匯和短語通常分別被用作細(xì)粒度和粗粒度 token。但在中文中,細(xì)粒度和粗粒度 token 就要對應(yīng)漢字和詞匯。

在論文中,對于一個給定的輸入文本序列 T,研究者用1629031275437059.jpg表示第 i 個細(xì)粒度 token;用1629031318514095.jpg來表示一個粗粒度 token,這個 token 由 j 和 k 之間的細(xì)粒度 token 1629031341399092.jpg組成。比如說,在圖 1 中,粗粒度 token「 New York Times 」由第一、第二和第三個細(xì)粒度 token 組成,并表示為1629031367750368.jpg分詞之后,研究者利用兩個獨立的嵌入層將分解之后的 token 映射為它們的向量表示。具體來說,每個細(xì)粒度的 token1629031394591368.jpg被傳遞到一個細(xì)粒度嵌入層,以產(chǎn)生該 token 的細(xì)粒度嵌入向量1629031418288611.jpg,其中的 d 表示該細(xì)粒度嵌入的維數(shù)。類似的,通過將 token1629031459741991.jpg饋入粗粒度嵌入層,可以得到擁有相同維度 d 的粗粒度嵌入1629031483288723.jpg。公式如下:

12.jpg

對于每個 token 1629031513934147.jpg,研究者通過執(zhí)行一個最大池化操作來構(gòu)建其多粒度嵌入向量1629031534359891.jpg。公式如下:

15.jpg

其中, j ≤ i ≤ k。注意,d 等于單粒度 PLM 的原始嵌入維數(shù),以證明性能增益是由于引入了多粒度信息,而不是修改了模型結(jié)構(gòu)造成的。

最后,將組合嵌入向量1629031569579790.jpg饋入 PLM 編碼器,以構(gòu)建最終的、借助多粒度信息增強(qiáng)的上下文表示1629031593757636.jpg。公式如下:

18.jpg

實驗結(jié)果

中文任務(wù)

如下表 1 所示,研究者在三個預(yù)訓(xùn)練語言模型(BERT、ALBERT 和 GPT)上采用了本文中提出的多粒度預(yù)訓(xùn)練方法,并在 CLUE 排行榜上比較了這些模型和它們的單粒度基線。從結(jié)果可以看出,通過利用文本輸入的多粒度信息,荔枝 LICHEE 實現(xiàn)了明顯的性能提升。

19.jpg

為了進(jìn)一步探索荔枝 LICHEE 的潛力,研究者將其應(yīng)用到了一個基于 BERT-large 的集成模型上,并在 CLUE 基準(zhǔn)上進(jìn)行了評估。如下表 2 所示,LICHEE 在 CLUE 9 項任務(wù)中的平均分明顯高于其他平臺,還在 IFLYTEK、CSL 兩項自然語言理解任務(wù)上取得了 SOTA 結(jié)果。這一表現(xiàn)進(jìn)一步證明了 LICHEE 能夠顯著提高語言模型的表示能力,并且對大量下游 NLU 任務(wù)普遍有效。

20.jpg

為了評估多粒度設(shè)計的影響,并對多粒度嵌入的不同集成方法進(jìn)行全面的分析,研究者還在 CLUE 基準(zhǔn)上進(jìn)行了消融分析。下表 3 列出了不同訓(xùn)練策略下模型變量的表現(xiàn),包括兩種單粒度方法和五種多粒度方法。從中可以看出,有最大池化加持的荔枝 LICHEE 平均分高于其他所有方法,在 3 項 CLUE 任務(wù)中達(dá)到了最高分?jǐn)?shù)。

21.jpg

英文任務(wù)

為了評估 荔枝 LICHEE 在英文任務(wù)中的表現(xiàn),并將其與單粒度基線 BERT-WWM 進(jìn)行比較,研究者在 SuperGLUE 基準(zhǔn)上進(jìn)行了實驗。

如下表 4 所示,用荔枝 LICHEE 方法預(yù)訓(xùn)練的 BERT 模型在 8 項 SuperGLUE 任務(wù)中都超越了單粒度基線 BERT-WWM,平均分比后者高出 1.89。這一結(jié)果表明,荔枝 LICHEE 的有效性很大程度上歸功于其多粒度表示的信息增益,而不僅僅是 token 邊界信息。

22.jpg

推理速度

除了荔枝 LICHEE 在中、英語言任務(wù)中的表現(xiàn),研究者還探索了其推理速度。并將其與原始的單粒度 BERT 和另一種多粒度方法 AMBERT 進(jìn)行了比較。

下圖 5 給出了在序列長度為 512 的二分類任務(wù)上測試的 FLOP 和加速結(jié)果比較。

23.jpg

可以看出,AMBERT 的 FLOP 是 87.0B,比單粒度 BERT 高出一倍,這意味著推理時間也增加一倍。對于很多現(xiàn)實世界的應(yīng)用來說,這通常是不可接受的。相比之下,荔枝 LICHEE 的 FLOP 僅為 43.5B,比單粒度基線高出的部分幾乎可以忽略不計,因為多出來的操作只包括粗粒度 token 的一個嵌入查找操作和集成細(xì)粒度與粗粒度嵌入向量的最大池化操作。所以總的來說,荔枝 LICHEE 可以實現(xiàn)顯著的性能提升,而無需額外的推理時間。

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。

交換機(jī)相關(guān)文章:交換機(jī)工作原理




關(guān)鍵詞: 深度學(xué)習(xí)

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉