
來源 | 知乎
作者 | 小天狼星不來客
開篇
在強化學習(RL)中,如果我們只知道“做對了能拿多少分”,那往往還不夠,因為單純追求高分可能帶來種種副作用,比如過度搜索、模型不穩定、甚至“走捷徑”而偏離合理範圍。
為了解決這些問題,人們在 RL 中設計了許多機制——Critic(價值函式)、Clip 操作、Reference Model、以及最近流行的 GRPO(Group Relative Policy Optimization)等。
為了把這些概念講得更生動,我們不妨打個比方:把 RL 模型的訓練過程想象成小學裡的考試場景。
我們(被訓練的模型)就像努力考高分的學生,發獎品的人則像 Critic 或者其他調控機制。
接下來就讓我們循序漸進地看看,為什麼只靠最終成績是不夠的,為什麼需要一步步引入 Critic、Clip、Reference Model,最後又是如何引出 GRPO 的思路。
只有 Reward 時的樸素做法:為什麼會有問題
假設我和我弟弟都在小學同一個班上課。老師改卷後給出一個“絕對分數”,我的成績一般 80 分以上,弟弟成績大概 30 分左右。
然後我們把這個分數直接拿去找爸爸要零花錢——也就是用“分數本身”作為獎勵(Reward)。誰考得分數高,零花錢就多。
一開始聽上去沒毛病,但結果就有兩個問題:
-
不公平:如果弟弟從 30 分進步到 60 分,付出了非常大的努力,卻依然比不過我平時隨便考個 80+。他得不到有效激勵。 -
不穩定:我為了衝刺高分,可能會採取極端學習策略(比如瘋狂刷題、考前通宵),偶爾考到 95 分,偶爾只有 60 分,成績大起大落,導致獎勵訊號也忽上忽下。
這樣一來,只拿絕對分數當作 Reward,獎勵訊號波動很大,弟弟也會覺得不公平,久而久之,就沒動力進步了。
數學對應
在強化學習裡,如果我們只用:

也就是“把最終 Reward 直接拿來做最佳化目標”,就容易出現高方差、激勵不充分等問題。
換言之,Actor 得不到一個和自身水平相稱的參考線(baseline),進而影響學習效率。
引入 Critic:用“預期分數線”來改善獎勵機制
針對上面的問題,爸爸很快意識到:“不能光看絕對分,而要看看每個人在自己水平線之上進步多少才是關鍵。”
於是爸爸決定:給我定一個“預期分數線”80 分;給弟弟定一個“預期分數線”40 分。考試時,只要超出自己那條線,就能得到更多零花錢;如果沒有超出,那麼零花錢就可能很少或者沒有。
這樣一來,弟弟如果努力從 30 分考到 60 分,超出自己預期分數線 20 分,就能得到可觀的獎賞。
我如果還是 80 多分,增幅不明顯,那就算分數比弟弟高,但並不一定多拿太多錢。
這樣就鼓勵了每個人以自己的水平為起點去進步,而不是一味比誰絕對分高。
當然,爸爸也很忙,不是說一旦定了分數線就一勞永逸——他得根據我們的學習狀況來不斷“自我調節”,因為如果弟弟水平已經到 60 分了,再給他設 40 分的線就不合理了。
反之,我要是一直考 85 分沒什麼波動,也可能需要微調我的分數線。 所以,爸爸也需要不斷學習,只不過他需要學習的是我和弟弟的學習進度。
數學對應

有了這個“分數線”去做差,我們能降低訓練過程中的方差;也讓高於預期的動作拿到更大的梯度,低於預期的動作被抑制。
加入 Clip 與 min 操作:防止更新過度
有了“分數線”以後,效果確實好了很多。
但新的問題出現了:如果某一次考試我突然爆發,進了高分段,比如 95 或 100 分,爸爸會給我極高獎勵,導致我在下一次考試前可能“走火入魔”,去嘗試各種極端學習方法,成績忽高忽低,獎勵也隨之劇烈波動。
為此,爸爸覺得要適度控制我更新學習策略的“步幅”——一次性衝太高也不一定要給我成倍加零花錢。給得太多,會讓我產生極端探索心態;給得太少又會抑制熱情。總之需要一個平衡。
數學對應
在 PPO(Proximal Policy Optimization)中,這個“平衡”靠“Clip” 操作來完成。
我們常見的 PPO 核心目標函數里,有這樣一段:

其中:

表示新策略與舊策略在這個動作上的機率比值。如果這個比值離 1 太遠,就會被 Clip 在【1-ε,1+ε】區間內,從而限制一次更新幅度別過大。
用故事的話講,就是:我考到 100 分,可以多拿獎勵,但爸爸會有個“封頂”的約束;下一次還要觀察一下再做決定,這樣保持學習的平穩性,防止出現一條極端的“歪路子”。
Reference Model:防止作弊、極端策略
即便如此,如果我為了追求高分,不惜採取非常規手段——比如考試作弊、威脅老師改卷之類,那不就輕鬆拿下滿分了嗎?
這顯然是違反原則的。而且如果在語言模型場景,可能出現生成有害言論、編造事實等“走歪”的行為。
於是爸爸又提出一個附加約束:“無論如何,你不能偏離最初正常學習的方法太多。否則即使你考了高分,我也判你不合格,零花錢也不給。”
這就好比我們在學期開始(也就是監督微調後)的“合規”狀態那裡畫了一條“參照線”,新的行為不能和這個初始策略差太遠,否則就要受到懲罰。
數學對應

GRPO:用“多次模擬成績平均值”代替價值函式
有一天,爸爸說:“我沒空天天衡量你的學習水平了,不想再手動給你畫分數線。那你乾脆先把試卷做 5 份模擬題,取這 5 次的平均分,這個平均分就是你的預期分數。真正考試時,如果你比這個平均分高,就說明你表現超出你自己的期望,我就給獎勵;不夠的話,說明你的表現沒到平均線。”
如此一來,弟弟、我,甚至更多同學都可以用“自己多次模擬考試”的均值來做分數線,不需要依賴一個外部(爸爸)不斷微調的“價值網路”。
前面幾個環節,我們已經看到了 PPO 的思路:Actor + Critic + Clip + KL 懲罰。
但在實際應用尤其是大型語言模型(LLM)上,Critic(價值函式)通常需要跟 Actor 同等大小的網路去估計,否則很難評估到位,成本很高,而且有些場景(比如只在回答末尾才有一個整體 Reward)並不太適合訓練出精細的價值函式。
這時候就出現了 Group Relative Policy Optimization(GRPO)。
它的要點是:不用“學習”一個單獨的價值網路當 Critic;而是對同一道題目、同一個狀態,先用舊策略取樣多條輸出,然後把這些輸出的平均 Reward 當作 baseline; * 超過平均值就相當於“正向 Advantage”,低於平均值就是“負向 Advantage”。
在 GRPO 裡,除了這一步,還保留了PPO 中的 Clip 和對 Reference Model 的 KL 正則,這些都可以保障更新的穩定性和合規性。
數學對應
DeepSeekMath 的技術報告裡給出了 GRPO 的目標函式(省略部分符號細節):

結語:回顧與展望
透過這個小學考試的比喻,我們逐步從只看絕對分數的樸素思路,演化到 PPO 的完整機制(Critic、Advantage、Clip、Reference Model),再到 GRPO 的創新思路(用一組輸出的平均得分當基線,省去價值函式的繁瑣)。
以下幾點值得再次強調:
-
Critic 的意義:它為每個狀態或階段提供“合理預期”,大幅降低了訓練方差;
-
Clip & min 機制:約束策略更新幅度,避免一次考試“爆發”帶來的巨幅震盪;
-
Reference Model:限制“作弊”或極端行為,讓策略不要過度偏離最初合規範圍;
-
GRPO 的優點:在大型語言模型中,省掉了價值網路,減少記憶體和計算負擔,還與“對比式 Reward Model”天然契合。
就像爸爸改用“讓孩子自己多次模擬,然後以平均分當預期線”的思路一樣,GRPO 讓我們不用再額外維護一個龐大的 Critic,也能獲得類似的相對獎勵訊號。
從結果看,這既保持了 PPO 原有的穩定性和合規性,又讓訓練更直接和高效。
希望這篇文章能幫助讀者更自然地理解 PPO 與 GRPO 的原理,也能在實踐中有所啟發。
技術交流群邀請函
△長按新增小助手
掃描二維碼新增小助手微信
請備註:姓名-學校/公司-研究方向
(如:小張-哈工大-對話系統)
即可申請加入自然語言處理/Pytorch等技術交流群
關於我們
MLNLP 社群是由國內外機器學習與自然語言處理學者聯合構建的民間學術社群,目前已經發展為國內外知名的機器學習與自然語言處理社群,旨在促進機器學習,自然語言處理學術界、產業界和廣大愛好者之間的進步。
社群可以為相關從業者的深造、就業及研究等方面提供開放交流平臺。歡迎大家關注和加入我們。

掃描二維碼新增小助手微信
關於我們
