ACL2021 | 多粒度輸入信息不降低推理速度,騰訊看點(diǎn)提出高效預(yù)訓(xùn)練方法LICHEE
既能利用多粒度輸入信息,又不降低推理速度,騰訊看點(diǎn)等機(jī)構(gòu)的研究者在一篇 ACL 論文中提出了一種高效的語(yǔ)言模型預(yù)訓(xùn)練方法荔枝 LICHEE。經(jīng)過(guò)半年多的摸索改進(jìn),荔枝 LICHEE 同時(shí)登頂 CLUE 分類(lèi)榜單、閱讀理解榜單、總榜單,其相關(guān)的技術(shù)創(chuàng)新也被 ACL 2021 錄用。
近日,騰訊看點(diǎn) NLP 內(nèi)容算法專(zhuān)家郭偉東在機(jī)器之心舉辦的 ACL 論文分享會(huì)上對(duì)此研究進(jìn)行了解讀,歡迎大家瀏覽視頻。
基于大型語(yǔ)料庫(kù)的語(yǔ)言模型預(yù)訓(xùn)練在構(gòu)建豐富的上下文表示方面已經(jīng)取得了巨大的成功,也在一系列自然語(yǔ)言理解任務(wù)中實(shí)現(xiàn)了顯著的性能提升。然而,現(xiàn)有的預(yù)訓(xùn)練語(yǔ)言模型(如 BERT)大多是基于單粒度訓(xùn)練而成的,通常伴隨細(xì)粒度的字符或 sub-word,這使其很難學(xué)習(xí)粗粒度詞匯和短語(yǔ)的準(zhǔn)確含義 。
為了得到更加準(zhǔn)確的模型,部分研究者試圖通過(guò)在預(yù)訓(xùn)練階段 mask 連續(xù) token 的序列,將粗粒度信息納入到用細(xì)粒度分詞訓(xùn)練的模型中。還有研究者提出了一種可以處理多粒度輸入文本的模型——AMBERT。它利用兩個(gè)具有共享權(quán)重的編碼器將細(xì)粒度 token 和粗粒度 token 分別編碼為兩個(gè)上下文表示序列。雖然 AMBERT 效果不錯(cuò),但它的推理成本卻比原始 BERT 高了一倍左右,這在業(yè)界的很多場(chǎng)景下都是不可接受的。
為了得到更加準(zhǔn)確的模型,主要的研究方向分為兩類(lèi):
在 MASK 層引入粗粒度信息,如 whole word mask 或者 ERNIE 1.0;
在嵌入層引入粗粒度信息,如 ZEN 何 AMBert。
前者的好處是不需要修改模型,只需要在數(shù)據(jù)預(yù)處理階段對(duì)整個(gè)詞做連續(xù) mask 就好,缺點(diǎn)是沒(méi)有充分使用文本中的詞信息(沒(méi)有 mask 的詞依然會(huì)使用字粒度)。后面的 ERINIE-gram 直接把詞作為整體進(jìn)行預(yù)測(cè),會(huì)導(dǎo)致最后 softmax 層效率極大降低,導(dǎo)致訓(xùn)練周期變長(zhǎng)。后者的好處是充分使用了全文的詞信息,但是缺點(diǎn)是引入了額外的計(jì)算邏輯,導(dǎo)致效率降低。以 AMBERT 為例,它利用兩個(gè)具有共享權(quán)重的編碼器將細(xì)粒度 token 和粗粒度 token 分別編碼為兩個(gè)上下文表示序列。雖然 AMBERT 效果不錯(cuò),但它的推理成本卻比原始 BERT 高了一倍左右,這在業(yè)界的很多場(chǎng)景下都是不可接受的。
在這篇 ACL 論文中,來(lái)自騰訊看點(diǎn)和阿爾伯塔大學(xué)的研究者提出了一種簡(jiǎn)單但高效的預(yù)訓(xùn)練方法——荔枝 LICHEE。該方法可以在預(yù)訓(xùn)練階段有效利用多種粒度的輸入信息來(lái)增強(qiáng)預(yù)訓(xùn)練語(yǔ)言模型(PLM)的表示能力。
論文鏈接:https://arxiv.org/pdf/2108.00801.pdf
與 AMBERT 不同的是:AMBERT 利用兩個(gè)編碼器編碼細(xì)粒度和粗粒度 token,這使得推理成本大大增加;但在 LICHEE 中,輸入文本的多粒度信息融合發(fā)生在嵌入層,不需要改變 PLM 原有的模型結(jié)構(gòu),因此幾乎不會(huì)帶來(lái)額外的推理開(kāi)銷(xiāo)。
具體來(lái)說(shuō),LICHEE 首先會(huì)將輸入文本處理成細(xì)粒度和粗粒度 token。然后,這些 token 會(huì)被傳送到兩個(gè)嵌入層,生成對(duì)應(yīng)的向量表示。接下來(lái),兩種向量表示通過(guò)池化操作進(jìn)行融合,形成多粒度嵌入向量,作為 PLM 編碼器的輸入。最后,我們得到由 PLM 編碼器生成的增強(qiáng)上下文表示(包含細(xì)粒度和粗粒度信息)并將其用于下游任務(wù)。
在 CLUE 和 SuperGLUE 上進(jìn)行的實(shí)驗(yàn)表明,該方法在中、英兩種語(yǔ)言的多個(gè)自然語(yǔ)言理解任務(wù)中都能帶來(lái)全面的性能提升,而且?guī)缀醪辉黾宇~外的推理成本。采用該方法的最優(yōu)集成模型在 CLUE 基準(zhǔn)上實(shí)現(xiàn)了 SOTA 性能。
此外,使用荔枝做特征抽取器,在詞法分析任務(wù) CLUENER 和千言數(shù)據(jù)集文本相似度任務(wù)上取得了超越其他模型的結(jié)果。
在機(jī)器之心 7 月 31 日舉辦的 ACL 2021 論文分享會(huì)上,本文第一作者、騰訊看點(diǎn) NLP 內(nèi)容算法專(zhuān)家郭偉東詳細(xì)介紹了他們的這項(xiàng)研究成果,感興趣的同學(xué)可以點(diǎn)擊閱讀原文查看回顧視頻。
方法概覽
下圖 1 顯示了 LICHEE 的框架。它利用多粒度輸入信息來(lái)增強(qiáng)預(yù)訓(xùn)練語(yǔ)言模型的表示能力。
該框架以文本序列作為輸入,它們被分解為 token 序列。在這篇論文中,研究者選擇保留兩個(gè)詞匯,并用兩個(gè)分詞器執(zhí)行細(xì)粒度和粗粒度分詞,詞匯中的 item 是基于它們?cè)陬A(yù)訓(xùn)練語(yǔ)料庫(kù)中的 token 頻率來(lái)選擇的。此外,「細(xì)粒度」和「粗粒度」的定義因語(yǔ)言而異。例如,在英文中,詞匯和短語(yǔ)通常分別被用作細(xì)粒度和粗粒度 token。但在中文中,細(xì)粒度和粗粒度 token 就要對(duì)應(yīng)漢字和詞匯。
在論文中,對(duì)于一個(gè)給定的輸入文本序列 T,研究者用表示第 i 個(gè)細(xì)粒度 token;用來(lái)表示一個(gè)粗粒度 token,這個(gè) token 由 j 和 k 之間的細(xì)粒度 token 組成。比如說(shuō),在圖 1 中,粗粒度 token「 New York Times 」由第一、第二和第三個(gè)細(xì)粒度 token 組成,并表示為分詞之后,研究者利用兩個(gè)獨(dú)立的嵌入層將分解之后的 token 映射為它們的向量表示。具體來(lái)說(shuō),每個(gè)細(xì)粒度的 token被傳遞到一個(gè)細(xì)粒度嵌入層,以產(chǎn)生該 token 的細(xì)粒度嵌入向量,其中的 d 表示該細(xì)粒度嵌入的維數(shù)。類(lèi)似的,通過(guò)將 token饋入粗粒度嵌入層,可以得到擁有相同維度 d 的粗粒度嵌入。公式如下:
對(duì)于每個(gè) token ,研究者通過(guò)執(zhí)行一個(gè)最大池化操作來(lái)構(gòu)建其多粒度嵌入向量。公式如下:
其中, j ≤ i ≤ k。注意,d 等于單粒度 PLM 的原始嵌入維數(shù),以證明性能增益是由于引入了多粒度信息,而不是修改了模型結(jié)構(gòu)造成的。
最后,將組合嵌入向量饋入 PLM 編碼器,以構(gòu)建最終的、借助多粒度信息增強(qiáng)的上下文表示。公式如下:
實(shí)驗(yàn)結(jié)果
中文任務(wù)
如下表 1 所示,研究者在三個(gè)預(yù)訓(xùn)練語(yǔ)言模型(BERT、ALBERT 和 GPT)上采用了本文中提出的多粒度預(yù)訓(xùn)練方法,并在 CLUE 排行榜上比較了這些模型和它們的單粒度基線。從結(jié)果可以看出,通過(guò)利用文本輸入的多粒度信息,荔枝 LICHEE 實(shí)現(xiàn)了明顯的性能提升。
為了進(jìn)一步探索荔枝 LICHEE 的潛力,研究者將其應(yīng)用到了一個(gè)基于 BERT-large 的集成模型上,并在 CLUE 基準(zhǔn)上進(jìn)行了評(píng)估。如下表 2 所示,LICHEE 在 CLUE 9 項(xiàng)任務(wù)中的平均分明顯高于其他平臺(tái),還在 IFLYTEK、CSL 兩項(xiàng)自然語(yǔ)言理解任務(wù)上取得了 SOTA 結(jié)果。這一表現(xiàn)進(jìn)一步證明了 LICHEE 能夠顯著提高語(yǔ)言模型的表示能力,并且對(duì)大量下游 NLU 任務(wù)普遍有效。
為了評(píng)估多粒度設(shè)計(jì)的影響,并對(duì)多粒度嵌入的不同集成方法進(jìn)行全面的分析,研究者還在 CLUE 基準(zhǔn)上進(jìn)行了消融分析。下表 3 列出了不同訓(xùn)練策略下模型變量的表現(xiàn),包括兩種單粒度方法和五種多粒度方法。從中可以看出,有最大池化加持的荔枝 LICHEE 平均分高于其他所有方法,在 3 項(xiàng) CLUE 任務(wù)中達(dá)到了最高分?jǐn)?shù)。
英文任務(wù)
為了評(píng)估 荔枝 LICHEE 在英文任務(wù)中的表現(xiàn),并將其與單粒度基線 BERT-WWM 進(jìn)行比較,研究者在 SuperGLUE 基準(zhǔn)上進(jìn)行了實(shí)驗(yàn)。
如下表 4 所示,用荔枝 LICHEE 方法預(yù)訓(xùn)練的 BERT 模型在 8 項(xiàng) SuperGLUE 任務(wù)中都超越了單粒度基線 BERT-WWM,平均分比后者高出 1.89。這一結(jié)果表明,荔枝 LICHEE 的有效性很大程度上歸功于其多粒度表示的信息增益,而不僅僅是 token 邊界信息。
推理速度
除了荔枝 LICHEE 在中、英語(yǔ)言任務(wù)中的表現(xiàn),研究者還探索了其推理速度。并將其與原始的單粒度 BERT 和另一種多粒度方法 AMBERT 進(jìn)行了比較。
下圖 5 給出了在序列長(zhǎng)度為 512 的二分類(lèi)任務(wù)上測(cè)試的 FLOP 和加速結(jié)果比較。
可以看出,AMBERT 的 FLOP 是 87.0B,比單粒度 BERT 高出一倍,這意味著推理時(shí)間也增加一倍。對(duì)于很多現(xiàn)實(shí)世界的應(yīng)用來(lái)說(shuō),這通常是不可接受的。相比之下,荔枝 LICHEE 的 FLOP 僅為 43.5B,比單粒度基線高出的部分幾乎可以忽略不計(jì),因?yàn)槎喑鰜?lái)的操作只包括粗粒度 token 的一個(gè)嵌入查找操作和集成細(xì)粒度與粗粒度嵌入向量的最大池化操作。所以總的來(lái)說(shuō),荔枝 LICHEE 可以實(shí)現(xiàn)顯著的性能提升,而無(wú)需額外的推理時(shí)間。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。
交換機(jī)相關(guān)文章:交換機(jī)工作原理