剛剛,Google發布24個小型BERT模型,直接通過MLM損失進行預訓練

2021-01-07 新智元

【新智元導讀】Google剛剛發布了24個小型BERT模型,使用WordPiece masking進行訓練,具有更少的層數,在MLM蒸餾的更精細的預訓練策略方面極具優勢,適用於資源受限的場景,並鼓勵構建更緊湊的模型。「新智元急聘主筆、編輯、運營經理、客戶經理,添加HR微信(Dr-wly)了解詳情。」

Google最新推出24個精簡的BERT模型供下載,趕在白色情人節之前為廣大NLP研究者送上一份厚禮。

BERT勝在模型大,也敗在模型大!

BERT一出世就帶著「狂破11項記錄」的光環,用壓倒性的參數量暴力突圍。可以說,BERT的成功,成就成在模型大。但大,一方面成就了BERT,另一方面也成了它無法被更廣泛應用的障礙,這體現在三個方面。

障礙一:佔資源

巨大的體積使得它必須佔用巨大的存儲資源,而維護大量存儲資源的同時也在不斷消耗大量的能源。

障礙二:太耗時

BERT作者Jacob曾提到「BERT-Large模型有24層、2014個隱藏單元,在33億詞量的數據集上需要訓練40個Epoch,在8塊P100上可能需要1年」。

障礙三:費用高

有人曾經計算過,三大主流模型的訓練成本大概是:

BERT:1.2 萬美元GPT-2:4.3 萬美元XLNet:6.1 萬美元為了解決上述問題,人們不斷推出精簡版BERT

Size matters。其實上述3個問題,源頭就在於Size,因此大家開始不斷的研究精簡版BERT。在資源有限的情況下,小體積的模型有著不言而喻的優勢。

DistillBERT:Hugging Face團隊在BERT的基礎上用知識蒸餾技術訓練出來的小型化BERT。模型大小減小了40%(66M),推斷速度提升了60%,但性能只降低了約3%。

ALBERT:通過改變模型架構,極大的降低了體積。最小的ALBERT只有12M,最大ALBERT-XXLarge有233M,而BERT-Base就有110M。不過雖然體積下去了,推理速度沒有太明顯的提升。

TinyBERT:用知識蒸餾的方法來壓縮模型。這個模型由華中科大和華為共同出品。

Google親自推出更小型BERT模型

就在昨天,Google更新了BERT的GitHub倉庫,發布了24個較小的BERT模型,僅限英語詞彙且不分大小寫。

該24個模型使用WordPiece masking進行訓練,直接通過MLM損失進行預訓練,可以通過標準訓練或最終任務提煉針對下遊任務進行微調,在MLM蒸餾的更精細的預訓練策略方面極具優勢。

理論指導來自論文《Well-Read Students Learn Better: On the Importance of Pre-training Compact Models》。論文地址:https://arxiv.org/abs/1908.08962

小的BERT模型只需要按照原有BERT微調方式進行微調即可,只不過在由更大、更精準的teacher製作的知識蒸餾情況下最有效。

需要注意的是,本發行版中的BERT-Base模型僅是出於完整性考慮,在和原始模型相同的條件下進行了重新訓練。

GLUE分數:

24個小型BERT下載地址:https://storage.googleapis.com/bert_models/2020_02_20/all_bert_models.zip

