ICML 2024 Oral | DPO是否比PPO更適合LLM,清華吳翼團隊最新揭秘
吳翼,清華大學交叉信息院助理教授,曾任 OpenAI 全職研究員,研究領域為強化學習,大模型對齊,人機交互,機器人學習等。2019 年在美國加州大學伯克利分校獲得博士學位,師從 Stuart Russell 教授;2014 年本科畢業于清華大學交叉信息院(姚班)。其代表作包括:NIPS2016 最佳論文,Value Iteration Network;多智能體深度強化學習領域最高引用論文,MADDPG 算法;OpenAI hide-and-seek 項目等。
如何讓大模型更好的遵從人類指令和意圖?如何讓大模型有更好的推理能力?如何讓大模型避免幻覺?能否解決這些問題,是讓大模型真正廣泛可用,甚至實現超級智能(Super Intelligence)最為關鍵的技術挑戰。這些最困難的挑戰也是吳翼團隊長期以來的研究重點,大模型對齊技術(Alignment)所要攻克的難題。
對齊技術中,最重要的算法框架就是根據人類反饋的強化學習(RLHF, Reinforcement Learning from Human Feedback)。RLHF 根據人類對大模型輸出的偏好反饋,來學習基于人類反饋的獎勵函數(Reward Model),并進一步對大模型進行強化學習訓練,讓大模型在反復迭代中學會辨別回復的好壞,并實現模型能力提升。目前世界上最強的語言模型,比如 OpenAI 的 GPT 模型和 Anthropic 的 Claude 模型,都極其強調 RLHF 訓練的重要性。OpenAI 和 Anthropic 內部也都開發了基于大規模 PPO 算法的 RLHF 訓練系統進行大模型對齊。
然而,由于 PPO 算法流程復雜,算力消耗大,美國 AI 公司的大規模 RLHF 訓練系統也從不開源,所以盡管 PPO 算法非常強大,學術界的對齊工作卻一直很少采用復雜的 PPO 算法進行 RLHF 研究,轉而普遍使用 SFT(監督微調)或者 DPO(Direct Policy Optimization)等更簡化、更直接、對訓練系統要求更低的對齊算法。
那么,簡單的對齊算法一定效果更好嗎?吳翼團隊發表在 ICML 2024 的工作 “Is DPO Superior to PPO for LLM Alignment? A Comprehensive Study” 仔細探討了 DPO 與 PPO 算法的特點,并指出提升 RLHF 算法效果的關鍵點。在該工作中,吳翼團隊基于自研的大規模 RLHF 訓練系統,首次采用 PPO 算法及參數量更少的開源模型,在公認最困難的挑戰 —— 代碼生成任務 CodeContest—— 上超過閉源大模型 AlphaCode 41B。
相關成果被 ICML 2024 錄用為 Oral Presentation,并將在 7 月 23 日于 ICML 2024 第一個 Oral session Alignment-1 上和 OpenAI、Anthropic 等知名機構的工作一起進行公開匯報。
接下來讓我們對比一下 GPT-4 和經過 PPO 算法訓練的 CodeLlama 34B 模型在代碼生成上的效果,在例子 1 中,經過 PPO 算法訓練的 CodeLlama 34B 模型與 GPT-4 模型生成了質量相當的代碼。
在示例 2 中,可以看到經過 PPO 算法訓練的 CodeLlama 34B 模型與 GPT-4 模型都能生成完整并且可運行的 python 代碼。然而,在這個例子下,GPT-4 生成了錯誤的代碼,在測試數據上無法正確輸出。而經過 PPO 算法訓練的 CodeLlama 34B 模型生成的代碼可以通過測試。
在 ICML 2024 的這篇論文中,研究團隊詳細探討了 DPO 與 PPO 算法的特點,并指出提升 DPO 和 PPO 能力的關鍵點。
- 論文標題:Is DPO Superior to PPO for LLM Alignment? A Comprehensive Study
- 論文地址:https://arxiv.org/pdf/2404.10719
DPO 算法的局限性
相比于 PPO,DPO 使用離線數據而非在線采樣數據訓練。經分析,DPO 算法會導致訓練出的模型對訓練數據分布之外的輸出產生偏好,在某些情況下產生不可預料的回復。
于是,為了提升 DPO 算法的能力,研究團隊總結了兩個關鍵技術:在 RLHF 訓練前進行額外的 SFT 訓練,以及使用在線采樣數據而非離線數據。
實驗表明,使用額外的 SFT 訓練可以使 base 模型以及 reference 模型更偏向于數據集內的分布,大大提升 DPO 算法效果;另一方面,使用在線采樣數據進行迭代訓練的 DPO 算法可以得到穩步提升,表現遠遠優于基礎的 DPO 算法。
PPO 算法的關鍵點
除去 DPO,論文中也總結了發揮 PPO 最大能力的三個關鍵點:
- 使用大的批大小(large batch size)
- 優勢歸一化(advantage normalization)
- 以及對 reference model 使用指數移動平均進行更新(exponential moving average for the reference model)。
研究團隊成功使用 PPO 算法在對話任務 Safe-RLHF/HH-RLHF 以及代碼生成任務 APPS/CodeContest 上達到了 SOTA 的效果。
在對話任務上,研究團隊發現綜合了三個關鍵點的 PPO 算法顯著優于 DPO 算法以及在線采樣的 DPO 算法 DPO-Iter。
在代碼生成任務 APPS 和 CodeContest 上,基于開源模型 Code Llama 34B,PPO 算法也達到了最強的水平,在 CodeContest 上超越了之前的 SOTA,AlphaCode 41B。
想要實現效果較好的大模型對齊,高效率的訓練系統是不可缺少的,在實現大規模強化學習訓練上,吳翼團隊有長期的積累,從 2021 年開始就搭建了專屬的分布式強化學習框架。
- NeurIPS 2022 The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games [1]:提出并開源了用于多智能體的強化學習并行訓練框架 MAPPO,支持合作場景下的多智能體訓練,該工作被大量多智能體領域工作采用,目前論文引用量已超過 1k。
- ICLR 2024 Scaling Distributed Reinforcement Learning to Over Ten Thousand Cores [2]: 提出了用于強化學習的分布式訓練框架,可輕松擴展至上萬個核心,加速比超越 OpenAI 的大規模強化學習系統 Rapid。
- ReaLHF: Optimized RLHF Training for Large Language Models through Parameter Reallocation [3]: 最近,吳翼團隊進一步實現了分布式 RLHF 訓練框架 ReaLHF。吳翼團隊的 ICML Oral 論文正是基于 ReaLHF 系統產出的。ReaLHF 系統經過長時間的開發,經歷大量的細節打磨,達到最優性能。相比于之前的開源工作,ReaLHF 可以在 RLHF 這個比預訓練更復雜的場景下達到近乎線性的拓展性,同時具有更高的資源利用率,在 128 塊 A100 GPU 上也能穩定快速地進行 RLHF 訓練,相關工作已開源:https://github.com/openpsi-project/ReaLHF
除了提升大語言模型代碼能力之外,吳翼團隊還采用多種將強化學習算法和大模型結合的方式,實現了多種復雜 LLM Agent,并可以和人類進行復雜交互。
在 MiniRTS 中使用強化學習既能聽從人類指令也能做出最優決策的語言智能體 [4]。
在狼人殺中訓練策略多樣化的強化學習策略以提升大模型的決策能力 [5]。
在 Overcooked 游戲中結合小模型與大模型實現能進行實時反饋的合作 Language Agent [6]。
結合強化學習訓練的機器人控制策略與大語言模型推理能力讓機器人能夠執行一系列復雜任務 [7]。
為了使大模型能真正走進千家萬戶,對齊技術是至關重要的,對于學術界和大模型從業者來說,好的開源工作和論文無疑會大大降低實驗成本和開發難度,也期待隨著技術發展,會有更多服務于人類的大模型出現。