文章資訊

ChatGPT 究竟如何煉成?台大教授李宏毅提可能的訓練步驟

       ChatGPT 作為包辦所有領域資訊的問答系統,推出後即受到廣大用戶的喜愛,不過 ChatGPT 究竟怎麼學會如此龐大的資訊呢?台大電機工程學系李宏毅副教授,分享他閱讀 OpenAI 公開論文後,所得出的 ChatGPT(可能)的學習方法。

       由於 OpenAI 還未發表 ChatGPT 論文,因此李宏毅教授採其 sibling model Instruct GPT 的論文做分析,因由官方給出的 Chat GPT 和 Instruct GPT 訓練步驟圖相似度高。

Screenshot 2022-12-08 170906.png 

Photo Credit: OpenAI blog

ChatGPT 訓練步驟。
Screenshot 2022-12-08 170957.png

Photo Credit: OpenAI blog

InstructGPT 訓練步驟。

李宏毅教授認為 ChatGPT 的學習可分為以下四階段:

一、學習文字接龍

       當用戶給 GPT 一不完整句子,GPT 會猜出該接哪個字,例如給出「你好」兩字後,GPT 會接上「美」字來生成「你好美」此完整句子。學習文字接龍的過程中,不需仰賴人工標註,GPT 透過從網路蒐集大量資料來學習哪些字詞會被接在一起。

       不過,每個不完整句子後面能接上的詞有很多可能性,因此 GPT 會先了解哪幾個字要很高的機率被接上,從這些高機率單字中隨機抽出詞,這也導致 GPT 每次輸出結果皆不盡相同。

Screenshot 2022-12-08 180015.png 

Photo Credit: 李宏毅教授影片

       GPT 在學文字接龍即可回答問題,例如用戶提問「台灣最高的山是哪座?」,GPT 會接上「玉」字,再次生成一個不完整的句子「台灣最高的山是哪座?玉」,最後 GPT 在結尾接上「山」字。

二、人類來引導文字接龍方向

       但光靠學習文字接龍,GPT 仍不知道該如何給出有用的回答,因此需靠人類給出 GPT 一些問題,並藉人工寫出答案,接著再把資料一併丟給 GPT。藉此階段即可引導 GPT 去看類似人工問題的文句,而非只吸收無法成為有用輸出的資訊。

       另外,GPT 學習中出現人工輔助,即代表人類需窮舉出所有可能問題嗎?李宏毅教授猜想是不需要,因 Instruct GPT 論文顯示僅使用數萬則人工問題。GPT 本來就有能力產生正確答案,只是尚不知道哪些是人類所需的。

三、模仿人類喜好

       為了進一步讓 GPT 了解哪些文句為好答案,此時需藉「老師模型」,此模型能以人類的評分標準,來為 GPT 所給出的答案進行評分,以此助 GPT 模仿人類的偏好。

四、用增強式學習向模擬老師學習

       上一階段的「老師模型」為增強式學習(reinforcement learning)的獎勵(reward)環節,若將 GPT 答案丟給老師模型產出低分後,系統再以增強式學習來調整參數,試圖達到高分。

Screenshot 2022-12-08 175954.png

Photo Credit: 李宏毅教授影片

ChatGPT 並非完美

       值得注意的是,ChatGPT 無法永遠給出正確答案,知名程式設計問答網站 Stack Overflow 近日表示因 ChatGPT 答案正確率太低,而暫時禁用戶分享 GPT 的回答。學者 Gary Marcus 則提出 GPT 是善於模仿人類語言,能讓答案聽起來準確,但未必代表 ChatGPT 對於真實世界有所理解。

       李宏毅教授也建議由於 GPT 的設計是回答人類想要的問題,因此可試問一些沒用的問題,就有機會得到錯誤回答。

文章來源:https://www.inside.com.tw/article/30032-chatgpt-possible-4-steps-training