多模態獎勵模型(MRMs)在提升多模態大語言模型(MLLMs)的表現中起著至關重要的作用:
在訓練階段,它可以提供穩定的 reward;
在評估階段,它可以選擇更好的 sample 結果;
單獨使用時,它可以直接作為 evaluator;
……
而強化學習(RL)在理論上能夠對 MRM 引入長期推理能力,使 MRM 更加高效。
但如果直接把現有的 RL 算法(比如 Reinforce++)用到訓練 MRM 上,就會出現很多狀況,比如,訓練過程會很不穩定、甚至可能直接崩掉:
基于多模態強化學習的工作 MM-RLHF(ICML 2025),進一步推出了R1-Reward模型。
在現有的多模態獎勵模型 benchmark 的基礎上,相比于當前最先進的 SOTA 模型,實現5%-15%的提升。
且隨著 inference sampleing 的數目增多還能進一步增長!
作者把訓練獎勵模型這個問題,看成是一個基于規則的強化學習任務。簡單說,就是給獎勵模型一個問題和兩個答案,讓它通過學習來判斷哪個答案更好,并且能給出合理的分析。
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)是干嘛的。簡單說,它就是用來判斷兩個模型的回答,哪一個更符合人類喜好。
具體的優化公式大概長這樣:
PPO 和 Reinforce++ 算法簡介 PPO ( Proximal Policy Optimization )
PPO 是一種很常用的強化學習算法,屬于策略梯度方法,目標是直接優化模型(策略)來獲得最大的累積獎勵。它的厲害之處在于——它不像傳統的策略梯度方法那樣,容易因為步子邁太大而導致訓練不穩定。
PPO 通過一種特殊的方式來限制每次策略更新的幅度。它的目標函數是這樣的:
PPO 因為實現簡單、效果好,所以在很多地方(比如機器人控制、玩游戲)都用得很廣。
Reinforce++
Reinforce++ 是在 PPO 基礎上做了一些優化的版本,目的是讓訓練更穩定、更高效。主要改進有:
加了 KL 散度懲罰:在獎勵函數里加入了一項,用來懲罰強化學習模型(RL model)和監督微調模型(SFT model)在每個詞(token)上的輸出概率分布差異過大。獎勵函數變成了類似這樣:。這里表示只有在生成結束符時才加上原始的任務獎勵,是那個 KL 懲罰項。
獎勵和優勢的歸一化:它會對整個批次(batch)的獎勵進行歸一化、裁剪和縮放,還對優勢值 A 進行歸一化:
在很多研究中,Reinforce++ 都比 GRPO 更穩定、比 PPO 收斂更快。
PPO/Reinforce++ 的問題在哪?
雖然 PPO 和 Reinforce++ 不錯,但在實際訓練中,尤其是在訓練獎勵模型的時候,研究者們發現它們有兩個核心問題,很容易讓模型訓練不穩定甚至失敗:
計算 PPO 損失時,需要算那個概率比值 ratio。如果新舊策略差別很大,這個 ratio 可能會變得非常大或非常小。
在代碼實現里(比如用 PyTorch),通常是算 ratio = torch.exp ( log_probs - old_log_probs ) 。如果 log_probs - old_log_probs 這個差值很大,exp ( ) 運算可能會導致數值溢出,直接讓程序崩潰。
就算沒崩潰,如果算出來的 ratio 很大,并且優勢 A_t 是負的(表示這個動作不好),那么根據 PPO 的損失公式,這個損失值可能會變得異常大。這么大的損失會讓模型的參數更新變得極其不穩定。
優勢歸一化導致的不穩定:
獎勵模型的訓練數據標簽通常很簡單,比如就兩個標簽:1 和 2(1 好還是 2 更好)。模型比較容易學會區分。
這就導致在訓練后期,一個批次(batch)里的數據,模型可能大部分都能預測對。比如一個 batch 里有 255 個樣本的真實獎勵是 1,只有 1 個是 0。
在這種情況下,獎勵的方差會非常小。如果這時候還用標準的優勢歸一化方法(減均值除以標準差),那個獎勵為 0 的樣本對應的優勢值,在歸一化之后可能會變成一個絕對值非常大的數(例子中是 -15.96)。
這么大的優勢值同樣會干擾模型的更新,導致訓練不穩定。
總的來說,就是直接把 PPO 或者 Reinforce++ 用在獎勵模型訓練上,會因為損失計算和優勢歸一化這兩個環節內在的問題,在高效率訓練或者訓練后期特定數據分布下,引發數值不穩定,最終影響模型效果。
StableReinforce 提升訓練穩定性
1. Pre-CLIP 策略
為了減小大比例差異的影響,Pre-CLIP 策略會在計算對數概率的指數值之前對比例進行裁剪。通過在應用指數函數前裁剪 log- πθ / πθ old 的比例,可以避免由于比例差異過大而導致的溢出問題,并緩解負優勢情況下的大對數差異。裁剪后的公式為:
2. Advantage Filter 策略
為了避免由于優勢分布的極端不平衡對訓練帶來的影響,文章采用了 3-sigma 規則(即保留標準化優勢在 [ -3, 3 ] 范圍內的樣本)。公式為:
結合了 Pre-CLIP 和優勢過濾器,最終用來優化的目標函數長得有點像常用的 PPO 算法的目標函數,但有所修改:
首先使用下面的 prompt,將獎勵建模問題轉化為 rule-based 的強化學習問題:
分析部分(<analysis>)明明說回答 2更好,但最后卻輸出 <answer>1</answer>。因此本文引入了一個額外的 " 裁判 " 模型(文中用了 Qwen2.5-VL-7B-Instruct)。這個裁判專門負責檢查獎勵模型自己輸出的分析內容,看它是不是真的支持最終給出的那個答案。
獎勵函數設計:文章提出了三種獎勵函數
格式獎勵:要求模型的輸出符合指定的格式,即‘ ’,鼓勵模型在給出最終答案之前先進行推理,以提高內容的質量和可解釋性。
結果獎勵:模型最終生成的答案必須與人類專家的偏好一致。
一致性獎勵:確保推理過程與最終答案一致,即模型的最終結果應當直接源自其推理過程,而不是與推理步驟無關的生成內容。
最終獎勵計算:為了解決可能出現的一致性獎勵過度偏重的問題,最終的獎勵計算公式為:
" 長思考鏈 " 的冷啟動問題 ( Long-CoT Cold Start )
多模態大模型(MLLMs)本身并不是為做獎勵模型這種 " 評價比較 " 任務而設計的,所以直接用強化學習去訓練它們,效果通常很差而且不穩定,因此本文先進行了一輪監督微調。
做法:讓 GPT-4o 對 R1-Reward-200k 數據集里的每一條數據,都按照 Table 1 里的提示模板,生成標準的 " 分析過程 " 和 " 最終答案 "。生成時設置temperature=1(讓輸出更發散),并且最多嘗試 3 次,直到生成的答案和真實標簽一致。
記錄難度:同時,他們還記錄了 GPT-4o 需要嘗試幾次才能生成正確答案,把這個次數作為樣本 " 難度 " 的指標。
目的:這個 SFT 階段就像是給模型 " 預習 "。通過模仿 GPT-4o 的輸出,先讓模型學會任務的基本格式和流程,熟悉這個獎勵建模任務應該怎么做。
強化學習(RL)訓練數據的篩選
篩選標準:在進行真正的強化學習訓練時,并不是用 SFT 階段的所有數據。研究人員專門挑選了那些被認為是 " 更難 " 的樣本。
具體來源:
在 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 的準確率。比如在 MM-RLHF 這個比較難的榜單上,投票 5 次就能把準確率從大約 71% 提升到 85.3%,投票 15 次更是達到 86.47%,遠超其他模型。
更有意思的是,他們還試了另一種策略叫 "Any Correct",就是只要模型輸出的 K 次結果里有一次是正確的,就算對。結果發現,當 K=15 時,這種策略的準確率幾乎接近 100%!這暗示 R1-Reward 其實有潛力完美區分所有樣本,只是需要更多的數據或更好的訓練策略來完全激發出來。
aha Moment
更有趣的是,模型展示出了類似人類的反思和糾錯能力。比如在上圖中,模型自己計算時出錯了,但在檢查圖表后,意識到了錯誤并重新計算得到了正確結果。這說明模型不僅僅是在模仿,還在學習某種程度的自我檢查和修正機制。
經過強化學習訓練后,模型輸出的分析內容的平均長度還減少了約 15%,說明模型可能變得更 " 言簡意賅 ",推理效率提高了。
結論
本文介紹了 R1-Reward,這是一種使用 StableReinforce 算法訓練的多模態獎勵模型(MRM)。通過實驗,本文證明了強化學習(RL)在獎勵建模中的有效應用,顯著提升了模型的表現。R1-Reward 解決了多個關鍵問題,包括訓練不穩定、優勢歸一化限制以及推理和結果之間的不一致性。通過引入 Pre-Clipping、優勢過濾、一致性獎勵以及漸進式訓練策略,StableReinforce 算法有效穩定了訓練過程并提升了模型性能。
實驗結果表明,R1-Reward 在多個多模態獎勵模型基準上超越了現有最先進的模型(SOTA),在準確率和數據效率方面取得了顯著進展。此外,R1-Reward 還展示了優秀的推理時擴展能力,為未來將強化學習融入多模態獎勵模型(MRM)的研究奠定了基礎。
展望未來,RL 在獎勵建模中的應用仍有許多值得探索的方向。例如,本文僅測試了簡單的多數投票策略用于推理時擴展,未來可能通過更先進的方法進一步提升性能。此外,改進訓練策略以進一步增強獎勵模型的基礎能力,也是一個有意義的開放性問題。
論文鏈接:
https://arxiv.org/abs/2505.02835
https://github.com/yfzhang114/r1_reward
https://huggingface.co/yifanzhang114/R1-Reward
一鍵三連「點贊」「轉發」「小心心」
歡迎在評論區留下你的想法!
— 完 —
學術投稿請于工作日發郵件到:
ai@qbitai.com
標題注明【投稿】,告訴我們:
你是誰,從哪來,投稿內容
附上論文 / 項目主頁鏈接,以及聯系方式哦
我們會(盡量)及時回復你
科技前沿進展每日見