完勝BERT!谷歌NLP預訓練利器:小模型也有高精度,單個GPU就能訓練 | 代碼開源
十三 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
這款NLP預訓練模型,你值得擁有。
它叫ELECTRA,來自谷歌AI,不僅擁有BERT的優勢,效率還比它高。
ELECTRA是一種新預訓練方法,它能夠高效地學習如何將收集來的句子進行準確分詞,也就是我們通常說的token-replacement。
有多高效?
只需要RoBERTa和XLNet四分之一的計算量,就能在GLUE上達到它們的性能。并且在SQuAD上取得了性能新突破。
這就意味著“小規模,也有大作用”,在單個GPU上訓練只需要4天的時間,精度還要比OpenAI的GPT模型要高。
ELECTRA已經作為TensorFlow的開源模型發布,包含了許多易于使用的預訓練語言表示模型。
讓預訓練變得更快
現存的預訓練模型主要分為兩大類:語言模型?(Language Model,LM)和掩碼語言模型?(Masked Language Model,MLM)。
例如GPT就是一種LM,它從左到右處理輸入文本,根據給定的上下文預測下一個單詞。
而像BERT、RoBERTa和ALBERT屬于MLM,它們可以預測輸入中被掩蓋的少量單詞。MLM具有雙向的優勢,它們可以“看到”要預測的token兩側的文本。
但MLM也有它的缺點:與預測每個輸入token不同,這些模型只預測了一個很小的子集(被掩蓋的15%),從而減少了從每個句子中獲得的信息量。
而ELECTRA使用的是一種新的預訓練任務,叫做replaced token detection?(RTD)。
它像MLM一樣訓練一個雙向模型,也像LM一樣學習所有輸入位置。
受生成對抗網絡(GAN)的啟發,ELECTRA通過訓練模型來區分“真實”和“虛假”輸入數據。
BERT破壞輸入的方法是,使用“[MASK]”替換token,而這個方法通過使用不正確的(但有些可信的)偽token替換一些輸入token。
例如下圖中的“cooked”可以替換為“ate”。
首先使用一個生成器預測句中被mask掉的token,接下來使用預測的token替代句中的[MASK]標記,然后使用一個判別器區分句中的每個token是原始的還是替換后的。
在預訓練后,將判別器用于下游任務。
完勝BERT,SQuAD 2.0表現最佳
將ELECTRA與其他最先進的NLP模型進行比較可以發現:
在相同的計算預算下,它比以前的方法有了很大的改進,在使用不到25%的計算量的情況下,性能與RoBERTa和XLNet相當。
為了進一步提高效率,研究人員還嘗試了一個小型的ELECTRA模型,它可以4天內在單個GPU上進行訓練。
雖然沒有達到需要許多TPU來訓練的大型模型的精度,但ELECTRA仍然表現得突出,甚至超過了GPT(只需要1/30的計算量)。
最后,為了看看是否能夠大規模實施,研究人員使用了更多的計算量(大約與RoBERTa相同的數量,約T5的10%),來訓練一個大型ELECTRA。
結果表明,在SQuAD 2.0測試集上效果達到了最佳。
不僅如此,在GLUE上也超過了超過了RoBERTa、XLNet和ALBERT。
代碼已開源
其實,這項研究早在去年9月份的時候便已發表。但令人激動的是,就在近幾日,代碼終于開源了!
主要是ELECTRA進行預訓練和對下游任務進行微調的代碼。目前支持的任務包括文本分類、問題回答和序列標記。
開源代碼支持在一個GPU上快速訓練一個小型的ELECTRA模型。
ELECTRA模型目前只適用于英語,但研究人員也表示,希望將來能發布多種語言的預訓練模型。
傳送門
谷歌AI博客:
https://ai.googleblog.com/2020/03/more-efficient-nlp-model-pre-training.html
GitHub地址:
https://github.com/google-research/electra
論文地址:
https://openreview.net/pdf?id=r1xMH1BtvB
- 戴爾 x OpenCSG,推出?向智能初創企業的?體化 IT 基礎架構解決方案2025-12-10
- 看完最新國產AI寫的公眾號文章,我慌了!2025-12-08
- 共推空天領域智能化升級!趨境科技與金航數碼強強聯手2025-12-09
- Ilya剛預言完,世界首個原生多模態架構NEO就來了:視覺和語言徹底被焊死2025-12-06



