天天看點

6張示意圖解釋6種語言模型(Language Transformer)使用方式

作者:資料學習DataLearner

近幾年語言模型的發展速度很快,各種大語言預訓練模型的推出讓算法在各種NLP的任務中都取得了前所未有的成績。其中2017年谷歌釋出的Attention is All You Need論文将transformer架構推向了世界,這也是現在最流行的語言模型結構。威斯康星大學麥迪遜分校的統計學教授Sebastian Raschka總結了6中Language Transformer的使用方法。值得一看。

  • 一、從頭開始訓練(Train from scratch)
  • 二、基于特征的方式:在embeddings的基礎上訓練新模型(Train new model on embeddings)
  • 三、微調Ⅰ(Finetuning Ⅰ)
  • 四、微調Ⅱ(Finetuning Ⅱ)
  • 五、零樣本學習(Zero-shot learning)
  • 六、小樣本學習(Few-shot learning)

一、從頭開始訓練(Train from scratch)

從頭訓練一個transformer是最基本的使用方法,隻是一般來說transformer模型需要大量的資料,實際場景很難擷取這麼多有标注的資料做訓練。是以目前的transformer模型的訓練都是使用unlabeleds資料做預訓練,這與有監督學習的模型訓練方式差别很大。

6張示意圖解釋6種語言模型(Language Transformer)使用方式

二、基于特征的方式:在embeddings的基礎上訓練新模型(Train new model on embeddings)

使用一個現成的transformer模型,将最後一層删除,然後使用推理的方式運作大語言模型,在embeddings上訓練新的分類器。

6張示意圖解釋6種語言模型(Language Transformer)使用方式

三、微調Ⅰ(Finetuning Ⅰ)

這是近幾年很流行的大模型使用方法。即将除了輸出層以外的所有權重“當機”(freeze)。然後随機初始化輸出層參數,再以遷移學習的方式訓練。僅僅更新全連接配接輸出層,其它層的權重不變。

6張示意圖解釋6種語言模型(Language Transformer)使用方式

四、微調Ⅱ(Finetuning Ⅱ)

這種微調方式是更新所有的權重。随機初始化輸出層的參數,然後用遷移學習的方式訓練,但是與上一種訓練方式不同的是這種微調會更新所有的參數。也就是說模型的結構不變,輸出層重新随機初始化,其他層權重不變,訓練的時候所有的權重都更新。

6張示意圖解釋6種語言模型(Language Transformer)使用方式

五、零樣本學習(Zero-shot learning)

在沒有訓練資料的情況下進行預測。使用一個預訓練的模型,然後通過model-prompt方式提供一種任務。這就是近幾年的一種新的語言模型“訓練”方法。微調依然需要我們構造标注資料,然後對模型進行重新訓練,而這種方式則是采用建構一個模闆+prompt方式,不訓練模型,但是讓模型知道我們要做什麼。這意味着我們不需要訓練模型,隻需要想辦法設計出模型要做的任務即可。現在的語言模型由于最開始就是從無标注資料中随機剔除某些單詞訓練,是以很擅長做完形填空類的任務。是以,我們隻需要設計完形填空的任務,教模型認識這是做啥就可以了,相比較微調,它不需要關注标注資料,也不需要對模型的權重重新訓練。

6張示意圖解釋6種語言模型(Language Transformer)使用方式

六、小樣本學習(Few-shot learning)

從一小部分已标注的資料進行學習。可以作為零樣本學習的擴充或者是embed一種。然後基于最近鄰搜尋選擇最相似的例子。

6張示意圖解釋6種語言模型(Language Transformer)使用方式

原文詳情:6張示意圖解釋6種語言模型(Language Transformer)使用方式 | 資料學習者官方網站(Datalearner)

繼續閱讀