DeepSeek采用的GRPO算法數學原理及算法過程淺析
作者:余俊暉
PPO:通過獎勵和一個“評判者”模型(critic 模型)評估每個行為的“好壞”(價值),然后小步調整策略,確保改進穩定。GRPO:通過讓模型自己生成一組結果(比如回答或行為),比較它們的相對質量(優勢),然后優化策略。它的特點是不需要額外的“評判者”模型(critic 模型),直接用組內比較來改進。
先來簡單看下PPO和GRPO的區別:
source@x
- PPO:通過獎勵和一個“評判者”模型(critic 模型)評估每個行為的“好壞”(價值),然后小步調整策略,確保改進穩定。
- GRPO:通過讓模型自己生成一組結果(比如回答或行為),比較它們的相對質量(優勢),然后優化策略。它的特點是不需要額外的“評判者”模型(critic 模型),直接用組內比較來改進。
個人理解記錄,供參考。
1. GRPO目標函數的數學原理
GRPO的目標函數如下:
這個函數看起來復雜,但我們可以將其拆解為幾個關鍵部分,逐一分析其作用和意義。GRPO的目標函數由兩大部分組成:策略梯度更新項和KL散度正則化項。我們分別分析它們的作用。
1.1 策略梯度更新項
策略梯度部分是目標函數的主要成分,形式為:
1.2 KL散度正則化項
2. GRPO算法的整體工作流程
source@X
GRPO是一種基于組獎勵的策略優化算法,其工作流程可以分為以下幾個步驟:
整個流程通過迭代優化實現:從輸入問題到生成響應,再到獎勵分配和優勢計算,最后更新策略,形成一個閉環。
3. 為什么GRPO算法有效?
- GRPO通過消除傳統強化學習算法(如PPO)中需要的一個單獨價值函數模型,顯著提高了效率。這個模型通常需要額外的內存和計算資源,而GRPO的做法降低了這些需求,使其更適合處理大型語言模型。 穩健的優勢估計
- GRPO采用基于群體的優勢估計方法。它為每個提示生成多個響應,并使用群體的平均獎勵作為基準。這種方法無需依賴另一個模型的預測,提供了一種更穩健的政策評估方式,有助于減少方差并確保學習穩定性。
- GRPO直接將Kullback-Leibler(KL)散度納入損失函數中。這有助于控制策略更新,防止策略與參考策略偏離過多,從而保持訓練的穩定性。
4. 幾個GRPO復現deepseek-R1-zero的流程代碼repo
責任編輯:武曉燕
來源:
大模型自然語言處理