當下,RLHF/ChatGPT 已經變成了一個非常流行的話題。我們正在致力於更多有關 RLHF 的研究,這篇部落格嘗試復現 OpenAI 在 2019 年開源的原始 RLHF 程式碼庫,其倉庫位置位於 openai/lm-human-preferences。儘管它具有 「tensorflow-1.x」 的特性,但 OpenAI 的原始程式碼庫評估和基準測試非常完善,使其成為研究 RLHF 實現工程細節的好地方。
我們的目標是:
這項工作僅適用於以教育/學習為目的的。對於需要更多功能的高階使用者,例如使用 PEFT 執行更大的模型, huggingface/trl 將是一個不錯的選擇。
在 匹配學習曲線 中,我們展示了我們的主要貢獻: 建立一個程式碼庫,能夠在風格化任務中復現 OAI 的結果,並且與 openai/lm-human-preferences 的學習曲線非常接近地匹配。
然後我們深入探討了與復現 OAI 的工作相關的實現細節。在 總體實現細節 中,我們討論了基本細節,像如何生成獎勵/值和如何生成響應。在 獎勵模型實現細節 中,我們討論了諸如獎勵標準化之類的細節。在 策略訓練實現細節 中,我們討論了拒絕取樣和獎勵「白化」等細節。
接下來,我們檢查了在獎勵標籤由 gpt2-large
生成的情況下,訓練不同基礎模型 (例如 gpt2-xl, falcon-1b) 的效果。
最後,我們通過討論一些限制來總結我們的研究工作。
以下是一些重要連結: