GRPO=高階版拒絕取樣?強化學習祛魅時刻:負樣本“去蕪存菁”才是關鍵!

現在大家都用強化學習(RL)來訓練大語言模型(LLM)做比較複雜的推理任務,比如數學題。其中,像 PPO 這樣的演算法雖然主流,但它需要額外的網路(critic network),搞得比較複雜和麻煩。
同時,像 GRPO 這樣的演算法在實踐中效果很好(比如訓練 DeepSeek-R1),但大家其實不太清楚它到底為什麼有效,是不是真的比更簡單的方法好很多。
另一方面,有一些非常簡單的方法,比如 RAFT(拒絕取樣),就是隻用模型答對了的樣本進行微調,似乎效果也不錯。這就讓研究者們好奇了:
1. 這些複雜的 RL 演算法(比如 PPO、GRPO)相比於簡單的 SFT 類方法(比如 RAFT),優勢到底在哪裡?真的有必要搞那麼複雜嗎?
2. GRPO 之所以效果好,是因為它演算法本身的設計(比如獎勵歸一化),還是因為它在使用樣本上的某些策略(比如如何處理答錯的樣本)?
3. 對於 LLM 這種輸出是文字序列、環境相對確定的場景,是不是可以用更簡潔、更適合的 RL 演算法?
所以,這篇文章的出發點就是,重新審視和比較幾種有代表性的 RL 方法(特別是 GRPO 和極簡的 RAFT、以及基礎的 Reinforce),弄清楚它們成功的關鍵因素,尤其是負樣本(模型答錯的例子)到底該怎麼用,以及能不能找到一種既簡單又有效的 RL 訓練方法。

