李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

机器之心發表於2020-08-31

自谷歌 BERT 模型問世以來,各式各樣的 BERT 變體模型在自然語言理解任務上大顯身手。近日,位元組跳動 AI 實驗室李航等研究者提出了一種新型多粒度 BERT 模型,該模型在 CLUE 和 GLUE 任務上的效能超過了谷歌 BERT、Albert、XLNet 等。

BERT 等預訓練語言模型在自然語言理解(Natural Language Understanding, NLU)的許多工中均表現出了卓越的效能。

可以看到,模型中的 token 通常是細粒度的,對於像英語這樣的語言,token 是單詞或子詞;對於像中文這樣的語言,則是單個漢字。例如在英語中有多個單詞表示式構成的自然詞彙單元,因此使用粗粒度標記化(tokenization)似乎也是合理的。實際上,細粒度和粗粒度標記化對於學習預訓練語言模型都各有利弊。

近日,位元組跳動 Xinsong Zhang、李航兩位研究者在細粒度和粗粒度標記化的基礎上,提出了一種新的預訓練語言模型,他們稱之為 AMBERT(一種多粒度 BERT)。在構成上,AMBERT 具有兩個編碼器。

對於英文,AMBERT 將單詞序列(細粒度標記)和短語序列(粗粒度標記)作為標記化後的輸入,其中使用一個編碼器處理單詞序列,另一個編碼器處理短語序列,並利用兩個編碼器之間的共享引數,最終分別建立單詞和短語的上下文表示序列。

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

論文連結:https://arxiv.org/pdf/2008.11869.pdf

研究團隊已經在一些中文和英文的基準資料集(包括 CLUE、GLUE、SQuAD 和 RACE)上進行了實驗。實驗結果表明,AMBERT 的效能幾乎在所有情況下都優於現有的最佳效能模型。尤其是對於中文而言,AMBERT 的提升效果顯著。

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

我們首先看一下中英文任務中細、粗粒度模型層的注意力圖。

下圖 1 顯示了適用於中英文句子的細粒度模型的首層注意力圖。可以看到,某些 token 不恰當地出現在句子的其他 token 上。

例如在英文句子中,「drawing」、「new」和「dog」分別對「portrait」、「york」和「food」這幾個詞有高注意力權重,但這是不合適的。而在中文句子中,漢字「拍」、「北」和「長」分別對「賣」「京」「市」有高注意力權重,這也是不合適的。

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

下圖 2 顯示了中英文相同句子粗粒度模型的首層注意力圖。

在英文句子中,單片語成的短語包括「drawing room」、「york minister」和「dog food」,前兩個句子中的注意力是恰當的,但最後一個句子則因為不正確的標記化而出現了不恰當的注意力。類似地,在中文句子中,高注意力權重的「球拍(bat)」和「京城(capital)」都是合理的,但「市長(mayor)」不合理。但請注意:錯誤的標記化是不可避免的。

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

接下來詳細解讀 AMBERT 模型的細節和實驗結果。

AMBERT 模型

研究者在下圖 3 中給出了 AMBERT 的整體框架。AMBERT 以文字作為輸入,其中,文字要麼是單個文件中的長序列,要麼是兩個不同文件中兩個短序列的級聯。接著在輸入文字上進行標記化,以獲得細、粗粒度的 token 序列。

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

AMBERT 模型整體框架

具體來說,AMBERT 具有兩個編碼器,分別用於處理細、粗粒度 token 序列。每個編碼器具有與 BERT(Devlin 等人,2018)或 Transformer 編碼器(Vaswani 等人,2017)完全相同的架構。

此外,兩個編碼器在每個對應層共享相同的引數,但兩者的嵌入引數不同。細粒度編碼器在對應層上從細粒度 token 序列中生成上下文表示,而粗粒度編碼器在對應層上從粗粒度 token 序列中生成上下文表示。

最後,AMBERT 分別輸出細、粗粒度 token 的上下文表示序列。

預訓練

AMBERT 的預訓練主要基於掩碼語言建模(mask language modeling, MLM)進行,並從細、粗粒度兩個層面展開。出於比較的目的,研究者在實驗中只使用了預測下一個句子(next sentence prediction, NSP)。

預訓練過程被定義為以下函式的最佳化:

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

微調

在分類任務上的 AMBERT 微調中,細、粗粒度編碼器分別建立特定的 [CLS] 表示,並且這些表示都用於分類任務。微調過程被定義為以下函式的最佳化:

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

類似地,我們可以對跨度檢測(span detection)任務上的 AMBERT 進行微調,其中細粒度 token 的表示與對應粗粒度 token 的表示實現了級聯。

替代模型

研究者還提出了 AMBERT 的兩種替代模型 AMBERT-Combo 和 AMBERT-Hybrid,它們也依賴於多粒度的標記化。研究者在實驗部分也將三者進行了比較。

實驗

在實驗部分,研究者分別在中英文基準資料集上,將 AMBERT 與細、粗粒度 BERT 基線以及 AMBERT-Combo 和 AMBERT-Hybrid 替代模型進行了比較。

中文任務

下表 1 展示了分類任務的結果。可以看到,AMBERT 將 BERT 基線方法的平均得分提升了約 1.0%,並且其效能優於 AMBERT-Combo 和 AMBERT-Hybrid 替代模型。

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

下表 2 展示了機器閱讀理解(Machine Reading Comprehensive, MRC)任務上的結果。可以看到,AMBERT 將 BERT 基線的平均得分提升了約 3.0%。

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

此外,研究者還在 CLUE 排行榜上將 AMBERT 與當前最優模型進行了比較,結果如下表所示:

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

英文任務

研究者在 GLUE 任務上將 AMBERT 與 BERT 模型以及 AMBERT-Combo、AMBERT-Hybrid 替代模型進行了比較。Google BERT 的結果出自原論文,Our BERT 的結果由研究者獲得。

如下表 4 所示,AMBERT 在大多數任務上的效能優於其他模型,並且 AMBERT 等多粒度模型能夠取得優於單粒度模型的結果。在多粒度模型中,AMBERT 在引數和計算量更少的情況下依然實現了最佳效能。

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

研究者在 SQuAD 任務上將 AMBERT 與其他 BERT 模型進行了比較。Google BERT 結果出自原論文或者由研究者使用官方程式碼執行獲得。

如下表 5 所示,AMBERT 在 SQuAD 任務上顯著優於 Google BERT。Our BERT (word)通常表現良好,Our BERT (phrase) 在跨度檢測任務上表現糟糕。

此外,在 RACE 任務上,AMBERT 在所有開發集和測試集的基線中表現最好。

AMBERT 是最佳的多粒度模型。

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著


最後,研究者在 GLUE 和 MRC 任務上將 AMBERT 與 SOTA 模型進行了比較,結果如下表 6 所示:

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

案例研究

研究者對 BERT 和 AMBERT 的結果進行了定性研究,結果如下表 7 所示,研究者給出了蘊含任務 QNLI 和 CMNLI 的一些隨機示例。其中數值「0」表示有蘊含關係,數值「1」表示無蘊含關係。WORD/PHRASE 表示 Our BERT 的詞或者短語。

李航等提出多粒度AMBERT模型,CLUE、GLUE上優於BERT,中文提升顯著

相關文章