推出一個半月,斯坦福SQuAD問答榜單前六名都在使用BERT

機器之心報道

作者:李亞洲、李澤南

BERT 成爲了你做 NLP 時不得不用的模型了……嗎?

今日,機器之心小編在刷 Twitter 時,發現斯坦福自然語言處理組的官方賬號發佈了一條內容:谷歌 AI 的 BERT 在 SQuAD 2.0 問答數據集上取得了全新的表現。該賬號表示,目前榜單上的前 7 個系統都在使用 BERT 且要比不使用 BERT 的系統新能高出 2%。得分等同於 2017 年 SQuAD 1.0 版本時的得分。此外,哈工大訊飛聯合實驗室的 AoA 系統要比原 BERT 高出 2% 左右。

然後小編就從 SQuAD 2.0 榜單上發現了前六名的系統:

  • 哈工大訊飛聯合實驗室的 AoA+DA+BERT(集成)系統;
  • AoA+DA+BERT(單模型)系統;
  • 韓國創業公司 42Maru NLP 團隊的 Candi-Net+BERT(單模型)系統;
  • 谷歌 AI 的 BERT(單模型)系統;
  • Layer 6 AI 的 L6Net+BERT(單模型)系統;
  • 阿里巴巴達摩院 NLP 團隊的 SLQA+BERT(單模型)系統;
  • 金融壹賬通 Gamma 實驗室 BERT_base_aug(集成模型)。

如今牢牢佔據前幾名的系統幾乎都在使用 BERT,讓我們不得不感嘆 BERT 的影響力之大。但同時也想知道使用 BERT 時付出的計算力,畢竟 BERT 的作者在 Reddit 上也曾表示預訓練的計算量非常大,「OpenAI 的 Transformer 有 12 層、768 個隱藏單元,他們使用 8 塊 P100 在 8 億詞量的數據集上訓練 40 個 Epoch 需要一個月,而 BERT-Large 模型有 24 層、2014 個隱藏單元,它們在有 33 億詞量的數據集上需要訓練 40 個 Epoch,因此在 8 塊 P100 上可能需要 1 年?16 Cloud TPU 已經是非常大的計算力了。」

爲什麼人們拿來 BERT 都在刷 SQuAD?

斯坦福問答數據集(SQuAD)是目前機器閱讀領域的重要基準,是由衆多數據標註者從維基百科文章中提取問題形成的。回答這些問題可能需要引用相關段落中的一部分,也有一些問題是無法回答的。

2018 年 6 月,斯坦福大學推出了 SQuAD 2.0 版本。新版本在 SQuAD 1.1 版 10 萬個問題的基礎上又加入了 5 萬個新問題,新加入的內容均爲與數據標註者提出的可回答問題類似的不可回答問題。想要在 SQuAD 上取得好成績,人工智能系統必須在可行的條件下回答問題,並在確定段落內容無法支持問題時選擇不回答。對於現有模型來說,SQuAD2.0 是一項具有挑戰性的自然語言理解任務。

如此難的基準測試,看來需要更強大的模型才能通關,而 BERT 貌似成爲了當前最好的選擇。讓我們看看 BERT 的論文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》是怎麼寫的:

BERT 是一種新型語言表徵模型,意爲來自 Transformer 的雙向編碼器表徵(Bidirectional Encoder Representations from Transformers)。與此前的語言表徵模型(Peters et al., 2018; Radford et al., 2018)不同,BERT 旨在基於所有層的左、右語境來預訓練深度雙向表徵。因此,預訓練的 BERT 表徵可以僅用一個額外的輸出層進行微調,進而爲很多任務(如問答和語言推斷任務)創建當前最優模型,無需對任務特定架構做出大量修改。

BERT 的概念很簡單,但實驗效果很強大。它刷新了 11 個 NLP 任務的當前最優結果,包括將 GLUE 基準提升至 80.4%(7.6% 的絕對改進)、將 MultiNLI 的準確率提高到 86.7%(5.6% 的絕對改進),以及將 SQuAD v1.1 的問答測試 F1 得分提高至 93.2 分(提高 1.5 分)——比人類表現還高出 2 分。

我們只需要一個額外的輸出層來對預訓練 BERT 進行微調就可以用它來滿足各種任務,無需針對特定任務對模型進行修改,這就是 BERT 模型能在大量 NLP 任務上取得突破的原因。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章