復旦NLP組開源PPO-Max:32頁論文詳解RLHF背后秘密,高效對齊人類偏好
近幾年,大型語言模型(LLM)技術飛速發展,以ChatGPT為首的對話助手更是將AI技術實用性增強。語言模型開發的最主要目標是成為「以人為中心」的助手,具有樂于助人、誠實且無害的性格特質,能夠與人類保持一致的價值觀,而基于人類反饋的強化學習(RLHF)則是支撐這一目標的關鍵技術。
目前的技術路線通常包括衡量人類偏好的獎勵模型、優化策略模型輸出的近端策略優化(Proximal Policy Optimization, PPO)以及提高逐步推理能力的過程監督(process supervision)。
但現狀是,由于獎勵設計、環境交互、智能體訓練等方面仍然存在挑戰,再加上大型語言模型的訓練需要付出巨大的試錯成本,人工智能領域的研究人員在推動LLM的技術對接和安全落地方面仍然存在很大的開發障礙,并且RLHF的穩定訓練也還是一個難題。
最近,復旦大學NLP組的研究人員公開了一篇論文,剖析了RLHF的框架,重新評估了PPO的內部工作原理,并探討了組成PPO算法的各個部分對策略智能體訓練的影響,結果發現策略約束是有效實施PPO算法的關鍵因素。
圖片
論文鏈接:https://arxiv.org/pdf/2307.04964.pdf
倉庫鏈接:https://github.com/OpenLMLab/MOSS-RLHF
研究人員探究了PPO算法的高級版本PPO-max,可以有效提高策略模型的訓練穩定性,并基于主要實驗結果,綜合分析了RLHF與SFT模型和ChatGPT的能力對比。
除了更多的定性結果外,研究人員還發現基于該算法成功訓練的LLM往往能夠更好地理解查詢的深層含義,回復結果更能直擊用戶靈魂。
最后,缺乏開源實現也給LLMs的對齊(alignment)研究帶來了巨大挑戰,研究人員也開源了相關代碼,并發布了中文和英文的獎勵模型。
基于人類反饋的強化學習RLHF
人工智能助手的訓練過程包括三個主要階段:有監督微調(SFT)、獎勵模型(RM)訓練和獎勵模型上的近端策略優化(PPO)。
在SFT階段,模型通過模仿人類標注的對話示例來學習通用的類人對話;在獎勵模型訓練過程中,模型會根據人類反饋來比較不同回復的偏好;在PPO階段,根據獎勵模型的反饋更新模型,通過探索(exploration)和利用(exploitation)發現最優策略。
圖片
RLHF過程中主要涉及RM訓練和PPO強化學習階段,詳細技術細節請參閱原論文。
獎勵建模 Reward Modeling
在RM架構中,研究人員使用基于Transformer的預訓練語言模型,去掉最后unembedding層,并增加一個額外的線性層。
輸入任意文本,獎勵模型將最后一個token轉換為標量獎勵值:獎勵值越大,代表樣本越好。
訓練獎勵模型通常需要一個「針對相同輸入生成的兩個回復之間的成對比較」數據集。
近端策略優化Proximal Policy Optimization
PPO和TRPO是強化學習訓練中的兩種關鍵技術,可以在不損失穩定性的情況下有效地訓練策略,其基本思想是「穩定的小步驟」(small, stable steps),即溫和地引導策略走向優化,而非強制執行可能會破壞整個學習過程穩定的激進梯度更新。
在傳統的強化中,策略梯度原則要求新舊策略在參數空間中保持接近,不過參數空間的接近并不一定等同于相似的性能,參數的微小變化可能會極大影響策略的有效性。
此外,如果不加限制地邁出一大步,可能會導致策略性能崩潰,這種情況也叫做「跌落懸崖」(falling off the cliff),這種固有風險限制了原始策略梯度的采樣效率。
圖片
TRPO對策略更新引入了另一種約束,不受限于參數的接近性,通過確保KL散度保持在可接受的范圍內來調節策略的變化。
圖片
PPO有兩種主要變體:PPO-Penalty和PPO-Clip,TRPO對KL散度施加硬約束以防止有害更新,而PPO-Penalty則采用基于懲罰的方法代替約束來解決無約束優化問題。
PPO-max
近端策略優化(PPO)是實現與人類偏好一致的核心算法,但在實際應用中,PPO的性能受到多種因素的影響,雖然之前有工作總結了一些再強化學習領域中必要且有效的技巧,但如何穩定語言模型的RLHF訓練仍是未知數。
圖片
這篇論文中,研究人員通過實驗探索了哪些技巧是比較關鍵的,哪些指標可以反映RLHF訓練過程中和訓練后的模型狀態,然后用PPO-max來表示從實驗中發現的,最適合語言模型的實現方式。
模型和數據集
對于英語數據,研究人員使用decoder-only架構的原始LLaMA-7B模型,使用HH-RLHF數據集的16萬樣本對作為訓練集,其中包括11.8萬條有用樣本和4.2萬條無害樣本;從8500條數據中隨機抽取1000條數據作為測試集,剩余數據作為驗證集。
圖片
對于中文數據,使用OpenChineseLLaMA模型,基于LLaMA-7B在中文數據集上增量預訓練后得到的,顯著提高了對中文的理解和生成能力。
研究團隊聘請了專業的標注人員對3.9萬對樣本進行人工標注,其中包括3.1萬個有用樣本和8000條無害樣本;在訓練集中隨機抽取2.4萬個有用樣本和6萬個無害樣本,然后從剩余數據中隨機分配2.4萬個有用樣本和0.6萬個無害樣本組成測試集,其余數據用于驗證。
評價指標
研究人員的目標是找出一些能反映PPO訓練質量的指標,有助于跟蹤策略模型的有益、誠實和無害的能力,從而無需使用人工標注或GPT-4來評估。
圖片
可以觀察到,原始PPO在訓練過程中存在模式崩潰現象,也意味著SFT模型被過度優化并表現出高偏差行為。
并且訓練損失有穩定的收斂過程,但從人類和GPT-4評估的角度來看,較高的獎勵并不能反映出更好的策略行為,也就說明獎勵得分和訓練損失并不能說明PPO是否正確優化。
在原始PPO訓練中,策略模型的回復獎勵逐漸偏離原始分布,表現出長尾特征。
研究人員還測試了其他指標如困惑度、策略模型和參考模型之間的KL散度以及生成回復的平均長度。
PPO-max
研究人員對PPO訓練技巧中的評分重參數化(score reparameterization)方法、策略模型的優化約束,以及策略模型和critic模型的不同初始化方法進行實驗驗證。
圖片
對PPO的每個部分選擇最有效的策略以實現PPO-max,具體實現可以參閱開源代碼。
首先根據歷史均值和方差記錄對當前獎勵組進行歸一化和裁剪,然后添加KL-懲罰項來約束策略優化。
在模型加載階段,用獎勵模型初始化critic模型,并在正式應用PPO之前對其進行預訓練,然后使用全局梯度裁剪并設置較小的經驗緩沖區。
圖片
為了減少對齊tax,在策略優化中添加了預訓練語言模型損失,如InstructGPT,并同時對估值函數損失進行裁剪。
實驗結果
研究人員將該模型和ChatGPT進行比較,選擇「無害性」作為比較指標,并采用GPT-4進行自動評估。
圖片
實驗結果可以看到,該RLHF模型仍然落后于OpenAI的ChatGPT,但與SFT模型相比,RLHF模型有了明顯的改進。
圖片
具體來說,在英文文本上訓練的RLHF模型成功地將失敗率從45%降至24%;在中文文本上訓練的RLHF模型也將失敗率從37%降至29%,表明RLHF方法增強了模型生成更有效回答的能力,縮小了與ChatGPT之間的差距。
語言理解評估
為了檢驗使用PPO對模型進行微調可能導致的自然語言理解能力的下降,使用C-Eval5對中文RLHF模型進行了測試,包含約1.3萬道多選題,涉及52個學科和4個難度級別。
實驗結果表明,采用PPO后,模型NLU的能力有所下降;通過將預訓練數據納入PPO訓練階段,PPO-ptx可以有效緩解了NLU能力的下降,底層原理是利用預訓練中獲得的知識,并將其與PPO的強化學習框架相結合。
限制
雖然該研究已經邁出了RLHF的第一步,但由于時間和資源的限制,這項工作仍然存在以下局限性:
1. 規模定律(Scaling Law)
這篇論文主要研究70億參數的模型,還沒有研究模型大小和數據規模對RLHF性能的影響。
2. 獎勵模型
實驗基于公開的英文人類偏好數據集和少量自建的中文數據,數據質量和數量不足以對獎勵模型進行全面評估。
3. 評估指標
目前評估標準主要依賴于人工評估和GPT-4自動評估,還沒有利用大量可用的基準和NLP任務來對模型進行詳細評估
4. 性能指標
該研究在PPO階段的重點是實現訓練穩定性,而不是提高最終性能,雖然穩定性至關重要,但它并不一定能保證改善結果。
此外,獎勵得分不能可靠地作為預測訓練階段RLHF性能的指標,也就意味著需要尋找更合適的訓練階段性能指標。
參考資料: