ChatGPT 是 Chat Generative Pre-trained Tranformer 的簡寫,由 OpenAI 公司開發的生成式 AI 程式,它可以根據背後的機率分佈逐個生成單詞,生成與人類說話方式相似的文本。
它是 AI 深度學習發展出來的程式,原理如下圖所示,
步驟1,學習文字接龍:加入新語料對模型進行 Fine-Tune 的監督學習,收集資料庫數據,以驗證過的原則來訓練。
針對隨機選出的問題,人類老師同時扮演問與答的角色,模型會自動生成建議,人類老師會參考這些建議對句子進行重組,加上自己的判斷,來幫助生成回答。這些由人類老師輔助重組後的問與答會形成新的對話語料,與前面的 prompts 提示數據集進行混合訓練。
步驟2,人類老師引導文字接龍的方向:Reward Model 獎勵模型,比較結果,以人類接受度最高分者回饋給程式,作為再訓練之模式。
Comparison data 指的是同一個問題,會有不同的回答,也就是不同組 Q/A pairs,人類老師會根據模型給出的回答做排序。生成式模型在接龍的過程,背後是一個隨機抽樣的詞語與他們的機率分佈,因此我們在與 ChatGPT 對話的時候,生成的回答都不完全相同
步驟3,強化學習 (RL) 以讓文字接龍能獲得最大獎勵,以回饋模式來最佳化演算法。
此時,Reward model 模型已經具備了『判別人類老師喜好』的基本能力了,接著用強化學習去學習得到最大獎勵的『策略 Policy』。比方說當他 get 到人類老師更喜歡的回答是:答案+原因脈絡與額外資訊,那他在回答每一個問題的時候會更傾向於以這樣的方式去回答,因為按照這樣的『策略』回答能夠獲得『最大獎勵』。(PPO 算法是 2017 年 OpenAI 開發的一系列無模型的強化學習算法,是在 Policy Gradient(策略梯度)算法的基礎上發展而來的,它使用策略梯度方法來更新 Agent 的策略,並引入一種保證更新幅度的約束機制,稱為近端策略優化(Proximal Policy Optimization))
OpenAI 雇用了一個約 40 個人力的團隊去寫 prompts,這些提示有三種型態:(1) 隨機主題,主題越多樣越好,為了確保未來模型的回答可以更泛化(generalization)(2) 以 few-shots 的概念,類似人類老師給多個範例和答案,例子舉得越多,機器越知道如何回答。(3) 一些過去曾使用 OpenAI API 真實用戶問的問題,人類老師要去生產出恰當的回答,以便後面讓模型去學。這部分的 prompt 是很重要的環節,尤其是在倫理道德上如何避免騷擾、惡意、違法或是觸碰爭議的問題,當然不去回答或是避開回答也是一種回答。
簡單描述其學習的四個階段
1. 學習文字接龍:
2. 人類老師引導文字接龍的方向:
3. 模仿人類老師的喜好:
4. 用增強式學習向模擬老師學習:
最後,讓我們來跟它玩一下詩的創作。首先,我請它創作一首有關冬天的詩。
然後我請它將英文翻譯成中文
我問它能不能把這首詩改寫成李白的風格
然後我寫一首七言絕句請它評論,它的評論如下
再請它改成李白風格,作為 ChatGPT 的完結。
Reference:
1. ChatGPT 的進化史 — 從論文到實際應用的探索之路 (上) & (下) by Youngmi huang
2. 生成式AI ChatGPT 原理剖析 、ChatGPT (可能)是怎麼煉成的 — GPT 社會化的過程 、來自獵人暗黑大陸的模型 GPT-3 by Hung-Yi Lee
留言列表