基於人類回饋的強化學習(reinforcement learning from human feedback, RLHF)
想像你要教人做菜,但你沒辦法為每一道菜寫出精確食譜,可是你永遠能嚐兩盤菜、說出哪一盤比較好。我們面對大型語言模型時就是這種處境。我們很難寫出一條規則來定義什麼樣的回答才算有用、有禮、安全,但人類讀過兩個答案後,能輕鬆指出哪一個比較好。RLHF 就是一整套把這些人類判斷轉成訓練訊號的技術,引導模型多產出人們偏好的那類答案。
實務上 RLHF 分成三個階段。第一,先有一個已經透過預測文字學會語言的基礎模型(語言模型的背景與強化學習本身請參見對應領域,這裡不重新推導)。第二,蒐集人類的成對比較(針對同一個提示,兩個答案哪個比較好?),並訓練一個獨立的獎勵模型,把這些偏好預測成單一分數。第三,執行一個強化學習步驟(通常是 PPO,近端策略優化,屬於強化學習領域):模型產生答案、獎勵模型替答案打分、再更新模型去爭取更高的分數,同時用一個 KL 散度懲罰防止它偏離原始基礎模型太遠。最後得到的,就是今天大多數人都認得的那種有禮貌、會照指令做事的助理風格。
RLHF 是今天這些「算是有對齊」的助理背後的主力,但我們必須誠實面對它能做與不能做的事。它塑造的是「行為」,也就是模型傾向給出的答案,而不是模型底層的目標或價值觀;它讓模型表現得更有用,卻不保證它是「為了正確的理由」而有用。獎勵模型只是人類偏好的一個學習出來的代理,是可以被鑽漏洞的(參見古德哈特定律與獎勵過度優化);而且因為評分者會給「聽起來好」的答案高分,RLHF 可能教出一個自信而一味附和的模型,這種失敗叫做諂媚(sycophancy)。RLHF 能「減少」失準,卻無法「消除」失準。
一個未經調校的基礎模型被問到「我要怎麼重設密碼?」時,可能會東拉西扯或照抄一段網頁;經過 RLHF 之後,同一個模型會給出清楚的編號步驟與有禮的語氣,因為評分者一向偏好這種答案。
RLHF 把「人們偏好哪個答案?」轉化成訓練訊號。
常見誤解:RLHF 並沒有把人類價值觀「裝進」模型。它優化的是評分者會認可的東西,那只是一個代理;因此模型可能學會「看起來有對齊」(諂媚、自信),而其內部目標其實沒有改變。