深藍(lán)學(xué)院生成式預(yù)訓(xùn)練語言模型:理論與實(shí)戰(zhàn)
BERT(Bidirectional Encoder Representations from Transformers)通過預(yù)訓(xùn)練來學(xué)習(xí)無標(biāo)注數(shù)據(jù)中的深度雙向表示,預(yù)訓(xùn)練結(jié)束后通過添加一個額外的輸出層進(jìn)行微調(diào),最終在多個NLP任務(wù)上實(shí)現(xiàn)了SOTA。
預(yù)訓(xùn)練語言模型在實(shí)踐中證明對提高很多自然語言處理任務(wù)有效,其中包括句子層級的任務(wù),比如自然語言推斷(natural language inference)和復(fù)述(paraphrasing),還有token層級的任務(wù),比如命名實(shí)體識別(named entity recognition)和問答(question answering)。
預(yù)訓(xùn)練模型使用方法
在下游任務(wù)中應(yīng)用預(yù)訓(xùn)練語言模型表示的方法有兩種:feature-based的方法和fine-tuning的方法。舉例來說,ELMo這種預(yù)訓(xùn)練語言模型使用feature-based的方法,通過將ELMo的預(yù)訓(xùn)練的表示作為額外的特征輸入到特定于任務(wù)的模型中去;GPT使用fine-tuning的方法,通過引入少量的特定于任務(wù)的參數(shù),在下游任務(wù)中訓(xùn)練時(shí)所有的預(yù)訓(xùn)練參數(shù)。
語言模型的單向與雙向
截止BERT之前的預(yù)訓(xùn)練語言模型都是單向的(unidirectional),包括GPT和ELMo,這樣的方法對句子層級的任務(wù)不是最優(yōu)的,而且對于token層級的任務(wù)比如問答非常有害。BERT使用masked language model(MLM)的方法來預(yù)訓(xùn)練,這種方法能夠訓(xùn)練一個雙向的(directional)語言模型。除了masked language model的預(yù)訓(xùn)練的方法,BERT還使用了next sentence prediction的預(yù)訓(xùn)練方法。
?