三分鐘帶你讀懂 BERT

2021-09-19 19:27:47 字數 2365 閱讀 5926

作者 | suleiman khan, ph.d.

翻譯 | 胡瑛皓、stone豪         

校對 | 醬番梨        審核 | 詹森·李加薪       整理 | 立魚王

由谷歌公司出品的用於自然語言理解的預訓練bert演算法,在許自然語言處理的任務表現上遠遠勝過了其他模型。

bert演算法的原理由兩部分組成,第一步,通過對大量未標註的語料進行非監督的預訓練,來學習其中的表達法。其次,使用少量標記的訓練資料以監督方式微調預訓練模型以進行各種監督任務。預訓練機器學習模型已經在各種領域取得了成功,包括影象處理和自然語言處理(nlp)。

bert的含義是transformer的雙向編碼器表示。 它基於transformer架構(由google於2023年發布,《attention is all you need》)。 transformer演算法使用編碼-解碼器網路,但是,由於bert是預訓練模型,它僅使用編碼來學習輸入文字中的潛在表達。

技術 bert將多個transformer編碼器堆疊在一起。tranformer基於著名的多頭注意模組(multi-head attention)。 它在視覺和語言任務方面都取得了巨大成功。關於attention的回顧,請參考此處:

bert卓越的效能基於兩點。 首先創新預訓練任務masked language model (mlm)以及next sentence prediction (nsp). 其次訓練bert使用了大量資料和算力。

mlm使得bert能夠從文字中進行雙向學習,也就是說這種方式允許模型從單詞的前後單詞中學習其上下文關係。此前的模型這是做不到的。此前最優的演算法稱為generative pre-training (gpt) 該方法採用了從左到右的訓練方式,另外elmo 採用淺雙向學習(shallow bidirectionality)。

mlm預訓練任務將文字轉換為tokens,把token表示作為訓練的輸入和輸出。隨機取其中15%的token進行mask,具體來說就是在訓練輸入時隱藏,然後用目標函式**出正確的token內容。這種方式對比以往的訓練方式,以往方式採用單方向**作為目標或採用從左到右及從右到左兩組(單方向)去近似雙向。nsp任務通過**後乙個句子是否應該接在前一句之後,從而使得bert可以學習句子間的關係。訓練資料採用50%順序正確的句子對加上另外50%隨機選取的句子對。bert同時訓練mlm和nsp這兩個目標。

資料及tpu/gpu執行時

bert訓練使用了33億單詞以及25億維基百科和8億文字語料。訓練採用tpu, gpu,大致情況如下.

fine-tuning訓練採用了2.5k~392k 標註樣本。重要的是當訓練資料集超過100k,在多種超引數設定下模型顯示了其穩健的效能。每個fine-tuning實驗採用單個tpu均在1小時內完成,gpu上需要幾小時。

結果 bert在11項nlp任務中超越了最優的演算法。主要是3類任務,文字分類、文字蘊涵和問答。bert在squad和swag任務中,是第乙個超過人類水平的演算法!

在分享中使用 bert

bert目前已開源:  分別用tensorflow和pytorch預訓練了104種語言。

模型可進行fine-tuned,然後用於多項nlp任務,諸如文字分類、文字相似度、問答系統、文字標記如詞性pos命名和實體識別ner等。當然預訓練bert計算上相當昂貴,除非你採用tpu或類似nvidia v100這樣的gpu。

bert技術人員同時也放出了多語言模型,模型採用wikipedia裡的100多種語言。不過多語言bert模型比單語言模型的效能要略低幾個百分點。

批判 bert在mlm任務中的mask策略對真實的單詞產生偏見。目前還未顯示這種偏見對訓練的影響。

參考文獻

[1] 

[2] assuming second generation tpu, 3rd generation is 8 times faster. 

[3] 

ai入門、大資料、機器學習免費教程

35本世界頂級原本教程限時開放,這類書單由知名資料科學** kdnuggets 的副主編,同時也是資深的資料科學家、深度學習技術愛好者的matthew mayo推薦,他在機器學習和資料科學領域具有豐富的科研和從業經驗。

三分鐘讀懂ZeroMQ

zeromq可以分開來看zero mq,mq就是message queue訊息佇列。zero是零,它代表零中介軟體 none broker 零延遲,同時,它又有了新的含義 零管理 零成本 零浪費。總的來說,零表示最小 最簡,這是貫穿於該項目的哲理。致力於減少複雜程度,提高易用性。訊息佇列有四個典型應...

三分鐘帶你學會爬蟲

深度學習模型訓練極大的依賴資料,當資料量不夠時,可通過網路爬蟲從網上爬取資料。下面以爬取劉亦菲和劉德華資料為例介紹爬蟲 使用步驟如下 劉亦菲 劉德華import re import requests from urllib import error from bs4 import beautiful...

沉默三分鐘

網上見此真情之文,藉以自表 原文 http www.hecaitou.net p 3018 沉默三分鐘是心祭。那麼多年了,國旗終於為平民而降。那麼多天了,全民哀悼終於實現。與此同時,火炬停止傳遞,因為這不是乙個歡慶的時刻。很多年後回顧2008年,我 也許寧可它從日曆中消失。還沒有哪一年和今年一樣,才...