相關焦點

  • transformer預訓練模型
    bert-base-german-cased12個層,768個隱藏節點,12個heads,110M參數量。通過Deepset.ai在區分文本大小寫的德語上訓練。(見細節:https://deepset.ai/german-bert)bert-large-uncased-whole-word-masking24個層,1024個隱藏節點,16個heads,340M參數量。
  • 中文最佳,哈工大訊飛聯合發布全詞覆蓋中文BERT預訓練模型
    而在中文領域,哈工大訊飛聯合實驗室也於昨日發布了基於全詞覆蓋的中文 BERT 預訓練模型,在多個中文數據集上取得了當前中文預訓練模型的最佳水平,效果甚至超過了原版 BERT、ERINE 等中文預訓練模型。基於 Transformers 的雙向編碼表示(BERT)在多個自然語言處理任務中取得了廣泛的性能提升。
  • 谷歌開源 BERT 模型原始碼
    驚鴻一瞥後,人們都在期待谷歌何時會放出 BERT 模型原始碼。直至今日,谷歌終於一鼓作氣發布了包括 BERT 模型 TensorFlow 代碼、BERT-Base 與 BERT-Large 模型的預訓練檢查點、微調實驗結果的自動化復現 TensorFlow 代碼、預訓練數據生成和數據訓練的代碼在內的「BERT 模型大禮包」。
  • Pytorch-Transformers 1.0 發布,支持六個預訓練框架,含 27 個預...
    :剛剛,在 Github 上發布了開源 Pytorch-Transformers 1.0,該項目支持 BERT, GPT, GPT-2, Transfo-XL, XLNet, XLM 等,並包含 27 個預訓練模型。
  • 【BERT】如何訓練並使用Bert【持續更新】
    預測的方法如下,在輸入句子時第一個token是[cls] token,其對應的輸出的token上會連接一個二分類層,同樣通過損失函數對其進行訓練。上述兩個任務在預訓練中會同時進行。因為BERT就不是一個正常的語言模型(從左往右或者反過來)mp.weixin.qq.com/s/CUVW這裡有給出比較簡單但是很好理解的介紹。因為 bi-rnn、bi-lstm 的『雙向』,並不是像 bert 一樣,將上下文用同一套模型參數進行編碼,而是用兩個分開的單向rnn去處理,只不過共享了輸入,以及輸出時進行拼接。
  • [預訓練語言模型專題] BERT,開啟NLP新時代的王者
    feature-based策略的代表模型為ELMo,它把預訓練得到的「向量表示」作為訓練下遊任務的額外特徵。訓練下遊任務時使用新的任務相關模型,並基於得到的特徵來進行進一步的訓練。fine-tuning策略的代表模型為GPT,它則是在訓練語言模型後,只改變極少的任務相關的層與參數,直接對下遊任務訓練整個原來的語言模型。
  • 最強NLP預訓練模型!谷歌BERT橫掃11項NLP任務記錄
    與最近的語言表徵模型不同,BERT 旨在基於所有層的左、右語境來預訓練深度雙向表徵。BERT 是首個在大批句子層面和 token 層面任務中取得當前最優性能的基於微調的表徵模型,其性能超越許多使用任務特定架構的系統,刷新了 11 項 NLP 任務的當前最優性能記錄。
  • 長文解讀綜述NLP中的預訓練模型(純乾貨)
    GPT在自然語言推理、分類、問答、對比相似度的多種測評中均超越了之前的模型,且從小數據集如STS-B(約5.7k訓練數據實例)到大數據集(550k訓練數據)都表現優異。甚至通過預訓練,也能實現一些Zero-Shot任務。
  • 哈工大訊飛聯合實驗室發布的中文ELECTRA系列預訓練模型再迎新成員
    哈工大訊飛聯合實驗室發布的中文ELECTRA系列預訓練模型再迎新成員 哈工大訊飛聯合實 發表於 2020-12-26 09:49:26 哈工大訊飛聯合實驗室發布的中文
  • 乾貨| BERT fine-tune 終極實踐教程
    預訓練是BERT很重要的一個部分,與此同時,預訓練需要巨大的運算資源。按照論文裡描述的參數,其Base的設定在消費級的顯卡Titan x 或Titan 1080ti(12GB RAM)上,甚至需要近幾個月的時間進行預訓練,同時還會面臨顯存不足的問題。不過所幸的是谷歌滿足了Issues#2裡各國開發者的請求,針對大部分語言都公布了BERT的預訓練模型。
  • 3分鐘看懂史上最強NLP模型BERT
    看完本文相信您會對BERT為什麼被認為是當前最好的NLP模型、實現原理以及適用場景有所了解。目前最好的自然語言預訓練方法無疑是BERT。它的工作流程分為兩步:首先,使用大量未標記的數據,以預訓練、也就是無人監督的方式學習語言表達。然後,使用少量經過標記的訓練數據對模型進行fine-tune,以監督學習的方式,執行多種監督任務。
  • 華為雲摘得NLPCC 輕量級預訓練中文語言模型測評桂冠
    近日,華為雲AI團隊獲得第9屆國際自然語言處理與中文計算會議NLPCC 2020 輕量級預訓練中文語言模型測評第一名。NLPCC 由中國計算機學會主辦,是自然語言處理(NLP)和中文計算(CC)領域的頂級國際前沿會議,每年會議都秉承國際化和一流化的嚴格標準來進行自然語言處理任務的開放評測,推動相關任務的研究和發展。
  • NLP領域最優秀的8個預訓練模型(附開源地址)
    自然語言處理應用能夠快速增長,很大程度上要歸功於通過預訓練模型實現遷移學習的概念。在本文中,我將介紹一些頂級的預訓練模型,你可以用它們來開始你的自然語言處理之旅,並複製該領域的最新研究成果。如今,自然語言處理(Natural Language Processing,NLP)應用已經變得無處不在。
  • [預訓練語言模型專題] MT-DNN(KD) : 預訓練、多任務、知識蒸餾的結合
    感謝清華大學自然語言處理實驗室對預訓練語言模型架構的梳理,我們將沿此脈絡前行,探索預訓練語言模型的前沿技術,紅框中為已介紹的文章,綠框中為本期介紹的文章,歡迎大家留言討論交流。這四種類型的任務在MT-DNN中對應著三種損失函數來優化,分別是分類,回歸和排序 。其次,MT-DNN的結構如下圖,低層的結構是對所有任務通用的,高層結構則是對應特定的任務。底層的詞經過embedding獲得詞級別的表示l1,再經過Transformers通過self-attention獲得上下文語義的表示l2,兩者都是會通過多任務來訓練出的共同的語義表示。
  • BERT模型超酷炫,上手又太難?請查收這份BERT快速入門指南!
    儘管整個模型包含了兩個子模型,但是我們只需要訓練 logistic 回歸模型。至於 DistillBERT,我們會直接使用已經在英文上預訓練好的模型。然而,這個模型不需要被訓練,也不需要微調,就可以進行句子分類。BERT 訓練時的一般目標讓我們已經有一定的句子分類能力了,尤其是 BERT 對於第一個位置的輸出(也就是與 [CLS] 對應的輸出)。
  • 教你用BERT進行多標籤文本分類
    所有這些算法都允許我們在大型資料庫(例如所有維基百科文章)上預先訓練無監督語言模型,然後在下遊任務上對這些預先訓練的模型進行微調。這一年裡,在這一領域中最激動人心的事件恐怕要數BERT的發布,這是一種基於多語言轉換器的模型,它已經在各種NLP項目中取得了令人矚目的成果。
  • RoBERTa中文預訓練模型,你離中文任務的「SOTA」只差個它
    項目地址:https://github.com/brightmart/roberta_zh項目表示,該中文預訓練模型為 24 層的 base 版,它使用了 10G 文本進行數據訓練,包含新聞、社區問答、百科數據等。
  • 三分鐘帶你讀懂 BERT
    BERT算法的原理由兩部分組成,第一步,通過對大量未標註的語料進行非監督的預訓練,來學習其中的表達法。其次,使用少量標記的訓練數據以監督方式微調預訓練模型以進行各種監督任務。預訓練機器學習模型已經在各種領域取得了成功,包括圖像處理和自然語言處理(NLP)。BERT的含義是Transformer的雙向編碼器表示。
  • 不,BERT的MLM模型也能小樣本學習
    MLM 模型就是在自然語言上進行的。4.1 零樣本學習1這裡主要探索的是給輸入文本補上對應的 Pattern 後,直接基於現成的 MLM 模型進行預測,預測的準確率。由於構建模型的整個過程都不涉及到標籤數據監督訓練,因此這算是一種「零樣本學習」。
  • AI基礎:一文看懂BERT
    在BERT的論文發布不久後,Google的研發團隊還開放了該模型的代碼,並提供了一些在大量數據集上預訓練好的算法模型下載方式。Goole開源這個模型,並提供預訓練好的模型,這使得所有人都可以通過它來構建一個涉及NLP的算法模型,節約了大量訓練語言模型所需的時間,精力,知識和資源。