論文標題:
A Minimalist Approach to LLM Reasoning: from Rejection Sampling to Reinforce
論文地址:
https://arxiv.org/abs/2504.11343
GitHub地址:
https://github.com/rlhflow/minimal-rl
這篇文章主要有以下幾個發現和貢獻:
驗證了極簡方法的有效性研究者們發現,RAFT 這個非常簡單的拒絕取樣方法(只用回答正確的樣本訓練),效果竟然和當前流行的 GRPO 方法差不多,甚至在訓練早期收斂得更快。
這說明,對於這類任務,簡單的“只學好的”策略本身就是一個很強的基準(baseline)。不過,他們也指出,RAFT 因為只用正樣本,後期會因為模型探索性降低(熵減小太快)而被 GRPO 超越。
揭示了 GRPO 的優勢來源透過細緻的對比實驗(消融研究),他們發現 GRPO 相對於標準 Reinforce 演算法的主要優勢,其實來自於它在處理樣本時,隱式地過濾掉了那些“所有回答都錯了”的題目(prompt)。
也就是說,避免在完全失敗的例子上學習,是 GRPO 效果提升的關鍵。相比之下,GRPO 中使用的那種根據同一題目下不同回答的好壞來做獎勵歸一化的技術,影響並不大。這說明,不是所有負樣本都有用,有些負樣本(全錯的)甚至可能拖後腿。
提出了新的簡化版 RL 演算法基於以上發現,他們提出了一個叫 Reinforce-Rej  的新方法。這個方法是對基礎 Reinforce 演算法的一個小改進,核心思想是:既不學習“所有回答都正確”的題目(可能太簡單了),也不學習“所有回答都錯誤”的題目(可能是有害的),只在那些“有好有壞”的題目上進行學習。
實驗證明,這個 Reinforce-Rej  方法最終效能和 GRPO 差不多,但是 KL 效率(衡量模型更新幅度)更高,訓練更穩定。
提供了實踐指導總的來說,這項工作強調了在用獎勵微調 LLM 時,“如何選擇和使用訓練樣本”(尤其是負樣本)比“用哪個複雜的 RL 演算法”可能更重要。他們建議大家可以將 RAFT 作為一個簡單、可靠的 baseline,並且未來的研究應該更深入、更原理性地去設計如何利用負樣本,而不是不加區分地混用。
現有方法的詳細分析
首先我們回顧幾種用於 LLM 後訓練(post-training)的代表性演算法:
1.1 RAFT(拒絕取樣微調)
RAFT 這個方法,在文獻裡也叫拒絕取樣微調(Rejection Sampling Fine-tuning)。它的操作步驟很簡單,主要分三步:
1. 收集資料:拿一批提示 ,用一個參考模型(比如當前模型自己)給每個提示生成  n  個回答。
2. 篩選資料(拒絕取樣):用獎勵函式  r(x, a)  給每個回答打分,只保留那些得分最高的(通常是獎勵為  1  的,也就是正確的回答)。把這些篩選出來的“好”樣本彙總成資料集  D 
3. 模型微調:用這個只包含好樣本的資料集  D  來微調當前的模型  π ,目標是最大化模型在這些好樣本上的對數似然。
1.2 策略梯度(Policy Gradient)與 Reinforce
這是強化學習裡的經典方法。核心思想是最佳化一個目標函式  J(θ) ,這個函式代表了模型在所有可能的提示  x  下,生成回答  a  並獲得獎勵  r(x, a)  的期望值:
目標是找到讓  J(θ)  最大的模型引數  θ 。通常用梯度上升來更新引數:
這裡的  ∇θ J(θ)  就是策略梯度,它的計算公式是:
為了讓訓練更穩定,防止新舊模型差異過大導致重要性取樣權重  爆炸,研究者們借鑑了 PPO 演算法裡的裁剪(clipping)技術。最終,Reinforce 演算法的損失函式(這裡是最小化負的目標函式)可以寫成:
由於 LLM 是自迴歸的(一個 token 一個 token 地生成),通常會把上面的損失函式應用到 token 層面
1.3 GRPO
GRPO 的損失函式形式和上面 Reinforce 的 token-level 損失很像。關鍵區別在於,它不用原始的獎勵 r(x, a) ,而是用一個為每個 token 計算的優勢函式(Advantage Function)
具體計算方法是:對每個提示 ,取樣  個回答 ,得到對應的獎勵 。然後計算這些獎勵的平均值 mean 和標準差 std 。第  個回答中第  個 token 的優勢值計算如下:
這裡的  mean(r_1, …, rn)  在強化學習裡叫做基線(baseline),它的作用是減小梯度估計的方差,讓訓練更穩定。
1.4(Iterative)DPO(直接偏好最佳化)
DPO 是一種不同的方法,它不直接用獎勵分數,而是依賴於成對的比較資料。資料集裡是這樣的樣本: (x, a+, a-) ,表示對於提示  x ,回答  a+  比  a-  更好。
DPO 最佳化的目標是一個對比損失(contrastive loss)
這裡, σ  是 sigmoid 函式, β  是一個超引數(大於 0), π_ref  通常是初始的模型或者一個固定的參考模型。
原始的 DPO 是在離線資料上訓練的。但後續研究發現,可以迭代進行:用訓練過程中的模型去生成新的回答,然後根據某種方式(比如模型自己打分或者人工標註)得到新的偏好對  (a+, a-) ,再用這些新的線上資料繼續訓練模型。這種迭代的方式可以顯著提升模型效能。
1.5 RAFT++
研究者注意到,RAFT 如果在每次迭代中,用收集到的資料(replay buffer)進行多步梯度更新,那它其實也可以看作是一種混合了離策略(off-policy)的演算法。
基於這個想法,他們提出了 RAFT++,就是把 Reinforce 裡的重要性取樣和裁剪技術也應用到 RAFT 上。它的損失函式形式和 Reinforce 類似,但有一個關鍵區別:它只在最好的樣本(獎勵最高的那些,也就是正樣本)上進行訓練。這透過一個指示函式  I  來實現:
其中  是一個指示函式,噹噹前回答  是所有  個回答裡獎勵最高的那個時, 等於 1,否則等於 0。這樣就保證了只有正樣本對損失有貢獻。
實驗結果與有趣的發現彙總
以下是基於提供的實驗部分的解讀,總結出的主要結果和有趣發現:
簡單方法表現驚豔:
  •  RAFT  及其改進版  RAFT++ ,雖然是相對簡單的基於“拒絕取樣”的方法(只用好的樣本),但在數學推理任務上的表現出人意料地好。
  • 它們的效果能跟更復雜的深度強化學習方法(如  PPO  GRPO )打個平手,超過了  iterative DPO 
  • 尤其是在  Qwen  模型上, RAFT++ (52.5%)的平均準確率非常接近當時效果最好的  GRPO (53.9%)。
