對應原題(Common ‧ Fine-Tuning, Post-Training and Alignment)

  • Explain GRPO and why dropping the value network matters at scale. — Asked at: DeepSeek
  • What is RLVR (RL with verifiable rewards) and where does it beat a learned reward model?
    — Asked at: Zhipu AI, Alibaba, Sarvam AI, Scale AI

論文:Shao et al., DeepSeekMath (2024) 提出 GRPO;DeepSeek-R1 (2025) 用 GRPO + 規則獎勵訓練推理模型。

🎯 什麼情境該想到我

當你「想理解 o1/R1 這類推理模型到底是怎麼訓練出來的」的時候。
★ 這一頁是 2024–2025 年「推理模型」浪潮背後的兩個技術支柱。

⚙️ Part 1:GRPO

它要解決什麼:value network 太貴

RLHF 全流程 裡 PPO 需要一個 value model 來估計優勢函數

問題是 value model 通常和 policy 一樣大,而且要訓練(16 bytes/param,見 GPU 記憶體估算)。

★ GRPO 的想法:用「同組樣本的平均」當 baseline

不要學一個 value function 來當基準線——直接對同一個 prompt 採樣 個回應,用這組的平均獎勵當基準線。

prompt x
  ├─▶ 回應 1  → r₁ = 0.8
  ├─▶ 回應 2  → r₂ = 0.2      ★ 這組的 mean/std 就是 baseline
  ├─▶ ⋯
  └─▶ 回應 G  → r_G = 0.5

直覺:「這個回應比同一題的其他嘗試好還是差?」——比「這個回應的絕對價值是多少」容易判斷得多,而且不需要任何額外的模型。

目標函數仍用 PPO 式的 clipped ratio,但 KL 懲罰直接加在 loss 裡(而非折進 reward):

★ 為什麼「丟掉 value network」在規模上很重要(題目的重點)

#理由說明
1. 記憶體少一個與 policy 同等大小、且需要訓練的模型70B 的 value model = ~1.1 TB 的訓練狀態。這往往是「能不能做」的分界
2. ★ value 本身就很難訓LLM 的獎勵是 sequence-level 的——只有整段結尾才有分數。要把它歸因到每個 token 的 value,訊號極度稀疏且 noisyvalue 估不準 → advantage 估不準 → 整個 PPO 不穩。這是 PPO 難調的根源之一
3. 少一組超參數與失敗模式value loss 係數、value clipping、GAE 全部消失工程複雜度大降
4. ★ 天然契合「只有最終結果有分數」的任務數學題對不對、程式碼過不過測試——本來就只有一個最終純量正好是 RLVR 的形狀

面試答法:「丟掉 value network 省的不只是記憶體。LLM 的獎勵本質上是 sequence-level 的,逐 token 的 value 估計訊號太稀疏、本來就估不好。
GRPO 用同組樣本的統計取代它——既便宜,又繞開了一個本來就做不好的估計問題。」

代價:

  • 要對每個 prompt 生成 個樣本(常見 8–64)→ 取樣成本高。它是拿推論算力換訓練記憶體與穩定性
  • baseline 只在組內有效 → 組內獎勵全相同時 advantage 全為 0,該 batch 完全沒有學習訊號(例如題目太簡單全對、或太難全錯)→ 題目難度的挑選變得重要

⚙️ Part 2:RLVR(可驗證獎勵的強化學習)

定義

獎勵不是學出來的,是「程式化驗證」算出來的。

領域可驗證的獎勵
數學最終答案是否等價(精確比對 / 符號運算驗證)
程式碼單元測試通過率、能否編譯、執行結果是否相符
結構化輸出JSON Schema 驗證、正則比對
指令遵循可機檢的約束(「剛好 3 個 bullet」「不超過 100 字」「不得出現某詞」)
工具使用呼叫的工具與參數是否正確、任務是否達成

★ 為什麼贏過學出來的 RM

#優勢說明
1★ 不會被 Goodhart 法則咬學出來的 RM 是真實目標的代理,所以最大化它一定會 over-optimize(見 RLHF 全流程)。驗證器不是代理——它就是目標本身
2無限擴展不需要人類標註。有題目與驗證器就能一直訓
3獎勵無噪音、可重複測試通過就是通過。不像人類標註會互相矛盾
4可以給很難的題目人類標註者判斷不了的競賽數學題,驗證器判斷得了

這就是 DeepSeek-R1 那條路線的核心:GRPO + 規則獎勵(答案正確性 + 輸出格式),完全不需要一個學出來的 reward model。

★ 但 RLVR 也會作弊(必須講,否則答案不完整)

「不會 reward hacking」是錯的說法。準確的說法是:它把作弊的空間,從『RM 的瑕疵』搬到了『驗證器的瑕疵』。

作弊方式例子
測試不完整模型寫出只通過既有測試的程式——if input == 5: return 120,把答案 hard-code 進去
鑽驗證器漏洞找到 checker 的邊界情況、利用浮點容差、輸出讓比對器誤判的格式
★ 結果對但過程錯(false positive)選擇題猜對、數學題用錯誤推理湊到正確答案。獎勵給了,但學到的是壞習慣
格式獎勵被單獨最大化完美的格式包著空洞的內容

對策:

  • 驗證器的品質決定一切 —— 測試覆蓋率、隱藏測試集、對抗性測試案例
  • 多重獎勵(正確性 + 過程 + 格式)而非單一訊號
  • 過程監督(PRM) —— 對推理的每一步給分,不只看最終答案
  • 定期用人類或更強的模型抽查,確認「通過驗證」真的等於「做對了」

適用邊界(這是選型的關鍵)

任務用什麼
數學、程式碼、邏輯、結構化輸出、工具呼叫★ RLVR(客觀、可驗證)
寫作品質、對話語氣、創意、有用性、安全性RM / 人類偏好 / 裁判模型(主觀,無法程式化)
混合任務兩者並用:可驗證的部分用規則,其餘用 RM

★ 這條分界線解釋了 2024 年之後模型能力的分化:
數學與程式碼進步神速(因為可以無限 RLVR),而「寫得好不好」進步得慢(仍然卡在人類偏好的瓶頸)。
這是面試時很有說服力的一個觀察。

⚠️ 注意 / 什麼時候不適用

  • GRPO 的取樣成本很高。 代表每個 prompt 要生成 16 次——訓練時的推論吞吐會變成瓶頸(見 連續批次 Continuous Batching)。
  • 題目難度要挑。全對或全錯的題目對 GRPO 毫無貢獻(advantage 全 0)。實務上要做難度篩選或課程安排。
  • RLVR 需要大量高品質題目 + 驗證器。這個資料集本身就是重大投資,不比標註偏好資料便宜。
  • ★ 驗證器是新的單點失效。驗證器有 bug,模型就會學會利用那個 bug,而且學得非常快。
  • 仍然需要 KL 約束。沒有它,模型會為了衝獎勵犧牲語言品質(輸出變成只有答案的怪東西)。
  • 推理模型的輸出變長是設計不是 bug,但成本要算清楚(見 Prefill 與 Decode)。
  • 絕大多數應用團隊不需要做這件事。這是實驗室級的工作。應用端該關心的是怎麼用推理模型,以及能不能用 知識蒸餾 把它的能力搬到小模型上。

🧪 我實際套用的紀錄

  • 2026-09-20:從面試題庫展開,尚未實際套用。

🔗 相關