推出一個半月,斯坦福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 任務上取得突破的原因。
拓展閱讀:
-
BERT論文:https://arxiv.org/pdf/1810.04805.pdf
-
ofollow,noindex"> 最強 NLP 預訓練模型!谷歌BERT橫掃 11 項 NLP 任務記錄