為什麼要介紹此篇文章?
現今大家關注的是GPT的模型,GPT模型是大型語言模型發展數年之後逐漸較確定的結果,事實上大型語言模型是有一定的開發歷史脈絡,大家分別用不同方法進行開發,有些方法逐漸變熱門變成主流,而其他有些方法逐漸沒落,本篇文章欲提供簡單與全面的角度,讓大家快速對大型語言模型發展的整體脈絡有一定的認識。
大型語言模型開發方法
大型語言模型在開發的過程中,存在有三種方法,分別是基於編碼器(encoder-only)、基於編碼與解碼器(encoder-decoder)、基於解碼器(decoder-only)的方法,各自有各自的特色,基本上研究人員就是各自基於這些方法去做開發,整個發展脈絡就會從早期較有名的BERT模型到現在最有名的GPT模型,這些模型背後基於的方法也都大不相同,以下帶您了解這三種方法的介紹。
編碼器(Encoder-only)
首先,大型語言模型基於編碼器(encoder-only)的方法,主要就是接受來自於原始資料(如文字),編碼後進行特徵萃取,最終可得到文字嵌入表示法(word embedding),文字嵌入表示法就代表這個原始資料的關鍵特徵。這個好處是機器不懂文字,若有文字嵌入表示法,則可讓機器更了解文字的意義為何?之後再將此表示法使用到後續的應用當中。
例如: 針對文字分類任務,給定一段文字,像是這部電影非常好看,直接給機器看這段文字,機器是沒有辦法了解這段文字的意思,但是透過編碼器方法,就能萃取出相對應的文字嵌入表示法(也就是一串數字),此表示法代表這段文字的關鍵特徵,換句話說,就是可讓機器了解這段文字的意義,然後就可提供給下游任務進行微調,像是可以結合分類器去辨別文字是正面或負面評價。
編碼器解碼器(Encoder-Decoder)
第二種是大型語言模型的編碼器解碼器方法,同時存在編碼器與解碼器就可以將原始資料做特徵萃取後,再將這個特徵還原成原始資料。換句話說,作法上是輸入一段文字後,待機器藉由編碼器理解之後,再用解碼器生成相對應的文字描述。
例如在機器翻譯裡面,給定一段中文,在編碼器中機器會先做特徵萃取,理解中文的意思,理解完之後,再將這段文字轉換成英文。
解碼器方法(Decoder)
第三種是大型語言模型的解碼器方法,主要做法是給定提示,根據這個提示產生相對應文字。有點像是在玩文字接龍,給一定文字輸入,機器就想辦法給定另一段文字回應。
例如,在輸入給定一段提示,像是幫我寫一首戰爭的詩,最終就會產生一首戰爭的詩。
綜合比較
以下為總體的比較表格
1.對於模型輸出而言,編碼器為文字嵌入表示法,其他兩種則是輸出皆為文字。
2.對於編碼器而言,他必須搭配下游的任務進行微調才能看到具體的應用成果。
3. 對於編碼器解碼器,主要是處理較複雜的文字對文字的任務,就像翻譯任務,機器如果沒有真正理解文字的意義,就會很難翻譯的好。
4.對於解碼器而言,在做的事情較像文字接龍,給定一段描述,生成另一段文字描述。
5.在發展情形的部分,基於編碼器方法發展就較為停滯,目前持續有在發展的是編碼器解碼器與解碼器方法,其中又以解碼器為主流。
[參考資料]:
1.Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond
[類神經網路基礎系列專文]:
1.類神經網路(Deep neural network, DNN)介紹
3.類神經網路—啟動函數介紹(一): 深入解析Relu與Sigmoid函數:如何影響類神經網路的學習效果?
4.類神經網路—啟動函數介紹(二): 回歸 vs. 分類: 線性函數與Tanh函數之原理探索
5.類神經網路—啟動函數介紹(三): 掌握多元分類的核心技術:不可不知的softmax函數原理
6.類神經網路—啟動函數介紹(四): 如何選擇最適當的啟動函數?用一統整表格讓您輕鬆掌握
8.類神經網路—反向傳播法(一): 白話文帶您了解反向傳播法
10.類神經網路—反向傳播法(三): 五步驟帶您了解梯度下降法
11.類神經網路—反向傳播法(四): 揭開反向傳播法神秘面紗
12.機器學習訓練原理大揭秘:六步驟帶您快速了解監督式學習的訓練方法
13.類神經網路—反向傳播法(五): 用等高線圖讓您對學習率更有感
[機器學習基礎系列專文]:
1.機器學習訓練原理大揭秘:六步驟帶您快速了解監督式學習的訓練方法
[類神經網路延伸介紹]:
1.卷積類神經網路(Convolution neural network,CNN)介紹
2.遞迴類神經網路(Recurrent neural network,RNN)介紹
[ChatGPT系列專文]: