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