2019年3月,百度正式發佈NLP模型ERNIE,其在中文任務中全面超越BERT一度引起業界普遍關注和探討。git
今天,通過短短几個月時間,百度ERNIE再升級。發佈持續學習的語義理解框架ERNIE 2.0,及基於此框架的ERNIE 2.0預訓練模型。繼1.0後,ERNIE英文任務方面取得全新突破,在共計16箇中英文任務上超越了BERT和XLNet, 取得了SOTA效果。github
目前,百度ERNIE 2.0的Fine-tuning代碼和英文預訓練模型已開源。(Github 項目地址:https://github.com/PaddlePadd...)框架
近兩年,以BERT、XLNet爲表明的無監督預訓練技術在語言推斷、語義類似度、命名實體識別、情感分析等多個天然語言處理任務上取得了技術突破。基於大規模數據的無監督預訓練技術在天然語言處理領域變得相當重要。分佈式
百度發現,以前的工做主要經過詞或句子的共現信號,構建語言模型任務進行模型預訓練。例如,BERT經過掩碼語言模型和下一句預測任務進行預訓練。XLNet構建了全排列的語言模型,並經過自迴歸的方式進行預訓練。學習
然而,除了語言共現信息以外,語料中還包含詞法、語法、語義等更多有價值的信息。例如,人名、地名、機構名等詞語概念知識,句子間順序和距離關係等結構知識,文本語義類似度和語言邏輯關係等語義知識。設想若是能持續地學習各種任務,模型的效果可否進一步提高?spa
ERNIE 2.0:持續學習語義理解框架blog
基於此,百度提出持續學習語義理解框架ERNIE 2.0。該框架支持增量引入詞彙(lexical)、語法(syntactic) 、語義(semantic)等3個層次的自定義預訓練任務,可以全面捕捉訓練語料中的詞法、語法、語義等潛在信息。這些任務經過多任務學習對模型進行訓練更新,每當引入新任務時,該框架可在學習該任務的同時,不遺忘以前學到過的信息。這也意味着,該框架能夠經過持續構建訓練包含詞法、句法、語義等預訓練任務,持續提高模型效果。教程
新發布的ERNIE 2.0模型結構token
依託該框架,百度充分藉助飛槳PaddlePaddle多機分佈式訓練優點,利用79億tokens訓練數據(約1/4的XLNet數據)和64張V100 (約1/8的XLNet硬件算力)訓練的ERNIE 2.0預訓練模型不只實現了SOTA效果,並且爲開發人員定製本身的NLP模型提供了方案。目前,百度開源了ERNIE 2.0的fine-tuning代碼和英文預訓練模型。圖片
百度研究團隊分別比較了中英文環境上的模型效果。英文上,ERNIE 2.0在天然語言理解數據集GLUE的7個任務上擊敗了BERT和XLNet。中文上,在包括閱讀理解、情感分析、問答等不一樣類型的9個數據集上超越了BERT並刷新了SOTA。
ERNIE的工做代表,在預訓練過程當中,經過構建各層面的無監督預訓練任務,模型效果也會顯著提高。將來,研究者們可沿着該思路構建更多的任務提高效果。
自2018 年預訓練語言模型BERT 提出以後,預訓練語言模型將天然語言處理的大部分任務水平提升了一個等級,這個領域的研究也掀起了熱潮。現在百度ERNIE 2.0 再度爲行業提供了研究思路上的方法創新,可持續學習的特色亦將成爲NLP領域發展里程中的註腳。
劃重點!
GitHub:https://github.com/PaddlePaddle/ERNIE
查看ERNIE模型使用的完整內容和教程,或者點擊star收藏到我的主頁
版本迭代、最新進展都會在GitHub第一時間發佈,歡迎持續關注!也歡迎你們加入ERNIE官方技術交流QQ羣:760439550,可在羣內交流技術問題,會有ERNIE的研發同窗爲你們答疑解惑。