Google發(fā)布24個小型BERT模型,直接通過MLM損失進行預訓練
Google最新推出24個精簡的BERT模型供下載,趕在白色情人節(jié)之前為廣大NLP研究者送上一份厚禮。
BERT勝在模型大,也敗在模型大!
BERT一出世就帶著「狂破11項記錄」的光環(huán),用壓倒性的參數量暴力突圍??梢哉f,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。在資源有限的情況下,小體積的模型有著不言而喻的優(yōu)勢。
DistillBERT:Hugging Face團隊在BERT的基礎上用知識蒸餾技術訓練出來的小型化BERT。模型大小減小了40%(66M),推斷速度提升了60%,但性能只降低了約3%。
ALBERT:通過改變模型架構,極大的降低了體積。最小的ALBERT只有12M,最大ALBERT-XXLarge有233M,而BERT-Base就有110M。不過雖然體積下去了,推理速度沒有太明顯的提升。
TinyBERT:用知識蒸餾的方法來壓縮模型。這個模型由華中科大和華為共同出品。
Google親自推出更小型BERT模型
就在昨天,Google更新了BERT的GitHub倉庫,發(fā)布了24個較小的BERT模型,僅限英語詞匯且不分大小寫。
該24個模型使用WordPiece masking進行訓練,直接通過MLM損失進行預訓練,可以通過標準訓練或最終任務提煉針對下游任務進行微調,在MLM蒸餾的更精細的預訓練策略方面極具優(yōu)勢。
理論指導來自論文《Well-Read Students Learn Better: On the Importance of Pre-training Compact Models》。論文地址:https://arxiv.org/abs/1908.08962
小的BERT模型只需要按照原有BERT微調方式進行微調即可,只不過在由更大、更精準的teacher制作的知識蒸餾情況下最有效。
需要注意的是,本發(fā)行版中的BERT-Base模型僅是出于完整性考慮,在和原始模型相同的條件下進行了重新訓練。
GLUE分數:
24個小型BERT下載地址:https://storage.googleapis.com/bert_models/2020_02_20/all_bert_models.zip