GPT-1(Generative Pre-Training 1)
?模型結構
-
Transformer only-decoder:GPT-1模型使用了一個12層的Transformer解碼器。具體細節與標準的Transformer相同,但位置編碼是可訓練的。
-
注意力機制:
-
原始Transformer的解碼器包含兩種注意力機制:交叉注意力(cross-attention,其中鍵和值來自編碼器,查詢來自解碼器)和掩碼多頭自注意力(mask multi-head attention)。
-
GPT-1模型只使用了掩碼多頭自注意力。
-
圖示說明
-
左側圖示:展示了Transformer的架構,包括12層的解碼器、層歸一化(Layer Norm)、前饋網絡(Feed Forward)、掩碼多頭自注意力(Masked Multi Self Attention)以及文本和位置嵌入(Text & Position Embed)。
-
右側圖示:展示了不同任務的輸入轉換和訓練目標。所有結構化的輸入都被轉換為標記序列,然后通過預訓練模型處理,最后通過一個線性-softmax層進行分類。
不同任務的訓練目標
1. 分類(Classification)
輸入格式:Start Text Extract
-
解釋:輸入文本以“Start”標記開始,后面跟著要分類的文本,最后以“Extract”標記結束。
-
處理流程:
-
輸入文本經過文本和位置嵌入(Text & Position Embed)。
-
嵌入后的文本輸入到Transformer模型中進行處理。
-
Transformer的輸出經過一個線性層(Linear),輸出分類結果。
-
2. 蘊含(Entailment)
輸入格式:Start Premise Delim Hypothesis Extract
-
解釋:輸入包含兩個部分,前提(Premise)和假設(Hypothesis),中間用分隔符(Delim)分開,以“Start”標記開始,最后以“Extract”標記結束。
-
處理流程:
-
輸入文本經過文本和位置嵌入(Text & Position Embed)。
-
嵌入后的文本輸入到Transformer模型中進行處理。
-
Transformer的輸出經過一個線性層(Linear),輸出蘊含關系的分類結果(例如,前提是否蘊含假設)。
-
3. 相似性(Similarity)
輸入格式:Start Text 1 Delim Text 2 Extract
-
解釋:輸入包含兩個文本,中間用分隔符(Delim)分開,以“Start”標記開始,最后以“Extract”標記結束。
-
處理流程:
-
輸入文本經過文本和位置嵌入(Text & Position Embed)。
-
嵌入后的文本輸入到兩個Transformer模型中進行處理(每個文本一個Transformer)。
-
兩個Transformer的輸出經過一個線性層(Linear),輸出兩個文本的相似性得分。
-
4. 多項選擇(Multiple Choice)
輸入格式:Start Context Delim Answer 1 Extract
等
-
解釋:輸入包含一個上下文(Context)和多個可能的答案(Answer),每個答案之間用分隔符(Delim)分開,以“Start”標記開始,最后以“Extract”標記結束。
-
處理流程:
-
輸入文本經過文本和位置嵌入(Text & Position Embed)。
-
嵌入后的文本輸入到Transformer模型中進行處理。
-
Transformer的輸出經過一個線性層(Linear),輸出每個答案的選擇概率。
-
訓練范式
訓練范式(Training Paradigm)是指在機器學習和深度學習中,用于訓練模型的一系列方法和策略。它定義了模型如何從數據中學習以及如何優化其參數。不同的訓練范式適用于不同的任務和數據類型,常見的訓練范式包括:
詳見上一篇文章
-
監督學習(Supervised Learning)
-
無監督學習(Unsupervised Learning)
-
半監督學習(Semi-supervised Learning)
-
自監督學習(Self-supervised Learning)
-
強化學習(Reinforcement Learning)
-
遷移學習(Transfer Learning)
-
多任務學習(Multi-task Learning)
?
GPT-1模型的訓練范式
-
自監督預訓練 + 有監督微調:主要思想是無監督學習。
預訓練的標準語言模型目標函數
-
目標函數:根據前面K個詞預測下一個詞。
-
-
解釋:這是一個自回歸模型,給定前面的K個詞,預測下一個詞的概率。
微調的目標函數
-
目標函數:用的是完整的輸入序列加標簽,有監督目標函數加無監督目標函數,y是標簽。
-
-
解釋:這是一個有監督學習目標函數,給定輸入序列x,預測標簽y的概率。同時加入無監督目標函數L1,以增加模型的泛化性和加速收斂。
輸入形式創新
-
輸入形式:通過在序列前后添加[Start]和[Extract]特殊標識符來表示開始和結束,序列之間添加必要的[Delim]標識符來表示分隔。
-
解釋:通過這種方式,可以處理不同的下游任務。例如,分類任務、蘊含任務、相似性任務和多項選擇任務。
-
?