天天看點

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

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

推出一個半月,斯坦福SQuAD問答榜單前六名都在使用BERT
然後小編就從 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(內建模型)。
推出一個半月,斯坦福SQuAD問答榜單前六名都在使用BERT

如今牢牢占據前幾名的系統幾乎都在使用 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》是怎麼寫的:

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

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 任務上取得突破的原因。

拓展閱讀:

繼續閱讀