RAFT++ 的改進有效:
  • 在  RAFT  基礎上加入重要性取樣(修正資料分佈偏差)和裁剪(限制更新幅度)技術後形成的  RAFT++ ,確實比原版  RAFT  收斂更快,最終準確率也更高。
  • 實驗證明,裁剪步驟非常關鍵。如果只用重要性取樣而不進行裁剪,效果反而會變差,說明無限制的更新可能會破壞訓練穩定性。
學習動態對比:先快後慢 vs 持續提升:
  •  RAFT++  在訓練早期學得比  GRPO  更快。
  • * 但是, RAFT++  的效能提升在訓練中後期會明顯放緩,最終被  GRPO  反超。
負樣本是把“雙刃劍”?
  •  RAFT++  (只用正樣本)效能提升放緩與其策略熵(模型探索性/答案多樣性)的快速下降有關。熵太低,模型就不太會探索新的推理路徑了。
  •  GRPO  因為也考慮了負樣本,策略熵下降較慢,保持了更長時間的探索能力,所以後期還能繼續提升。這表明,負樣本可能有助於維持探索
  • 然而,簡單的  Reinforce  演算法(也用負樣本)在  LLaMA  模型上效果反而不如只用正樣本的  RAFT++ 。這暗示,如何定義和使用負樣本很重要,僅僅基於最終答案對錯可能過於粗糙,不一定總能帶來好處。
▲ 在 GRPO 和強化學習型別演算法的各個元件上進行的消融研究。將 GRPO 與其他基於強化學習的變種進行比較,以隔離去除錯誤樣本、正確樣本和應用標準化的影響。去除錯誤樣本(“移除所有錯誤”)提供了最大的獎勵增益,突出了它們的有害影響。相比之下,去除正確樣本沒有增益。均值歸零標準化增加了 KL 損失並不穩定訓練。按標準差標準化幾乎沒有額外的好處。“Reinforce + Remove both” 變種在獎勵、KL 穩定性和熵正則化之間達到了很好的平衡。
GRPO 強大的核心在於“樣本剔除”:
  • 透過詳細的消融實驗對比  Reinforce  的各種變體,發現  GRPO  效能優越的關鍵在於剔除了那些所有生成答案都錯誤的樣本(“Remove all wrong”)。這些全是錯誤的樣本對訓練的干擾最大。
  • 相比之下,獎勵歸一化(如減去均值或除以標準差)對效能提升作用不大,甚至簡單的均值歸一化還會導致訓練不穩定。
  • 剔除所有答案都正確的樣本(“Remove all correct”)幫助也不大。
  • 同時剔除“全對”和“全錯”樣本的策略(稱為  Reinforce-Rej  )在效能、穩定性和保持探索性之間取得了不錯的平衡。
一些思考
提出新的簡化基準:
  • 基於以上發現,研究者認為  RAFT++  和  Reinforce-Rej (剔除全對和全錯樣本的 Reinforce)是有效且更簡單的基準演算法,值得未來研究參考。
對負樣本作用的新思考:
  • 研究結果表明,在基於強化學習的大模型訓練中,負樣本的作用比想象中更微妙。直接使用所有負樣本不一定最好,未來可能需要更精細化的方法來篩選和利用不同質量的樣本。
更多閱讀
#投 稿 通 道#
 讓你的文字被更多人看到 
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。 
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析科研心得競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝 稿件基本要求:
• 文章確係個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標註 
• 稿件建議以 markdown 格式撰寫,文中配圖以附件形式傳送,要求圖片清晰,無版權問題
• PaperWeekly 尊重原作者署名權,並將為每篇被採納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬 投稿通道:
• 投稿郵箱:[email protected] 
• 來稿請備註即時聯絡方式(微信),以便我們在稿件選用的第一時間聯絡作者
• 您也可以直接新增小編微信(pwbot02)快速投稿,備註:姓名-投稿
△長按新增PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜尋「PaperWeekly」
點選「關注」訂閱我們的專欄吧
·


相關文章