[DLHLP 2020] BERT and its family — ELMo, BERT, GPT, XLNet, MASS, BART, UniLM, ELECTRA, and more

Yu-Wei Chen
6 min readDec 17, 2020

--

How to Pre-train

  1. Pre-training by Translation: Context Vector (CoVe)

Pre-Train用在翻譯任務上的好處就在於,每個Encoder都可以產生一個Embedding。

2. Self-supervised learning

如何製造Self-supervised learning pre-train model 的輸入輸出關係?

最早期的模型是LSTM,比較知名的模型包含了: Universal Language Model Fine-tuning (ULMFiT) [Howard, et al., ACL’18]、ELMo [Peters, et al., NAACL’18]

不過目前常見的模型則是使用Self-attention架構的模型,需要注意的是訓練中attention的範圍,下圖中左上角矩陣中的綠色方框即顯示,在我們訓練過程中,每一個input可以attention的範圍。知名的模型包含:GPT、GPT-2、Megatron、Turing NLG。

再次強調,我們要預測下一個字的話,我們要看他之前和什麼字相關!

要知道h4的結果,必須要先學習前面w1-w4的資訊,才能預測出h4與w5

不過此時可以再想想,看完了左邊的資訊,那右邊的資訊呢?因此ELMO模型,即是將文句順向的LSTM訓練,也將文句逆向LSTM,將要預測的字/詞左右的資訊都考慮進去。

可惜的是ELMO模型中,正向與逆向的LSTM並未交會,也就是說開頭的地方w1-w3,還是無法接收到w5-w7的資訊,能用來得到完整的文句資訊。

由此產生了BERT [Devlin, et al., NAACL’19],特色是使用Masking Input,模型屬於Transformer架構的模型,在使用self-attention時,讀取文句不會受到限制。重點是我們將某個Token (黑框處)遮蓋或置換後,我們要用輸出w2來回測黑框的輸入為何。

利用w1, w3,w4的資訊來預測w2的原輸入

稍等一下,這樣的模型概念,似乎與早期的文字Embedding很相似,也就是CBOW。可惜的是,CBOW的模型不能看到所有的文句資訊,有固定的Window寬度,而且訓練模型只單純用了Linear模型來訓練,因此輸出結果普通。

BERT模型介紹

BERT模型中有提到,我們需要對Token進行遮蓋,但是我們要遮蓋的是哪個Token?要如何選擇我們要遮蓋的對象呢?隨機決定是好的方法嗎?

Whole Word Masking (WWM) [Cui, et al., arXiv’19]:隨機遮蓋整個詞

Phrase-level & Entity-level [Sun, et al., ACL’19] → Enhanced Representation through Knowledge Integration (ERNIE):遮蓋片與或者是文句中的實體

SpanBert [Joshi, et al., TACL’20]:一次蓋多個Tokens,其中提出了Span Boundary Objective (SBO),一個在模型外的module,利用左右兩側的Embedding資訊,來預測被我們Mask掉的Span內容。使用此方法看似多此一舉,但是可以利用Coreference來解釋。

當餵給SBO的提示說要預測第2個Token,則SBO會去預測w5

XLNet (Transformer-XL)[Yang, et al., NeruIPS’19]

由Predict next token的觀點理解模型的架構:原本我們只能看到文句中的先前的字來預測後面的字,但是現在則是先將文句整個顛倒後來預測下一個字。

由BERT的觀點理解模型的架構:一般BERT會用文句中前後的所有Token來預測Mask的Token,但是在XLNet則是用部分的Token來預測Mask的Token。另一個特點是,Model的Mask的Token是看不到的,只會提供Mask的位置資訊。

不過值得注意的是,BERT Model不善言辭,缺乏Generation能力,無法自己有效以Autoregressive model生成新的文句。*autoregressive 是指順序完成文句輸出。

如何Pre-train Seq2Seq 模型?

為了進行Seq2Seq預訓練模型,因此針對輸入我們需要先進行某種程度的破壞,使模型不會自動去複製原本的Token。常見的破壞方法有兩種:MASS、BART。

MAsked Sequence to Sequence pre-training [Song, et al., ICML’19]

Bidirectional and Auto-Regressive Transformers [Lewis et al., arXiv’19]

上圖介紹BART不同的Mask方式

UniLM:有很多Self-attention 模型,並且同時進行多種訓練。

ELECTRA:是進行二元分類的模型。

Sentence Level

Skip thought

Quick thought

Next sentence prediction (NSP) 沒什麼用,知名的模型Robustly optimized BERT approach (RoBERTa)

Sentence order prediction (SOP):Used in ALBERT

structBER

原課程連結:Link

--

--

No responses yet