開啟NLP新時代的BERT模型,是怎麼一步步封神的?
NLP領域的伸手黨們,上個月簡直像在過年!
不僅號稱谷歌最強NLP模型的BERT如約開源了,而且最新版本還支援中文,可以用於中文命名實體識別的Tensorflow程式碼!最關鍵的是,這個強大的模型還橫掃11項記錄,"閱讀理解超過人類"。
谷歌團隊的Thang Luong更直接宣告:BERT模型開啟了NLP的新時代。“BERT在手,天下我有”的既視感啊!
人工智慧漫長的發展史上,能夠讓行業“鑼鼓喧天,鞭炮齊鳴”的演算法模型還真不多見。不過,在跟風成為這個模型的舔狗之前,我們先來扒下它的外衣,看看到底有沒有那麼神奇。
什麼是BERT模型?
這個讓全球開發者們為之歡欣鼓舞的新模型,全稱是Bidirectional Encoder Representation from Transformers,即對Transformer的雙向編碼進行調整後的演算法。
這種預訓練模型所針對的核心問題,就是NLP的效率難題。
眾所周知,智慧語音互動要理解上下文、實現通順的交流、準確識別物件的語氣等等,往往需要一個準確的NLP模型來進行預測。
但越是精準的模型,越是依賴於海量的訓練語料,往往需要人工來進行標註和製作,因此,透過某種模型來預訓練一個語言模型,幫助進行超大規模的表徵學習,就成了一種靠譜且被廣泛採用的方法。
而傳統採用的預訓練模型,比如AI2的 ELMo,以及OpenAI的fine-tune transformer,也同樣需要透過人力標註來製作訓練資料。
譬如說常用的中文漢字有3500個,詞彙數量50萬,製作中文語言預訓練模型的引數數量自然也就十分龐大,中文的預訓練模型需要對每個都進行人工標註,這就又陷入了“有多人工就有多少智慧”的死衚衕。
那麼,呱呱落地的BERT為什麼能解決這一問題呢?它的優勢主要體現在三個方面:
1. BERT擁有一個深而窄的神經網路。transformer的中間層有2018,BERT只有1024,但卻有12層。因此,它可以在無需大幅架構修改的前提下進行雙向訓練。由於是無監督學習,因此不需要人工干預和標註,讓低成本地訓練超大規模語料成為可能。
2. BERT模型能夠聯合神經網路所有層中的上下文來進行訓練。這樣訓練出來的模型在處理問答或語言推理任務時,能夠結合上下文理解語義,並且實現更精準的文字預測生成。
3. BERT只需要微調就可以適應很多型別的NLP任務,這使其應用場景擴大,並且降低了企業的訓練成本。BERT支援包括中文在內的60種語言,研究人員也不需要從頭開始訓練自己的模型,只需要利用BERT針對特定任務進行修改,在單個雲TPU上執行幾小時甚至幾十分鐘,就能獲得不錯的分數。
用一些開發者的話來說,就是BERT的“效果好到不敢相信”,這也是其快速躥紅的核心原因。
BERT是如何工作的?
這樣厲害的模型,是怎樣被訓練出來的呢?主要分為五個步驟:
首先,將語料中的某一部分詞彙遮蓋住,讓模型根據上下文雙向預測被遮蓋的詞,來初步訓練出通用模型。
然後,從語料中挑選出連續的上下文語句,讓transformer模型來識別這些語句是否連續。
這兩步合在一起完成預訓練,就成為一個能夠實現上下文全向預測出的語言表徵模型。
最後,再結合精加工(fine tuning)模型,使之適用於具體應用。
而BERT應用起來也非常簡單,具體到什麼程度呢?個人開發者可以在任意文字語料庫上完成“預測下一句”之類的任務。
只需要進行資料生成,把整個輸入檔案的純文字做成指令碼儲存到記憶體,就可以用BERT進行預訓練了。
透過一段簡單程式碼,預訓練20步左右,就能得到一個基礎的NLP任務模型。如果想在實際應用中有更好的表現,訓練10000步以上也不會花費很長時間。
從上述實驗成果來看,似乎可以直接得出結論:BERT開啟了一個NLP的新世界!
以前我們總是吐槽機器翻譯、自然語言理解等NLP技術都是“實驗室的人工智慧,生活中的“人工智障”,而且每個廠商的語音產品似乎都停留在用論文和跑分隔空叫板,實際應用場景上體驗感其實差異並不明顯。但BERT的出現,不僅讓機器語言理解上有了更好的效果,尤其是上下文理解和文字生成上,表現十分驚豔。更重要的是,它為自然語言處理技術帶來的新想象空間。
封神之前,BERT還要面對哪些問題?
說到這裡,是不是已經有種“有條件要上BERT,沒有條件創造條件也要上BERT”的感覺了?
別急,BERT模型看起來很美好,但並不是一枚誰拿來都能快速見效的“救心丸”,至少有三點需要額外注意:
一是開銷巨大,在GPU上跑一次成本很高,而Google推薦的雲TPU價格雖然低廉(500美元),卻需要兩週時間。
二是資料規模要求高。如果沒有足夠龐大的訓練語料,很難在針對性開發中復現同樣的評測效果。
三是BERT無法單獨完成計算問題,需要後續任務補全推理和決策環節。而且BERT本身是無監督學習,因此不能直接用於解決NLP問題,往往需要結合現有的有監督學習以避免演算法歧視或偏見。
目前看來,BERT的魅力雖然讓開發者和企業們難以抗拒,但也存在著諸多門檻,想要見效並不是一朝一夕的事兒。但它能夠被人吹爆,並不僅僅只是因為演算法和資料上的突破,真正的價值還是隱藏在對產業端的推動力量。
BERT帶來的想象空間
眾所周知,自然語言處理技術被稱為AI領域的明珠,但在產業端,智慧語音企業對於自家技術的競爭力,不是宣傳又在SQuAD這樣的頂級賽事中跑了多少分,就是基於各自的資料集大吹特吹準確率。但是,彼此之間的資料往往都十分焦灼,很難真正拉開差距。
而BERT的出現,顯然為智慧語音技術公司的競爭帶來了全新的關鍵要素,那就是效率,以及成本。
BERT的橫空出世,抹平了訓練語料的人工標註成本,讓超大規模的模型訓練不再遙不可及,從而使得產業端研發出互動更友好、理解力更高的語音互動產品成為了可能。
另一方面,在垂直應用端,多種語言支援和低成本地針對性訓練,讓BERT可以很快在垂直領域進行部署,大大提升了智慧語音的配置效率和應用範圍,為NLP的產業端實錘落地提供了長期發展的支撐力量。
解決了模型和應用的問題,NLP領域的新賽道自然就落在了語料和算力上。
想要藉助BERT訓練出更精準、更好的應用模型,考驗著企業的兩方面能力:一個是訓練語料的規模;一個是強大算力的支撐。
BERT使用了超大的資料集(BooksCorpus 800M + English Wikipedia 2.5G單詞)和超大的算力(對應於超大模型)來在相關的任務上做預訓練。未來,是否有足夠的訓練語料來複現同樣的效果,又是否足夠的GPU(背後就是錢)來支撐跑BERT,將是智慧語音技術企業拉開身位的關鍵。
總而言之,BERT在NLP界還是個新生事物,但已經有了封神的潛質。比此前的解決方案更優秀,更有發展潛力。
不過,對資料規模和算力的要求,以及與自身業務的耦合,也在無形中提升著智慧語音的門檻和成本。
從這個角度看,最終能夠藉助BERT拉開競爭區位的,要麼是搜狗、阿里、百度這樣以搜尋、電商為主業的大資料“富一代”,要麼是憑藉強大效率與業務創新實現“彎道超車”的新獨角獸,接下來恐怕可以激發不少新腦洞和解題思路。
無論如何,BERT的出現,終於讓專注“跑分”和“隔空叫板”的NLP領域,多了一些更有趣的想象力。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561483/viewspace-2285085/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Bert時代的創新:Bert在NLP各領域的應用進展
- 大模型開啟人工智慧的新時代大模型人工智慧
- NLP與深度學習(六)BERT模型的使用深度學習模型
- 你是怎麼學習 NLP 的?
- NLP 新紀元?如何看待轟炸閱讀理解頂級測試的BERT模型?模型
- 【BERT】你儲存的BERT模型為什麼那麼大?模型
- NLP與深度學習(五)BERT預訓練模型深度學習模型
- 如何用最強模型BERT做NLP遷移學習?模型遷移學習
- 在新視窗開啟連結的方法是什麼?那怎麼設定全站連結都在新視窗開啟?
- 效能媲美BERT,引數量僅為1/300,谷歌最新的NLP模型谷歌模型
- 最強NLP預訓練模型!谷歌BERT橫掃11項NLP任務記錄模型谷歌
- 也許是“新時代的開發姿勢”
- 谷歌NLP新模型「大鳥」突破BERT限制,稀疏注意力機制更省記憶體谷歌模型記憶體
- 圖解BERT(NLP中的遷移學習)圖解遷移學習
- 新的時代開啟 微信小程式的觀察與思考微信小程式
- 【NLP】BERT中文實戰踩坑
- 創新時代短視訊原始碼開發的路該怎麼走原始碼
- NLP生成任務超越BERT、GPT!微軟提出通用預訓練模型MASSGPT微軟模型
- 【Android Adapter】是時候開啟Adapter新時代了AndroidAPT
- Google釋出pQRNN新NLP模型:基於投影的高效模型架構GoRNN模型架構
- xml是什麼格式的檔案 xml檔案怎麼開啟XML
- 用大模型開啟AI新時代,悠絡客UMind新品重磅釋出大模型AI
- 完勝 BERT,谷歌最佳 NLP 預訓練模型開源,單卡訓練僅需 4 天谷歌模型
- Tomcat中的類是怎麼被一步步載入的?Tomcat
- 理解BERT:一個突破性NLP框架的綜合指南框架
- NLP領域的ImageNet時代:詞嵌入已死,語言模型當立模型
- 文件理解的新時代:LayOutLM模型的全方位解讀模型
- 什麼是網際網路時代的新僱傭關係?
- 我是怎麼做開源的
- XLM — 基於BERT的跨語言模型模型
- 中文任務全面超越 BERT:百度正式釋出NLP預訓練模型ERNIE模型
- React Native 新架構是怎麼工作的?React Native架構
- vsd格式檔案怎麼開啟 vsd是什麼格式的檔案,
- lnk是什麼格式檔案 別人發的lnk檔案怎麼開啟
- 谷歌開源 BERT:最先進的 NLP 預訓練技術,支援中文和更多語言谷歌
- BERT 模型壓縮方法模型
- 8.3 BERT模型介紹模型
- 藉助 DPU 開啟 HPC 和超級計算效能的新時代