分析現階段最有效的NLP預訓練模型!

最新語言預訓練可以說是在自然語言處理領域帶來了很可觀的收益,其中包括最先進的模型如BERT,RoBERTa,XLNet,ALBERT和T5等。

這些方法雖然在設計上有所不同,但在面對如情感分析和問題解答時,利用特定的NLP任務進行微調之前,都有著相同的想法,即利用大量未標記的文本來構建語言理解的通用模型。

現有的預訓練方法通常分為兩類:

語言模型(LM),例如GPT,從左到右處理輸入文本,在給定先前上下文的情況下預測下一個單詞,以及蒙版語言模型(MLM),例如BERT,RoBERTa和ALBERT,它們分別預測少量單詞的身份,已被屏蔽掉輸入。

MLM具有雙向而不是單向的優勢,因為它們“看到”了要預測的令牌左側和右側的文本,而不是僅一側。但是,傳銷目標(以及諸如XLNet的相關目標)也有缺點。這些模型沒有預測每個輸入令牌,而是僅預測了一個很小的子集-被掩蓋的15%,從而減少了從每個句子中學到的知識。

AI資訊 | 分析現階段最有效的NLP預訓練模型!

現有的預訓練方法及其缺點。箭頭指示哪些標記用於生成給定的輸出表示形式(矩形)。左:傳統語言模型(例如GPT)僅使用當前單詞左側的上下文。右:蒙版語言模型(例如BERT)從左到右都使用上下文,但是對於每個輸入僅預測一小部分單詞。

ELECTRA

ELECTRA 在使用少於1/4的計算量時,就可以在GLUE自然語言理解基準上達到RoBERTa和XLNet的性能,並獲得了最新的結果。ELECTRA的出色效率意味著即使在小規模的情況下也能很好地運行。可以在幾天內在單個GPU上進行訓練,其準確性要高於GPT(該模型使用30倍以上的計算能力)。ELECTRA已作為TensorFlow之上的開源模型發佈,其中包括許多易於使用的預訓練語言表示模型。

ELECTRA更快地進行預訓練

ELECTRA使用一種稱為替換令牌檢測(RTD)的新預訓練任務,該任務在從所有輸入位置(如LM)學習的同時訓練雙向模型(如MLM)。受到生成對抗網絡的啟發(GAN),ELECTRA訓練模型以區分“真實”和“偽造”輸入數據。我們的方法不是通過在BERT中用“ [MASK]”替換令牌來破壞輸入,而是通過用不正確但有些合理的偽造品替換一些輸入令牌來破壞輸入。

例如,在下圖中,單詞“ cooked”可以替換為“ ate”。儘管這有些道理,但它並不適合整個上下文。預訓練任務需要模型(即鑑別器)來確定原始輸入中的哪些標記已被替換或保持相同。至關重要的是,此二進制分類任務適用於每個輸入令牌,而不是僅少量的掩碼令牌(在BERT樣式的模型中為15%),從而使RTD的效率比MLM高-ELECTRA需要更少的示例來達到相同的性能,因為它每次接收模式訓練信號例。同時,RTD導致強大的表示學習,因為模型必須學習數據分佈的準確表示才能解決任務。

AI資訊 | 分析現階段最有效的NLP預訓練模型!

從所有輸入位置學習時,替換的令牌檢測可訓練雙向模型

替換令牌來自另一個稱為生成器的神經網絡。儘管生成器可以是在令牌上產生輸出分佈的任何模型,但是我們使用與鑑別器一起訓練的小型屏蔽語言模型(即,隱藏大小小的BERT模型)。儘管饋入鑑別器的生成器的結構類似於GAN,但由於難以將GAN應用於文本,因此我們訓練生成器以最大的可能性預測被掩蓋的單詞(而不是對抗性地)。生成器和鑑別器共享相同的輸入詞嵌入。在進行預訓練之後,將生成器放下,並針對下游任務微調鑑別器(ELECTRA模型)。我們的型號都使用變壓器 神經體系結構。

AI資訊 | 分析現階段最有效的NLP預訓練模型!

有關替換的令牌檢測(RTD)任務的更多詳細信息。偽造的令牌是從與ELECTRA一起訓練的小型掩蔽語言模型中採樣

ELECTRA的訓練結果

我們將ELECTRA與其他最新的NLP模型進行了比較,發現在給定相同的計算預算的情況下,它與以前的方法相比有了實質性的改進,其性能與RoBERTa和XLNet相當,而使用的計算量不到25%。

AI資訊 | 分析現階段最有效的NLP預訓練模型!

x軸顯示用於訓練模型的計算量(以FLOPs為單位),y軸顯示dev GLUE得分。與現有的預訓練NLP模型相比,ELECTRA的學習效率要高得多。請注意,目前GLUE上的最佳模型(例如T5(11B))不適合該圖,因為它們使用的計算量比其他模型多得多(比RoBERTa多10倍)。

為了進一步提高效率的極限,我們嘗試了一個小型的ELECTRA模型,該模型可以在4天的時間內在單個GPU上進行良好的訓練。儘管無法達到與需要訓練許多TPU的大型模型相同的精度,但ELECTRA-small的性能仍然很好,甚至比GPT還要好,而所需的計算量卻只有其三分之一。

最後,要看看檢測的結果是否能夠大規模實施,我們就要使用更多的計算量(大約與RoBERTa相同的數量,大約是T5的10%)訓練了一個大型ELECTRA模型。該模型為SQuAD 2.0問題回答數據集(請參見下表)上的單個模型,並且在GLUE排行榜上的表現優於RoBERTa,XLNet和ALBERT。而大型T5-11b 模型在GLUE上的得分仍然更高,ELECTRA的大小是其三分之一,並使用其10%的計算力進行訓練。

AI資訊 | 分析現階段最有效的NLP預訓練模型!

SQUAD 2.0在ELECTRA-Large和其他最新模型(僅顯示非整體模型)中得分。


分享到:


相關文章: