iT邦幫忙

2026 iThome 鐵人賽

DAY 28
0
AI Engineering

現代化的 AI 系統設計系列 第 28

[Day28] - 模型已經學會偏好,為什麼還需要 RL?從固定答案比較到可驗證回饋

  • 分享至 

  • xImage
  •  

假設 DPO 已經通過未見偏好配對、實際生成與能力回歸等驗收,模型確實能在兩個合理回答之間,穩定偏好「先查證,再承諾」的版本。接下來很自然會遇到一個問題:既然模型已經學會偏好,為什麼還需要 Reinforcement Learning(RL)?

答案不在於 RL 比 DPO 更進階,而在於兩者取得學習訊號的方式不同。

DPO 從已經收集好的偏好配對學習。如果資料裡有「先查訂單」與「直接承諾退款」兩個答案,它可以學會前者比較好;但當更新後的 Agent 開始呼叫工具,走出資料裡從未出現的新路徑,固定資料就無法告訴它這條路到底有沒有成功。

以退款 Agent 為例,同一句「退款已完成」背後至少可能有三種結果:

  1. Agent 只說退款成功,資料庫完全沒有改變。
  2. 資料庫真的完成退款,但 Agent 跳過身分確認,違規到達正確終態。
  3. Agent 查核資格、取得確認、建立退款,再讀回紀錄後才回覆使用者。

如果評分器只看最後一句話,第一種可能拿到滿分;如果只看資料庫終態,第二種也可能過關。模型並沒有違背訓練目標,而是把我們量到的東西最佳化得非常徹底。

這就是本文的核心:
Online RL 讓模型從新產生的行動結果繼續學習;但它只能最佳化我們提供的 Reward,不會自動理解什麼才是真正的成功。


先說清楚:這裡談的是 Online RL

Online RL 的 online,不是連上正式環境,也不是收到一筆正式流量就立即修改模型權重。

真正的判準是:訓練期間是否會用目前或近期的策略重新產生回答或執行軌跡,取得 Reward、更新策略,再用更新後的策略繼續取樣。 Prompt 題庫可以固定,沙盒也可以完全與正式環境隔離;只要回答與軌跡會隨策略更新而重新產生,這個訓練迴圈仍然是 online。

PPO 原始論文 描述的正是「與環境互動取樣」和「最佳化策略」交替進行。DAPO 的演算法也會先用目前策略的快照產生一組回答、計算 Reward,再更新策略並進入下一輪。

相對地:

  • SFT 在固定的 (Prompt, Target Response) 上進行監督式交叉熵訓練。它沒有 Reward/Return、環境狀態轉移資料或策略改善目標,因此不是 offline RL。
  • 原始 DPO 使用固定的偏好配對做離線偏好最佳化。資料可能由模型產生,但訓練開始後,不會像 PPO/GRPO 一樣每輪重新 rollout。
  • Online RL 會讓更新中的策略持續產生新經驗,再把結果送回訓練迴圈。

研究界確實已有會反覆收集新偏好的 Online DPO,因此不能說所有 DPO 永遠都是 offline。本文比較的是最常見的固定資料 DPO,以及會持續產生新軌跡的 Online RL。

另一組容易混淆的詞是 online/offlineon-policy/off-policy。前者問的是「訓練期間是否持續收集新經驗」;後者問的是「更新所用資料由哪個策略產生,與目前策略有多接近」。PPO/GRPO 通常屬於近 on-policy 方法,但會使用舊策略快照與重複利用同一批資料,因此兩組詞不能直接互換。

https://ithelp.ithome.com.tw/upload/images/20260911/201836135zJDuPZuiw.png


不是取代,而是逐步補上前一階段的資訊缺口

把 SFT、DPO 與 Online RL 排成版本高低,很容易選錯方法。更實用的理解方式,是看每一階段解決什麼問題,又留下什麼缺口。

方法 它最適合解決什麼 主要限制
SFT 從高品質示範學會格式、工具協定與基本流程 只能模仿資料中已出現的做法
DPO 在多個合理回答之間學會偏好 固定偏好資料無法回應模型後來走出的新路徑
Online RL 讓新策略的行動結果回到下一輪更新 必須負擔取樣、環境、驗證與訓練穩定性的成本

SFT 的角色,是先讓模型「至少做得出來」。如果起始模型幾乎不可能走到成功結果,稀疏 Reward 只會得到一整片零分,RL 也不知道該放大哪種行為。

DPO 再處理「做得到,但哪個比較好」。它不需要顯式訓練 Reward Model,也不需要在訓練中反覆執行工具,因此通常比 Online RL 簡單穩定。DPO 原始論文 將偏好學習化成固定資料上的分類損失;它的代價是受限於資料覆蓋範圍。

當模型更新後開始產生資料裡沒有的新行為,Online RL 才補上最後一段閉環:重新取樣、觀察結果、更新,再試一次。NeurIPS 2024 對 online 與 offline 方法的分析 也指出,固定偏好資料的覆蓋範圍是 DPO 類方法的重要限制。

所以真正的決策不是「要不要升級成 RL」,而是:固定資料是否已經出現可重現的覆蓋缺口,而且重新取樣能否產生可驗證的新資訊。


一張圖看懂:Online RL 其實是四個問題

很多討論會把 RLVR、GRPO、DAPO 放在同一張排行榜裡比較,但它們回答的不是同一個問題。比較之前,可以先拆成三個系統層,再加上一個跨層診斷問題:

問題 要確認什麼 代表做法
資料產生 訓練資料是固定的,還是由更新中的策略持續產生? 固定示範、固定偏好資料、沙盒 rollout
回饋取得 誰判斷結果好不好? 人類偏好、Reward Model、規則、測試、資料庫終態
策略更新 如何把資料或回饋轉成權重更新? SFT、DPO、PPO、GRPO
跨層診斷 故障出在資料、回饋,還是更新過程? 修資料與 Verifier,或採用 DAPO、Dr. GRPO、GSPO 等修正

這個心智模型能避免三個常見誤解:

  1. RLVR 不是 GRPO 的同義詞。 RLVR 說的是 Reward 來自可驗證結果;GRPO 說的是如何利用同題多次取樣的相對分數更新策略。
  2. GRPO 省掉的是 Value Model,不是 Verifier。 沒有額外的 Value Model,不代表 Reward 自動變得客觀。
  3. DAPO、Dr. GRPO、GSPO 不是依年份排列的升級版本。 它們針對不同故障,必須先看到症狀才能選擇。

DAPO、Dr. GRPO 與 GSPO 最終仍會修改資料取樣、Reward 處理或策略更新,不是獨立於前三層之外的演算法種類。把故障診斷單獨列成一個問題,是為了先找出壞在哪裡,再回到正確的系統層修正。

接下來只要依序回答這四個問題,就不容易先選演算法、再回頭替它找問題。


第一個問題:新資料值得產生嗎?

「能重新取樣」不代表「值得做 Online RL」。我會在三個條件同時成立時,才認真評估:

  1. 固定資料真的不夠。 SFT 或 DPO 已出現可重現的資料覆蓋缺口,而不是單純資料品質差。
  2. 模型偶爾能探索到成功。 如果同題多次嘗試全部失敗,應先補 SFT、改善工具說明或降低任務難度。
  3. 結果能從模型之外取得證據。 例如資料庫狀態、程式測試、訂單金額與政策版本,而不是再問模型「你覺得自己成功了嗎?」

這也解釋了為什麼數學與程式題常成為 RLVR(Reinforcement Learning with Verifiable Rewards,可驗證獎勵強化學習)的起點:答案、編譯器與測試結果通常容易重算。DeepSeek-R1 顯示規則 Reward 配合探索,可以改善特定數學、程式與 STEM 任務;但 R1-Zero 也出現可讀性差與語言混雜等問題,正式 R1 因而加入冷啟動資料與多階段訓練。

