RL訓練總崩潰?R1-Reward穩定解鎖獎勵模型Long-Cot推理能力
多模態獎勵模型(MRMs)在提升多模態大語言模型(MLLMs)的表現中起著至關重要的作用,在訓練階段可以提供穩定的 reward,評估階段可以選擇更好的 sample 結果,甚至單獨作為 evaluator。盡管近期強化學習(RL)在傳統視覺任務和多模態推理任務中取得了顯著進展,但其在獎勵建模中的應用仍然受到挑戰,尤其是如何通過強化學習對獎勵模型引入長期推理能力。
來自快手、中科院、清華、南大的研究團隊發現,直接把現有的 RL 算法(比如 Reinforce++)用到訓練 MRM 上,會遇到很多問題,比如訓練過程很不穩定,甚至直接崩掉。本文的出發點就是要解決這些問題,探索如何利用強化學習來穩定、有效地提升多模態獎勵模型的長時推理能力。基于團隊在多模態強化學習的工作 MM-RLHF (ICML 2025),本文進一步提出了 R1-Reward,在現有的多模態獎勵模型 benchmark 上相比于 SOTA 模型有 5%-15% 的提升,且隨著 inference sampling 的數目增多還能進一步增長。
R1-Reward 不僅在學術上展現了巨大價值,還在快手的實際業務場景中得到了成功應用。例如,在短視頻、電商和直播等場景中,該方法已用于標簽識別、多圖 / 多視頻相關性判斷以及短視頻推薦,并取得了顯著的性能提升,展示了較強的工業化潛力。
- [?? arXiv Paper](https://arxiv.org/abs/2505.02835)
- [?? Training Code](https://github.com/yfzhang114/r1_reward)
- [?? R1-Reward Model](https://huggingface.co/yifanzhang114/R1-Reward)
一分鐘速看全文內容
1. 重新定義問題:作者把訓練獎勵模型這個問題,看成是一個基于規則的強化學習任務。簡單說,就是給獎勵模型一個問題和兩個答案,讓它通過學習來判斷哪個答案更好,并且能給出合理的分析。
2. 提出新算法 StableReinforce:針對現有 RL 算法的不足,他們提出了一個改進版的算法叫 StableReinforce。這個算法主要在幾個方面做了優化:
- 改進了損失函數里的裁剪操作,提出了 Pre-Clip,防止數值計算不穩定。
- 提出了一種更穩健的優勢值(advantage)處理方法(叫做優勢過濾器 Advantage Filter),不容易被極端值帶偏。
- 設計了一個新穎的“一致性獎勵” (Consistency Reward)。它引入了另一個大模型作為 “裁判”,專門檢查獎勵模型自己的分析過程和它最終給出的答案是不是一致的。如果一致,就給獎勵,這樣能促使模型做出更符合邏輯的判斷。
3. 漸進式的訓練策略:
- 他們從各種公開數據集中收集了 20 萬條偏好數據,構建了一個名為 R1-Reward-200k 的數據集用于訓練。
- 采用了一種 “漸進式難度” 的訓練策略。因為直接用 RL 訓練模型效果不好(冷啟動問題),他們先用 GPT-4o 對這些數據生成了詳細的思考過程,作為監督微調(SFT)的數據,讓模型先 “入門”。同時,他們記錄了 GPT-4o 判斷每個樣本的難度(需要嘗試幾次才能判斷對)。
- 在后續的強化學習階段,專門挑選那些 GPT-4o 都覺得比較難(需要嘗試多次或者干脆判斷錯誤)的樣本進行訓練,讓模型在難題上得到鍛煉。
4. 效果顯著:
- 實驗結果表明,這個 R1-Reward 模型在幾個主流的多模態獎勵模型測評基準(如 VL Reward-Bench, Multimodal Reward Bench)上表現非常出色,顯著超過了之前的最佳模型 (SOTA)。比如在一個榜單上提升了 8.4%,在另一個榜單上提升了 14.3%。
- 更有趣的是,他們發現通過在推理時多做幾次計算(比如采樣 5 次或 15 次,然后投票選最多的答案),R1-Reward 的性能還能進一步大幅提升,這說明 RL 方法在優化獎勵模型方面潛力巨大。
- 他們還觀察到,經過 StableReinforce 的 RL 訓練后,模型輸出的平均長度減少了大約 15%,這意味著模型可能變得更有效率了。
現有強化學習方法的局限性
什么是獎勵模型
獎勵模型(Reward Model)通常被用來判斷兩個模型的回答,哪一個更符合人類喜好。具體的優化公式如下:
具體的優化公式大概長這樣:
這里的 r (y|x) 是模型打的分數,σ 是個 sigmoid 函數,E 表示求期望(平均)。即模型要盡量讓好答案的分比壞答案的分高,差距越大越好,然后通過 log 和 sigmoid 函數來計算損失。
PPO 和 Reinforce++ 算法簡介
- PPO (Proximal Policy Optimization)
PPO 是一種很常用的強化學習算法,屬于策略梯度方法,目標是直接優化模型(策略)來獲得最大的累積獎勵。它的厲害之處在于,它不像傳統的策略梯度方法那樣容易因為步子邁太大而導致訓練不穩定。PPO 通過一種特殊的方式來限制每次策略更新的幅度。
它的目標函數如下:
這個公式的核心思想在于 min 和 clip 操作。它確保了就算 ratio * A_t (標準的策略梯度目標)很大,也會被 clip 后的項限制住,防止策略更新過猛導致訓練不穩定。PPO 因為實現簡單、效果好,所以在很多地方(比如機器人控制、玩游戲)都得到了應用。
- Reinforce++
Reinforce++ 是在 PPO 基礎上做了一些優化的版本,目的是讓訓練更穩定、更高效。主要改進有:
1、在reward中增加了KL 散度懲罰:在獎勵函數里加入了一項用來懲罰強化學習模型(RL model)和監督微調模型(SFT model)在每個詞(token)上的輸出概率分布差異過大。獎勵函數變成了:。這里
表示只有在生成結束符時才加上原始的任務獎勵r(x, y) ,
是那個 KL 懲罰項。
2、獎勵和優勢的歸一化:它會對整個批次(batch)的獎勵進行歸一化、裁剪和縮放,還對優勢值A進行歸一化:(減去均值
,再除以標準差
)。
在很多研究中 Reinforce++ 比 GRPO 更穩定,比 PPO 收斂更快。
PPO/Reinforce++ 的問題在哪?
雖然 PPO 和 Reinforce++ 不錯,但在實際訓練中,尤其是在訓練獎勵模型的時候,研究者們發現它們有兩個核心問題,很容易讓模型訓練不穩定甚至失敗:
1. 訓練損失導致的不穩定:
- 計算 PPO 損失時,需要算概率比值 ratio。如果新舊策略差別很大,此 ratio 可能會變得非常大或非常小。
- 在代碼實現里(比如用 PyTorch),通常是算 ratio = torch.exp(log_probs - old_log_probs)。如果 log_probs - old_log_probs 差值很大,exp() 運算可能會導致數值溢出,最終導致程序崩潰。
- 即使數值沒有溢出,如果算出來的 ratio 很大,并且優勢 A_t 是負的(表示這個動作不好),那么根據 PPO 的損失公式 ,這個損失值可能會變得異常大。這么大的損失會讓模型的參數更新變得極其不穩定。
2. 優勢歸一化導致的不穩定:
- 獎勵模型的訓練數據標簽通常很簡單,比如就兩個標簽:1 和 2(1 好還是 2 更好)。模型比較容易學會區分。
- 這就導致在訓練后期,一個批次(batch)里的數據,模型可能大部分都能預測對。比如一個 batch 里有 255 個樣本的真實獎勵是 1,只有 1 個是 0。
- 在這種情況下,獎勵的方差會非常小。如果這時候還用標準的優勢歸一化方法(減均值除以標準差 ),那個獎勵為 0 的樣本對應的優勢值,在歸一化之后可能會變成一個絕對值非常大的數(例子中是 -15.96)。
- 這么大的優勢值同樣會干擾模型的更新,導致訓練不穩定。
總的來說,就是直接把 PPO 或者 Reinforce++ 用在獎勵模型訓練上,會因為損失計算和優勢歸一化這兩個環節內在的問題,在高效率訓練或者訓練后期特定數據分布下,引發數值不穩定,最終影響模型效果。
StableReinforce 提升訓練穩定性
1. Pre-CLIP 策略:為了減小大比例差異的影響,Pre-CLIP 策略會在計算對數概率的指數值之前對比例進行裁剪。通過在應用指數函數前裁剪 log-πθ/πθold 的比例,可以避免由于比例差異過大而導致的溢出問題,并緩解負優勢情況下的大對數差異。裁剪后的公式為:
其中和分別為允許的最小和最大比例限制(上面的偽代碼會更清晰一些(algorithm 1))。
2. Advantage Filter 策略:為了避免由于優勢分布的極端不平衡對訓練帶來的影響,文章采用了 3-sigma 規則(即保留標準化優勢在范圍內的樣本)。公式為:
標準化后的優勢通過公式計算,其中
和
分別為優勢分布的均值和標準差。
結合了 Pre-CLIP 和優勢過濾器,最終用來優化的目標函數長得有點像常用的 PPO 算法的目標函數,但有所修改:
R1-Reward
將 MRM 轉化為強化學習問題
首先使用下面的 prompt,將獎勵建模問題轉化為 rule-based 的強化學習問題
近期 follow deepseek-r1 工作的方法基本上都是格式獎勵 + 結果獎勵,但是在獎勵模型訓練過程中,這存在著一致性問題:即只用上面兩個獎勵時,模型有時會 “精神分裂”:分析部分(<analysis>)明明說回答 2 更好,但最后卻輸出 <answer>1</answer>。因此本文引入了一個額外的 “裁判” 模型(文中用了 Qwen2.5-VL-7B-Instruct)。這個裁判專門負責檢查獎勵模型自己輸出的分析內容,看它是不是真的支持最終給出的那個答案。
1. 獎勵函數設計:文章提出了三種獎勵函數:
- 格式獎勵:要求模型的輸出符合指定的格式,即‘<think> </think><answer> </answer>’,鼓勵模型在給出最終答案之前先進行推理,以提高內容的質量和可解釋性。
- 結果獎勵:模型最終生成的答案必須與人類專家的偏好一致。
- 一致性獎勵:確保推理過程與最終答案一致,即模型的最終結果應當直接源自其推理過程,而不是與推理步驟無關的生成內容。
2. 最終獎勵計算:為了解決可能出現的一致性獎勵過度偏重的問題,最終的獎勵計算公式為:
這樣的設計好在 Consistency Reward 的加成效果(乘以 0.5 再加 1)只有在 Result Reward 大于 0(也就是答案選對)的時候才能真正起作用。如果答案選錯了,Result Reward 通常是 0 或者負數,那么一致性獎勵就不會帶來正向激勵(或者激勵很小),從而確保模型首要目標還是把答案選對。格式獎勵作為一個基礎分被加上去。
“長思考鏈” 的冷啟動問題 (Long-CoT Cold Start)
多模態大模型(MLLMs)本身并不是為做獎勵模型這種 “評價比較” 任務而設計的,所以直接用強化學習去訓練它們,效果通常很差而且不穩定,因此本文先進行了一輪監督微調。
做法:讓 GPT-4o 對 R1-Reward-200k 數據集里的每一條數據,都按照 Table 1 里的提示模板,生成標準的 “分析過程” 和 “最終答案”。生成時設置 temperature=1(讓輸出更發散),并且最多嘗試 3 次,直到生成的答案和真實標簽一致。
記錄難度:同時,他們還記錄了 GPT-4o 需要嘗試幾次才能生成正確答案,把這個次數作為樣本 “難度” 的指標。
目的:這個 SFT 階段就像是給模型 “預習”。通過模仿 GPT-4o 的輸出,先讓模型學會任務的基本格式和流程,熟悉這個獎勵建模任務應該怎么做。
強化學習(RL)訓練數據的篩選
1. 篩選標準:在進行真正的強化學習訓練時,并不是用 SFT 階段的所有數據。研究人員專門挑選了那些被認為是 “更難” 的樣本。
2. 具體來源:
- 在 SFT 階段,那些 GPT-4o 需要嘗試 2 次或 3 次才能給出正確答案的樣本。
- 以及那些 GPT-4o 嘗試了 3 次仍然沒能給出正確答案的樣本。
研究人員認為,這些樣本通常意味著兩個回答之間的差別更小,更難判斷優劣。用這些 “硬骨頭” 來訓練模型進行強化學習,可以更有效地提升模型辨別細微差異的能力。
有趣的實驗發現
研究人員通過一系列實驗來驗證他們提出的 R1-Reward 模型和 StableReinforce 算法的效果,得到了一些挺有意思的結果:
R1-Reward 效果拔群
在好幾個主流的多模態獎勵模型排行榜(比如 VLReward Bench, Multimodal Reward Bench, MM-RLHF-Reward Bench)上,R1-Reward 的表現都非常亮眼,平均準確率顯著超過了之前最好的開源模型(比如 IXC-2.5-Reward)。
Test-Time Scaling
他們嘗試在評價的時候,讓 R1-Reward 模型對同一個問題輸出好幾個判斷結果(比如輸出 5 次或 15 次),然后采取少數服從多數(投票)的方式來決定最終哪個答案更好。
結果發現,這種簡單的 “投票” 策略能大幅提升 R1-Reward 的準確率。比如在 MM-RLHF 這個比較難的榜單上,投票 5 次就能把準確率從大約 71% 提升到 85.3%,投票 15 次更是達到 86.47%,遠超其他模型。
更有意思的是,他們還試了另一種策略叫 “Any Correct”,就是只要模型輸出的 K 次結果里有一次是正確的,就算對。結果發現,當 K=15 時,這種策略的準確率 幾乎接近 100%!這暗示 R1-Reward 其實有潛力完美區分所有樣本,只是需要更多的數據或更好的訓練策略來完全激發出來。
aha Moment
通過 SFT 和 RL 訓練,R1-Reward 不僅學會了如何評價兩個回答,還自主地學習到了一套分析流程:先明確目標、分析圖像、嘗試解決問題、給出答案,然后基于這個過程去評價兩個外部給定的回答。
更有趣的是,模型展示出了類似人類的反思和糾錯能力。比如在上圖中,模型自己計算時出錯了,但在檢查圖表后,意識到了錯誤并重新計算得到了正確結果。這說明模型不僅僅是在模仿,還在學習某種程度的自我檢查和修正機制。
經過強化學習訓練后,模型輸出的分析內容的平均長度還減少了約 15%,說明模型可能變得更 “言簡意賅”,推理效率提高了。
結論
本文介紹了 R1-Reward,這是一種使用 StableReinforce 算法訓練的多模態獎勵模型(MRM)。通過實驗,本文證明了強化學習(RL)在獎勵建模中的有效應用,顯著提升了模型的表現。R1-Reward 解決了多個關鍵問題,包括訓練不穩定、優勢歸一化限制以及推理和結果之間的不一致性。通過引入 Pre-Clipping、優勢過濾、一致性獎勵以及漸進式訓練策略,StableReinforce 算法有效穩定了訓練過程并提升了模型性能。
實驗結果表明,R1-Reward 在多個多模態獎勵模型基準上超越了現有最先進的模型(SOTA),在準確率和數據效率方面取得了顯著進展。此外,R1-Reward 還展示了優秀的推理時擴展能力,為未來將強化學習融入多模態獎勵模型(MRM)的研究奠定了基礎。
展望未來,RL 在獎勵建模中的應用仍有許多值得探索的方向。例如,本文僅測試了簡單的多數投票策略用于推理時擴展,未來可能通過更先進的方法進一步提升性能。此外,改進訓練策略以進一步增強獎勵模型的基礎能力,也是一個有意義的開放性問題。