參考:
李宏毅機器學習--self-supervised:BERT、GPT、Auto-encoder-CSDN博客
?
用無標注資料的任務訓練完模型以后,它本身沒有什么用,GPT 1只能夠把一句話補完,可以把 Self-Supervised Learning 的 Model做微微的調整,把它用在其他下游的任務裡面,對于下游任務的訓練,仍然需要少量的標記數據。
GPT1基本實現
例如有條訓練語句是“臺灣大學”,那么輸入BOS后訓練輸出是臺,再將BOS和"臺"作為輸入訓練輸出是灣,給它BOS "臺"和"灣",然后它應該要預測"大",以此類推。模型輸出embedding h,h再經過linear classification和softmax后,計算輸出分布與正確答案之間的損失cross entropy,希望它越小越好。
?
詳細計算過程:?
?
GPT1和GPT2
GPT1里主要用的是transformer中的decoder層。?
GPT-2依然沿用GPT單向transformer的模式,只不過做了一些改進與改變:
- GPT-2去掉了fine-tuning層
- 增加數據集和參數
- 調整transformer
模型 | 參數量 |
ELMO | 94M |
BERT | 340M |
GPT-2 | 1542M |
?