退款 Agent 更困難,因為它只有一部分結果可以客觀驗證。退款紀錄與金額可以重算,溝通品質與例外判斷卻未必有唯一答案。因此不能只給一個總分,而要把「結果正確」「流程合規」與「主觀品質」拆開。


第二個問題:Environment、Verifier 與 Reward 各自負責什麼?

這三個名詞可以用一句話串起來:Environment 產生結果證據,Verifier 判斷證據是否符合條件,Reward 再把判斷轉成可供訓練使用的訊號。

  • Environment 保存題目、初始資料、工具行為與狀態變化。
  • Verifier 檢查最終狀態、必要步驟、禁止條件與輸出品質。
  • Reward 是檢查結果形成的訓練訊號,不是真正目標本身。

τ-bench 把客服型工具任務放進包含資料庫、API、政策與模擬使用者的環境,再比較任務前後的資料庫狀態。這示範了如何用外部證據驗收結果,避免只根據模型宣稱成功就給分;但單看終態,仍不足以證明執行路徑合規。

因此,退款任務至少要分成四種責任:Runtime 負責在身分、授權、金額上限或政策版本不符時直接拒絕;違規診斷獨立記錄越權、略過確認或試圖修改 Verifier;結果驗證確認退款紀錄、金額、幣別與訂單狀態真的正確;最後才在合規且結果正確的軌跡之間,比較說明品質、步驟、成本與延遲。

這裡最重要的原則是:不允許發生的事,用 Runtime 擋住;允許發生、但有品質差異的事,才交給 Reward 學習。 超額退款不能只是少 0.2 分,否則模型仍可能靠其他分數取得更高總分。

Online RL 還需要一個可重設的沙盒。每次 rollout 都要從可比較的初始狀態開始,清除前一次的資料與工具歷史,並保存模型、環境、政策、Verifier 與亂數種子版本。否則第二個 Agent 可能沿用第一個 Agent 留下的退款紀錄,什麼都沒做就拿到成功分數。

https://ithelp.ithome.com.tw/upload/images/20260911/20183613T3S8kjiwsc.png


第三個問題:PPO 與 GRPO 如何更新策略?

當 Environment 與 Reward 已經可信,才輪到更新演算法。

PPO 使用 Value Model 估計每個狀態下的預期回報,再判斷哪些行動比預期更好。這個架構通用,但在大型語言模型上,Value Model 可能和策略模型同樣龐大,增加 GPU 記憶體、計算與校準成本。

DeepSeekMath 提出的 GRPO,改用同一個 Prompt 的多次 rollout 相對分數估計優勢,省掉額外的 Value Model。代價是每題必須產生多個回答;若使用二元 Outcome Reward,而且同組 Reward 全為 1 或全為 0,組內 Advantage 就會是零。

兩者的差別可以濃縮成一句話:

PPO 用 Value Model 回答「這次表現比預期好多少」;GRPO 用同題其他回答回答「這次在組內相對有多好」。

GRPO 並沒有省掉 Environment、Verifier、Reward 或大量取樣。它只改變第三層的優勢估計方式。


跨層診斷:後續方法不是排行榜,而是故障處理手冊

GRPO 省掉 Value Model 後,新的問題也跟著浮上來。這時才需要看後續方法:

  • 使用二元 Outcome Reward 時,同組經常全為 1 或全為 0、有效訓練樣本快速減少,或探索過早收斂時,可以檢查 DAPO 的動態取樣與裁切設計。
  • 回答長度與題目難度的正規化造成權重偏差時,可以檢查 Dr. GRPO。不過 2026 年的後續理論研究指出,梯度無偏與不同長度回答的貢獻一致性之間仍有取捨,因此不宜宣稱偏差已被完全消除。
  • 長序列或 Mixture-of-Experts(MoE)訓練中,token-level importance ratio 容易累積高變異時,可以評估 GSPO 的 sequence-level 更新方式。

這三者不是 GRPO 1.1、1.2、1.3,也沒有一個方法能在所有任務上全面取代其他方法。正確順序應該是先量測零變異群組比例、Entropy、長度分布、Clip Fraction、Policy Lag 與 Reward Noise,再根據已觀察到的故障選擇修正。

更重要的是,這些方法修的是取樣、估計或訓練穩定性,不會修好錯誤的 Verifier。如果「只說退款成功」也能拿到高分,換成更新的演算法只會讓模型更有效率地鑽漏洞。


高分不一定是好消息:Reward Hacking

模型會尋找有效路徑,也會尋找評分器的捷徑。它可能只輸出 Verifier 喜歡的句型、猜測容易通過的答案、修改測試,或為了縮短時間略過查證。

防線不是再補一個加權項目,而是把 Verifier 當成需要測試的系統:

  • 故意建立「只回成功文字」「漏查政策」「重複退款」「試圖修改測試」等失敗案例,確認它們都拿不到成功分數。
  • 使用模型看不到的隱藏測試、無法完成的任務與應轉人工案例。
  • 分開監看各項 Reward、滿分率、零分率、群組變異、回答長度、工具次數與逾時。
  • 人工讀回高分、低分與分數突然上升的軌跡;異常快速的改善,先當成 Verifier 漏洞調查。
  • 使用獨立評估器與保留任務驗收,不讓訓練 Reward 同時兼任最終裁判。

Anthropic 對 Reward Hacking 的受控研究 顯示,模型在可被攻擊的程式環境中學會作弊後,任務外的錯誤行為也可能增加。這不能直接當成正式產品的事故率,但足以支持一條工程原則:可被攻擊的環境所產生的高分,本身就是需要調查的訊號。


投入 Online RL 前,我會先通過這六個關卡

檢核關卡 通過證據 不通過時怎麼做
固定資料確實不夠 SFT/DPO 出現可重現的資料覆蓋缺口 繼續改善資料,不急著導入 RL
模型已有探索起點 同題多次 rollout 不是全部失敗 先補 SFT、工具說明或調整題目難度
任務可以重設 初始狀態、停止條件、逾時與快照可版本化重建 先建立沙盒與狀態契約
Verifier 能抓到假成功 假成功、違規終態與重複退款都無法過關 先修 Verifier 並做突變測試
Runtime 能隔離風險 正式金流、權限、隱藏測試與稽核紀錄不受 Agent 控制 收窄工具與權限,不做自由探索
成本可以承擔 軌跡可追查,重複取樣、工具與驗證成本可接受 縮短任務,或繼續使用固定資料訓練

如果前五項有一項答不出來,討論 PPO 還是 GRPO 都太早。當這些條件都通過,再依實際瓶頸決定要不要使用 Value Model、同題群組基準,或加入特定的穩定性修正。


AI 你怎麼看?

https://ithelp.ithome.com.tw/upload/images/20260911/20183613vhbCbvl7Xz.png

工程師:「Reward 一直上升,模型終於學會退款了。」

AI:「先看資料庫。你訓練的可能只是『把成功說得更像真的』。」

從 SFT、DPO 到 Online RL,真正的演化不是演算法變得愈來愈複雜,而是學習系統能取得的資訊逐步增加:先模仿示範,再比較偏好,最後讓新行為的結果回到下一輪更新。

這條閉環同時帶來新的責任。Environment 決定能產生什麼證據,Verifier 決定什麼算成功,Reward 決定模型追逐什麼,Runtime 則守住絕對不能跨越的邊界。PPO/GRPO 只負責把訊號轉成更新;如果成功定義本身不完整,更有效率的演算法只會更快放大錯誤。

因此,Online RL 最值得記住的最佳實踐不是「選哪個演算法」,而是:先證明固定資料真的不夠,再證明新行為能在可重設環境中被可靠驗證,最後才選擇如何更新策略。

下一篇會接著處理另一個問題:訓練分數提高之後,距離一個可發布、可比較、可回復的模型版本,還差哪些驗收。

延伸閱讀


上一篇
[Day27] - 兩個答案都正確,模型怎麼知道哪一個更好?DPO 與偏好學習
系列文
現代化的 AI 系統設計28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言