叱吒風雲的 BERT 為何敗於商業環境?

BERT 是 Google 去年發佈的自然語言處理模型,它在問答系統、自然語言推理和釋義檢測(paraphrase detection)等任務中取得了突破性的進展。由於 BERT 是公開可用的,它在研究社區中很受歡迎。BERT 的全稱是 Bidirectional Encoder Representation from Transformers,即雙向 Transformer 的 Encoder。但是,在動態的商業環境中部署基於 Transformer 的大型模型 BERT,通常會產生較差的結果。這是因為商業環境通常是動態的,並且包含了推理和訓練數據之間的連續域轉換。Intel 人工智能實驗室近日發表了一篇博文,闡述 BERT 在商用環境失敗的原因以及解決對策。

基於 Transformer 的大型神經網絡,如 BERT、GPT 和 XLNET,最近在許多自然語言處理任務取得了最先進的結果。這些模型之所以能夠獲得成功,得益於通用任務(如,語言建模)和特定下游任務之間的遷移學習。在有標記數據可用的靜態評估集上,這些模型表現十分出色。然而,在動態的商業環境中,部署這些模型卻通常會產生較差的結果。這是因為,商業環境通常是動態的,並且還包含推理和訓練數據之間的連續域轉換(例如,新主題、新詞彙或新寫作風格等)。

處理這些動態環境的傳統方法是進行連續的再訓練和驗證,但這需要持續的手動數據標記,這既耗時,又昂貴,因此不切實際。在數據稀缺的商業環境中,有望實現更好的健壯性和可伸縮性的途徑是,在微調階段將與領域無關的知識嵌入預訓練模型中。

預訓練模型在低資源環境中表現出色

實際上,許多商業設置在多個領域中運行的是相同的任務。例如,考慮兩種不同產品的情緒分析,如相機(領域 A)和筆記本電腦(領域 B),在這種情況下,用於不同領域的現有標記數據量通常很少,而且生成額外的標記數據既昂貴又不切實際。

與從頭開始訓練模型相比,預訓練模型的一個主要優勢在於,它們能夠通過使用相對較少的標記數據來適應特定任務(見圖 1)。這一優勢在實際的多域環境中具有重要作用。

叱吒風雲的 BERT 為何敗於商業環境?

圖 1:句子級情感分類任務的正確性與訓練樣本數的關係。基線藍色表示從頭開始訓練,橙線表示對預訓練 BERT 模型進行微調。來源:《將遷移學習用於小數據的自然語言處理》(Using Transfer Learning for NLP with Small Data)


但是,是什麼使這種經過微調的預訓練模型的增強功能在地數據環境中獲得成功呢?部分原因在於,在大規模的預訓練步驟中,網絡學習了句法等結構化語言特徵。由於語法是一種通用特性,因此它既是任務無關的,也是領域無關的。這種通用的“知識”有助於彌合不同任務和領域之間的差距,並通過微調步驟加以利用,以提高數據效率。

最近一篇題為《 BERT 在看什麼?》(What Does BERT Look At?) 的文章,為人們瞭解 BERT 在預訓練期間學到的東西提供了一些線索。通過對 BERT 的自注意力機制的分析,可以看出,BERT 學到了大量的語言知識。例如,BERT 的一些注意力頭(attention-heads)注意了動詞的直接賓語、名詞的限定詞,如定冠詞,甚至還有共指指稱(coreferent mention)(見圖 2)。值得注意的是,一個以無監督學習的方式訓練的模型,在沒有任何標記數據的情況下,能夠學習語言的通用方面的知識。

叱吒風雲的 BERT 為何敗於商業環境?

圖 2:左圖:BERT 在第 8 層上的注意力頭 10 注意了動詞的直接賓語。右圖:第 5 層上的注意力頭 4 注意了共指指稱。來源:《 BERT 在看什麼?》(What Does BERT Look At?)


預訓練模型能解決動態商業環境的挑戰嗎?

在一些動態的商業環境中,根本不可能會生成任何有標記的數據。請考慮這樣一個環境,其中新域經常被添加或更改。在這種情況下,不斷標記新的訓練數據,將是一項無效、且永無止境的任務。這些情況需要無監督的域適應系統,該系統使用來自一個域(源域)的現有標記數據進行訓練,然後對來自另一個域(目標域)的未標記數據進行推理。

我們觀察到,預訓練模型在有少量目標域標記數據的情況下表現出色,但在目標語沒有任何標記數據的情況下,情況會如何呢?預訓練模型在這些環境表現如何?到目前為止,使用預訓練模型與從頭開始的訓練相比,只有很小的改進(見圖 3 中的藍線和橙線)。使用標記的目標域數據(綠色條)對 BERT 進行微調,與僅使用源域數據(藍色條和橙色條)對 BERT 進行微調,或從頭開始訓練 RNN ,這三者之間的巨大差距表明,在預訓練期間,預訓練模型學習到的信息比從頭開始的訓練有所增強,但是,當

目標域中的標記數據不可用時,僅僅進行跨域擴展還是不夠的。或者更直截了當地說,無監督領域適應問題仍然遠遠不能通過僅使用源域數據的微調預訓練模型來解決。

叱吒風雲的 BERT 為何敗於商業環境?

圖 3:在基於方面的情感分析(ABSA)任務上測量的源域數據設置與目標域數據設置,在 SemEval14 的任務 4 的子任務 1 中描述。其中:橙色條表示使用源域數據(筆記本電腦評論)從頭開始訓練 RNN,並使用目標域數據(餐館評論)執行推理;藍色條表示使用源域數據對 BERT 進行微調;綠色條表示使用目標域數據對 BERT 進行微調。


資料來源:Intel 人工智能實驗室。配置:INtel Xeon E5-2600A v4 CPU @ 2.40GHz。Intel 於 2020 年 2 月 27 日完成測試。

縮小差距的一步:嵌入結構信息

那麼,為了縮小域內環境和完全跨域環境之間的差距,我們可以做些什麼呢?在 Yann LeCun 和 Christopher Manning 之間的公開討論中,Manning 認為,與缺乏結構信息的系統相比,提供結構信息可以使我們設計出從較少的數據中學到更多信息的系統,並且具有更高的抽象級別。這一觀點,得到了自然語言處理社區的廣泛支持。

事實上,最近的一系列的研究表明,使用結構信息(即句法信息),可以改進泛化模型。這種改進的泛化增強了域內設置模型的健壯性,對於跨域設置更是如此。例如,在介紹 LISA(基於語言學的自注意力,Linguistically-Informed Self-Attention)模型的最新著作中,作者表明,在跨域設置中,嵌入句法依存解析信息可以顯著提高 SRL 任務的正確性。作者將句法信息直接嵌入到 Transformer 網絡的注意力頭中,並從頭開始進行訓練。

最近的另一項研究表明,在完形填空測試任務中,使用依存關係和共指鏈作為輔助監督嵌入自注意力模型比最大的 GPT-2 模型表現得更好。其他研究表明,對共指消解(coreference resolution)和神經機器翻譯(Neural Machine Translation,NMT)等任務具有更好的泛化能力。

最近的這些進步,使我們離在數據稀缺的商業環境中實現更好的健壯性和可伸縮性更近了一步,但仍然存在一些有待解決的問題和挑戰,需要自然語言處理社區來解決。應該使用什麼類型的外部信息?這些信息應該如何嵌入預訓練模型?

結 語

大型基於 Transformer 的預訓練模型最近在許多自然語言處理任務取得了最先進的結果。這些模型是為一般的語言建模任務而訓練的,它們學習語言的一些基本結構特徵,這些特徵使它們能夠更好地跨域泛化。當給定少量標記的目標域數據時,它們在跨域設置中表現得非常好。但是,處理沒有標記的目標域數據的動態跨域設置的挑戰仍然存在。在微調階段,將外部領域無關的知識(即句法信息),嵌入到預訓練模型中,有望在數據稀缺的商業環境中實現更好的健壯性和可伸縮性。


分享到:


相關文章: