話題 | 如何看待谷歌最近開源的“最強NLP模型”BERT?

話不多說,直接上題

@ 醬番梨 問:

上週,谷歌AI團隊開源了備受關注的“最強NLP模型”BERT的TensorFlow代碼和預訓練模型,不到一天時間,收穫3000多星!

有沒有了解的社友來簡單介紹一下,爲什麼它這麼厲害?

來自社友的討論

▼▼▼

@楊 曉凡

BERT 的預訓練:大型語料庫(維基百科 + BookCorpus ),4-16 個 TPU,4 天 BERT 的微調:單個 TPU,1 小時(GPU 則是數小時) 谷歌再次證明了有資源就是不一樣,不用革命性的方法也可以有革命性的提升。做應用的人起立鼓掌,谷歌搭好了臺子大家可以直接上去唱戲;做研究的人臉一黑,能發三四篇論文的架構微創新還不如多訓練幾天的效果好 —— 要是我們也有那個資源,我們也能再刷刷成績

@付騰

目前最新的,比較前排的模型包括如下 Facebook的InferSent: 基於詞嵌入的雙向lstm OpenAI的mLSTM (本質上是字母級別的單向lstm),GPT(本質上是基於詞嵌入的單向attention模型) Google的USE(在tensorflow hub裏面,基於單向attention模型的層級模型),最新的BERT(雙向attention模型) BERT的具體性能是否如論文所說還沒驗證,暫時不表(BERT的模型還沒有跑通,有colab調通的同學指點一下),但是其他的模型經過跑的經驗,確實效果都不錯。 原因嘛,我想大概有如下: 1. 數據量夠大。 這個就能足夠說明問題了,大力出奇跡。比如OpenAI的mLSTM,雖然結構簡單,但是訓練量足夠,導致其文本分類(text classification)性能很優秀,但是對於文本理解問題(NLU)基本就是智障。。。 其他的模型都是在巨大訓練集數據量的支持下才有較好的表現。 甚至InferSent模型本身,使用了ALLNLI(NLI數據的總集)的版本比單一的SNLI數據訓練的版本,各項性能都要優秀一些, 雖然不多。 2. 計算資源足夠。 這個就更是無語了,大公司的體量優勢展現無遺。 就目前公開的數據來說,OpenAI的mLSTM使用了4×K80(目前各大雲服務商可以提供的最大單機GPU虛擬機),一個月的訓練量,從公開的價格(各個雲略有不同)來說,基本就是三千多英鎊,摺合人名幣兩萬多RMB。曉凡說的BERT的價格更是高出天際,單個模型的訓練價格,通過Goolge的TPU公開價格,約合23萬多RMB。。。。。。 18年下半年Nvdia發表了一篇論文復現了OpenAI的mLSTM,動用了128塊GPU,時間壓縮到一週內,價格大約壓縮了50%。。。。 這些還都是單個模型,不要說其內部的調參的大坑。。。 連BERT的作者自己都說了,建議直接用訓練好的模型,因爲大量的內部調參問題。自己訓練估計能讓人跳崖,算你運氣好,訓練好三個BERT來對比,那花去的成本就足夠在北上廣深買個首付了。。。(手動狗頭) 其實這一點就直接把巨頭和其他中小公司以及學界做了切割,任你孫悟空再厲害,也跳不出五指山。 3. 雙向總是比單向效果更佳(同等訓練數據下)這個看條件以及模型應對的任務,一般來說,如果是訓練模型來做分類,單向的lstm結果就不錯。如果要應對複雜的NLU類任務,基本上都要考慮雙向lstm。這次的BERT引入的雙向attention好像在我印象裏也是首次,"BERT represents "bank" using both its left and right context — I made a ... deposit — starting from the very bottom of a deep neural network, so it is deeply bidirectional." 從該模型對飆的模型(OpenAI的GPT)對比來看,雙向在文本理解方面確實是有優勢的,不過嘛。。。計算複雜度也是翻倍的,本身transformer的計算就夠吃計算量了,加入雙向。。。 其實在BERT之前,Google就有了改進transformer的嘗試,比如它的USE,就是attention和其他模型結構(比如CNN)的組合,性能略有提高,但是複雜度也是高居不下,導致其還要推出大中小三個版本的USE。 一些淺見,望大家指正,輕噴

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