Pre-trained model 經過 SFT (Supervised Fine-Tuning) 再經過 RLHF (Reinforcement Learning from Human Feedback) 的這一套組合拳在 2023 年堪稱顯學
網路上甚至產生了一個很有名的修格斯(Shoggoth)怪物梗圖. (wiki: 形態無定的原生質生物,是克蘇魯神話中最駭人的存在之一)
Elon Musk 也在 twiitter 發了一張帶著笑臉面具的修格斯對人類說著 [ref]:
“As an AI language model, I have been trained to generate responses that are intended to be helpful, informative, and objective…”
第一步的 pre-trained phase 就是大力出奇蹟硬 train 一發, 模型長得像觸手怪的修格斯般, 什麼都有可能也很難控制其行為 (產生人類要的笑臉). 因此需要第二階段的 SFT, 而這很好做, 只要藉由篩選或人工介入得到比較高品質的資料後, 重新 supervised fine tuning 一下就結束了.
不過若要達到最終更好的效果或是人類喜歡的輸出等等, 還是得依靠最後一階段的 RLHF
相比 SFT, RLHF 對超參數敏感許多, 同時 RLHF 必須依賴一個事先訓練好的 reward 模型來為每個 output tokens 打分數, 才能訓練 LLM, 這種兩階段訓練也是模型調整的一大困難點之一.
2023 年 Stanford 團隊提出 DPO (Direct Preference Optimization) [arxiv]
成功將 LLM 偏好對齊的問題從 RL 轉換成 supervised training, 一舉改善 RLHF 的缺點的同時, 效果仍然卓著.
[PS]: 由於原本的修格斯(Shoggoth)怪物梗圖實在太過鮮明, 我讀完 DPO 方法後, 很想知道這個梗圖可以怎麼改
以下為 Gemini nano banana 🍌 的版本:沒有原圖那麼有衝擊力, 但倒也像個說明書般地圖示了… 😅
回到正文, 究竟 DPO 怎麼將 RL 變 supervised training 的? 這數學魔術怎麼變的?
帶著好奇心讓我們讀下去, 不過還得先從 RLHF 說起
沒有原圖那麼有衝擊力, 但倒也像個說明書般地圖示了… 😅
初次看到可能會很疑惑, 為啥要多 padding zero vectors? 本文就來解釋一下原因.