DeepSeekMath論文淺讀(GRPO)

Group Relative Policy Optimization(GRPO) ,從DeepSeekMath被提出:

DeepSeekMath-Introduction

一、 PPO與GRPO的對(duì)比圖

PPO中使用的值模型(value model)通常是另一個(gè)與策略模型(policy model)大小差不多的模型,因此會(huì)帶來(lái)很大的內(nèi)存和計(jì)算負(fù)擔(dān)。因此作者提出了一個(gè)GRPO, 取締掉了值模型。如下圖Figure 4.

GRPO and PPO

二、 為什么要提出GRPO

作者的原文是這樣寫(xiě)的,下圖劃線(xiàn)部分:
"While in the LLM context, usually only the last token is assigned a reward score by the reward model, which may complicate the training of a value function that is accurate at each token. "
(在大語(yǔ)言模型(LLM)上下文中,通常只有最后一個(gè)標(biāo)記會(huì)被獎(jiǎng)勵(lì)模型分配獎(jiǎng)勵(lì)分?jǐn)?shù),這可能會(huì)使得訓(xùn)練一個(gè)在每個(gè)標(biāo)記上都能準(zhǔn)確評(píng)估的值函數(shù)變得更加復(fù)雜)

GRPO

我們來(lái)詳細(xì)理解一下劃線(xiàn)部分:

  1. reward model 只對(duì)最后一個(gè)token賦予獎(jiǎng)勵(lì)
    當(dāng)使用獎(jiǎng)勵(lì)模型時(shí),通常只有最后一個(gè)標(biāo)記(即生成序列中的最后一個(gè)單詞或符號(hào))會(huì)被分配一個(gè)獎(jiǎng)勵(lì)分?jǐn)?shù)。這是因?yàn)楠?jiǎng)勵(lì)模型通常會(huì)在生成整個(gè)文本之后,再回過(guò)頭來(lái)評(píng)估整個(gè)生成的序列的質(zhì)量,而不是針對(duì)每個(gè)中間標(biāo)記進(jìn)行實(shí)時(shí)評(píng)估。

  2. 為什么只對(duì)最后一個(gè)標(biāo)記賦予獎(jiǎng)勵(lì)?
    在很多任務(wù)中,獎(jiǎng)勵(lì)往往是基于整個(gè)生成序列的最終質(zhì)量來(lái)給出的。例如,在問(wèn)答系統(tǒng)中,回答的最終準(zhǔn)確性決定了回答是否好,而不僅僅是每個(gè)中間單詞的好壞。
    由于生成是逐步進(jìn)行的,獎(jiǎng)勵(lì)模型會(huì)根據(jù)最終生成的輸出給出一個(gè)總結(jié)性的評(píng)分。

  3. 值函數(shù)的訓(xùn)練
    值函數(shù)的任務(wù)是評(píng)估當(dāng)前策略模型(Policy Model)在某個(gè)狀態(tài)下采取某個(gè)動(dòng)作的預(yù)期獎(jiǎng)勵(lì)。在序列生成任務(wù)中,值函數(shù)應(yīng)該能夠?yàn)槊總€(gè)生成的標(biāo)記(token)都提供一個(gè)準(zhǔn)確的獎(jiǎng)勵(lì)評(píng)估,而不僅僅是為整個(gè)序列的最后一個(gè)標(biāo)記提供評(píng)估。

    • 比如,在生成句子的過(guò)程中,我們希望每一步生成的標(biāo)記都能得到一個(gè)評(píng)估分?jǐn)?shù),而不是僅僅等到句子生成完畢才給出一個(gè)總結(jié)性的評(píng)估。
    • 這樣,策略模型在每次生成標(biāo)記時(shí),就能根據(jù)即時(shí)的獎(jiǎng)勵(lì)來(lái)調(diào)整生成過(guò)程,優(yōu)化每個(gè)標(biāo)記的生成,而不是等待整個(gè)句子生成完畢后才進(jìn)行優(yōu)化。
  4. 問(wèn)題的復(fù)雜性
    由于獎(jiǎng)勵(lì)模型通常只對(duì)最后一個(gè)標(biāo)記提供獎(jiǎng)勵(lì)分?jǐn)?shù),這使得在訓(xùn)練值函數(shù)時(shí),每個(gè)標(biāo)記的評(píng)估變得更加困難。訓(xùn)練值函數(shù)的目的是讓它能夠準(zhǔn)確地預(yù)測(cè)每個(gè)標(biāo)記的獎(jiǎng)勵(lì),但是,如果只有最后一個(gè)標(biāo)記被評(píng)分,如何知道之前的每個(gè)標(biāo)記的表現(xiàn)如何?如何訓(xùn)練值函數(shù)來(lái)準(zhǔn)確評(píng)估每個(gè)標(biāo)記的質(zhì)量呢?

    • 如果沒(méi)有每個(gè)標(biāo)記的即時(shí)獎(jiǎng)勵(lì)反饋,值函數(shù)就無(wú)法準(zhǔn)確地評(píng)估每個(gè)標(biāo)記的價(jià)值,而是依賴(lài)于整個(gè)生成序列的最終評(píng)估,這樣就很難在訓(xùn)練過(guò)程中優(yōu)化每個(gè)標(biāo)記的生成。
    • 這種方式會(huì)導(dǎo)致值函數(shù)的訓(xùn)練更加復(fù)雜,因?yàn)樗枰ㄟ^(guò)間接的方式(比如計(jì)算整個(gè)序列的最終獎(jiǎng)勵(lì),再回推到每個(gè)標(biāo)記的估計(jì))來(lái)估計(jì)每個(gè)標(biāo)記的獎(jiǎng)勵(lì),而這種回推過(guò)程是比較復(fù)雜的。

總結(jié)來(lái)說(shuō)就是:由于在LLM的訓(xùn)練中,獎(jiǎng)勵(lì)模型通常只為生成序列的最后一個(gè)token分配獎(jiǎng)勵(lì)分?jǐn)?shù),這就使得訓(xùn)練一個(gè)能夠在每個(gè)token上都提供準(zhǔn)確評(píng)估的值函數(shù)變得更加復(fù)雜。簡(jiǎn)單來(lái)說(shuō),值函數(shù)需要準(zhǔn)確評(píng)估每個(gè)token的質(zhì)量,而獎(jiǎng)勵(lì)模型只在最后一個(gè)token處提供獎(jiǎng)勵(lì),這種設(shè)計(jì)使得逐步優(yōu)化每個(gè)標(biāo)記的過(guò)程變得更難。

三、GRPO是如何做的

針對(duì)一個(gè)問(wèn)題q,從舊的策略網(wǎng)絡(luò)中采樣一組輸出(o1, ... oG),最大化公式(3)

GRPO 目標(biāo)函數(shù)
KL 計(jì)算

值得注意的是:

  1. GRPO并沒(méi)有在獎(jiǎng)勵(lì)中添加KL懲罰,而是通過(guò)直接將訓(xùn)練策略和參考策略之間的KL散度添加到損失函數(shù)中來(lái)進(jìn)行正則化,從而避免了使得??^??,??的計(jì)算變得復(fù)雜
  2. GRPO使用公式(4)的無(wú)偏估計(jì)器來(lái)估計(jì)KL散度(Schulman, 2020)
  3. 一組指的是,一個(gè)question的一組output

四、 GRPO 算法

GRPO 算法

重點(diǎn)看劃紅線(xiàn)的部分,??^??,?? (組相對(duì)優(yōu)勢(shì)估計(jì))是針對(duì) 每個(gè)答案oi第t-th個(gè)token 計(jì)算的。

五、 結(jié)果/過(guò)程監(jiān)督

作者舉了個(gè)例子,如何利用過(guò)程/結(jié)果的reward,比如結(jié)果監(jiān)督可以采用組reward歸一化的方式來(lái)進(jìn)行,詳細(xì)看下面論文:


結(jié)果監(jiān)督
過(guò)程監(jiān)督

補(bǔ)充知識(shí):

用簡(jiǎn)單易懂的方式理解RLHF中的PPO中各個(gè)模型的作用,Policy model, Reference Model, Reward Model, Value Model:

假設(shè)用戶(hù)輸入:“我應(yīng)該穿什么衣服?”

  1. 策略模型:生成多種回答:

“今天很冷,穿厚衣服吧?!?br> “今天適合穿輕便的衣服,溫暖而舒適?!?/p>

  1. 參考模型:
    1)檢查這些回答,確保它們不包含明顯的錯(cuò)誤,比如“今天溫度40°C”這種明顯不合理的回答。
    2)對(duì)比新的策略模型和參考模型的參數(shù)變化,確保模型更新的幅度不過(guò)大,避免訓(xùn)練過(guò)程中出現(xiàn)震蕩或不穩(wěn)定的情況。

  2. 獎(jiǎng)勵(lì)模型:根據(jù)每個(gè)回答的質(zhì)量給予獎(jiǎng)勵(lì)。假設(shè)第一個(gè)回答符合實(shí)際天氣條件,獎(jiǎng)勵(lì)模型會(huì)給出正反饋;而第二個(gè)回答如果不準(zhǔn)確(例如天氣實(shí)際非常冷),獎(jiǎng)勵(lì)模型可能會(huì)給出負(fù)反饋。

  3. 值模型:評(píng)估這些回答的長(zhǎng)期回報(bào)。例如,第二個(gè)回答可能引起更多用戶(hù)的興趣(如果他們繼續(xù)詢(xún)問(wèn)衣物選擇),因此它的回報(bào)值較高。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容