一文讀懂 DeepSeek-R1 的 “最強外掛” GRPO 算法 精華
在大語言模型(LLMs)的飛速發(fā)展進程中,DeepSeek-R1 憑借出色的性能脫穎而出,吸引了無數(shù)目光。而它背后的 “秘密武器”——GRPO(Group Relative Policy Optimization)強化學(xué)習(xí)算法,更是成為大家熱議的焦點。今天,咱們就用通俗易懂的方式,深入剖析一下這個讓 DeepSeek-R1 大放異彩的 GRPO 算法!
1. GRPO 誕生的 “前因后果”
在大語言模型的微調(diào)環(huán)節(jié),強化學(xué)習(xí)(RL)起著舉足輕重的作用。一直以來,近端策略優(yōu)化(PPO)算法都是 LLM 微調(diào)的常用手段。但隨著模型規(guī)模越來越大,PPO 的問題逐漸暴露出來。
想象一下,PPO 就像是一個背著沉重背包的行者,這個背包就是與策略模型大小相當?shù)膬r值網(wǎng)絡(luò),用來估計優(yōu)勢函數(shù)。在處理數(shù)十億甚至千億參數(shù)的大型語言模型時,維護和更新這個價值網(wǎng)絡(luò),需要耗費大量的計算資源和內(nèi)存空間,訓(xùn)練過程變得又慢又艱難,就像行者被沉重背包拖累,舉步維艱。
而且,PPO 在更新策略時,就像一輛剎車不太靈的汽車,策略分布容易發(fā)生劇烈變化,導(dǎo)致訓(xùn)練穩(wěn)定性大打折扣。為了解決這些難題,DeepSeek 的研究人員經(jīng)過不懈努力,研發(fā)出了 GRPO 算法,致力于讓大語言模型的訓(xùn)練更加高效、穩(wěn)定。
2. GRPO 的核心 “智慧”
GRPO 的核心思路十分巧妙,簡單來說,它不走尋常路,不再依賴傳統(tǒng)的價值網(wǎng)絡(luò)(也就是批評模型)來評估動作價值,而是通過組內(nèi)相對獎勵來優(yōu)化策略模型。
這就好比在學(xué)校里評選優(yōu)秀學(xué)生,以前是每個學(xué)生單獨打分(依賴價值網(wǎng)絡(luò)評估每個動作價值),現(xiàn)在則是把學(xué)生分成小組,根據(jù)小組內(nèi)每個學(xué)生的相對表現(xiàn)來評選(根據(jù)組內(nèi)動作相對表現(xiàn)調(diào)整策略)。這樣做有不少好處:
- 計算負擔大幅減輕:不用再維護價值網(wǎng)絡(luò)這個 “耗能大戶”,就像行者扔掉了沉重的背包,訓(xùn)練過程中的內(nèi)存占用和計算代價顯著降低。
- 訓(xùn)練穩(wěn)定性顯著提高:通過組內(nèi)比較來估計優(yōu)勢函數(shù),就像小組內(nèi)互相競爭,大家的水平差距能更準確地體現(xiàn)出來,減少了策略更新的波動,讓訓(xùn)練過程更加平穩(wěn)。
- 策略更新更易掌控:GRPO 引入了 KL 散度約束,這就像是給策略更新上了一把鎖,防止策略更新幅度過大,保持策略分布的穩(wěn)定。
從數(shù)學(xué)角度看,GRPO 的目標是在保持策略更新穩(wěn)定的同時,最大化預(yù)期累積獎勵。它的目標函數(shù)雖然有點復(fù)雜,但可以簡單理解為通過對采樣動作組的獎勵進行處理和約束,實現(xiàn)對策略模型的優(yōu)化 。
3. GRPO 算法的 “操作指南”
3.1 采樣動作組
面對每個輸入狀態(tài),GRPO 會像抽獎一樣,按照當前策略的概率分布,從眾多可能的動作中采樣出一組動作。這樣做能保證采樣的動作豐富多樣,就像抽獎時各種獎項都有機會被抽到,為后續(xù)的評估和優(yōu)化提供更多可能性。
3.2 獎勵評估
每個采樣動作都會接受獎勵函數(shù)的 “考驗”,根據(jù)任務(wù)的不同,獎勵函數(shù)的評判標準也不一樣。在數(shù)學(xué)推理任務(wù)中,如果模型給出的答案正確,就能獲得較高的獎勵值;在代碼生成任務(wù)里,代碼能成功運行,獎勵值也會相應(yīng)提高。
3.3 計算相對優(yōu)勢
這一步是把每個動作的獎勵值進行歸一化處理,得到相對優(yōu)勢。簡單理解,就是把每個動作的獎勵值放在一起比較,看看它在這組動作中的相對表現(xiàn)如何。
比如,大家考試后,老師不僅告訴你考了多少分,還會告訴你在班級里的排名情況,這個排名就類似于相對優(yōu)勢。通過計算相對優(yōu)勢,可以更準確地評估每個動作的優(yōu)劣。
3.4 策略更新
根據(jù)計算出的相對優(yōu)勢,GRPO 會對策略模型的參數(shù)進行調(diào)整。對于那些相對優(yōu)勢為正的動作,就像班級里成績排名靠前的學(xué)生,會增加它們出現(xiàn)的概率;相對優(yōu)勢為負的動作,則會減少概率。
3.5 KL 散度約束
為了避免策略更新 “失控”,GRPO 引入了 KL 散度約束。它就像一個 “穩(wěn)壓器”,限制新舊策略之間的差異,確保策略分布的變化在合理范圍內(nèi),讓模型訓(xùn)練更加穩(wěn)定。
4. GRPO 與 PPO 的 “大對決”
4.1 算法結(jié)構(gòu)差異明顯
PPO 嚴重依賴價值網(wǎng)絡(luò)來估計優(yōu)勢函數(shù),價值網(wǎng)絡(luò)不僅計算復(fù)雜,還占用大量內(nèi)存。而 GRPO 則果斷拋棄價值網(wǎng)絡(luò),通過組內(nèi)相對獎勵來估計優(yōu)勢函數(shù),大大減少了計算和存儲需求。
在獎勵計算方式上,PPO 使用廣義優(yōu)勢估計(GAE),要綜合考慮每個動作的即時獎勵和未來獎勵的折扣總和,計算過程比較繁瑣。GRPO 則簡單直接,采樣一組動作計算獎勵值,歸一化后就得到相對優(yōu)勢。
策略更新機制方面,PPO 通過裁剪概率比來控制策略更新幅度,GRPO 則引入 KL 散度約束,能更精準地調(diào)整策略更新的程度。計算效率上,PPO 因為價值網(wǎng)絡(luò)的拖累,在大規(guī)模語言模型訓(xùn)練中速度較慢,GRPO 則憑借精簡的結(jié)構(gòu),計算效率更高,更適合大規(guī)模模型的微調(diào)。
4.2 優(yōu)勢與局限各有不同
PPO 的優(yōu)勢在于穩(wěn)定性較好,通過裁剪概率比能有效防止策略更新過于激進,而且適用范圍廣,在多種強化學(xué)習(xí)任務(wù)中都能發(fā)揮不錯的效果。但它的局限也很明顯,計算負擔重,在大規(guī)模模型中,維護價值網(wǎng)絡(luò)成本太高;策略更新方差較大,會影響訓(xùn)練的穩(wěn)定性。
GRPO 的優(yōu)勢突出:
- 計算效率高,訓(xùn)練速度比 PPO 快 30%,內(nèi)存占用還能減少 50%;
- 穩(wěn)定性強,組內(nèi)相對獎勵計算減少了策略更新的方差;
- 可控性好,KL 散度約束讓策略更新更精細。
不過,GRPO 也有短板:
- 每個狀態(tài)都要采樣一組動作,采樣成本較高;
- 在獎勵信號稀疏的任務(wù)中,表現(xiàn)可能不如 PPO 穩(wěn)定。
5. GRPO 在 DeepSeek-R1 中的 “實戰(zhàn)成果”
5.1 多階段訓(xùn)練鑄就 “全能選手”
DeepSeek-R1 模型運用 GRPO 算法進行訓(xùn)練,采用了多階段策略。
在監(jiān)督微調(diào)(SFT)階段,用高質(zhì)量標注數(shù)據(jù)對基礎(chǔ)模型進行 “打磨”,讓模型在特定任務(wù)上初步具備一定性能。
接著進入強化學(xué)習(xí)(RL)階段,按照 GRPO 算法流程,采樣動作組、評估獎勵、計算相對優(yōu)勢、更新策略,不斷迭代優(yōu)化。
然后通過拒絕采樣(RS)階段生成合成數(shù)據(jù)集,提升模型的通用性和連貫性。
最后在最終強化學(xué)習(xí)階段,再次運用 GRPO 算法,重點優(yōu)化模型的實用性和無害性。
5.2 實驗成績相當亮眼
經(jīng)過這樣的訓(xùn)練,DeepSeek-R1 在各項任務(wù)中表現(xiàn)出色。
在 2024 年美國數(shù)學(xué)邀請賽(AIME)中,通過率 @1 得分高達 71.0%,相比未使用 GRPO 算法的模型,性能提升顯著。
代碼生成任務(wù)里,生成代碼的可運行性達到 85%,正確率達到 70%,能產(chǎn)出高質(zhì)量代碼。
在寫作、角色扮演等通用任務(wù)中,模型的通用性和連貫性也很強。
而且,GRPO 算法讓訓(xùn)練效率大幅提高,幫助 DeepSeek-R1 在更短時間內(nèi)完成訓(xùn)練,同時保持高性能。
6. GRPO 與 OpenAI RLHF 算法的 “大比拼”
OpenAI 的 RLHF 算法大名鼎鼎,它基于人類反饋,通過獎勵建模和強化學(xué)習(xí)來優(yōu)化模型輸出,讓結(jié)果更符合人類偏好。和 GRPO 比起來,二者各有千秋。
- 從算法原理看,GRPO 通過組內(nèi)相對獎勵機制估計優(yōu)勢函數(shù),還加入 KL 散度正則項;RLHF 則依賴人類反饋進行獎勵建模和優(yōu)化。
- 訓(xùn)練效率上,GRPO 簡化流程,計算開銷和內(nèi)存需求低,訓(xùn)練速度快;RLHF 訓(xùn)練過程復(fù)雜,計算成本高。
- 策略更新穩(wěn)定性方面,GRPO 通過組內(nèi)相對獎勵和 KL 散度正則化,更新穩(wěn)定且可控;RLHF 的穩(wěn)定性取決于獎勵模型的準確性和標注數(shù)據(jù)質(zhì)量,容易出現(xiàn)偏差。
- 應(yīng)用場景中,GRPO 特別適合數(shù)學(xué)推理、代碼生成這類需要推理能力的任務(wù);RLHF 通用性強,在聊天機器人、內(nèi)容生成等優(yōu)化模型輸出符合人類偏好的任務(wù)中表現(xiàn)出色。
- 資源需求上,GRPO 對大規(guī)模語言模型更友好,資源需求低;RLHF 則需要大量人類標注數(shù)據(jù)和計算資源。
- 模型性能上,GRPO 在特定任務(wù)(如數(shù)學(xué)推理)中解題準確率提升顯著;RLHF 生成的輸出更符合人類偏好,能減少有害內(nèi)容生成。
GRPO 算法為大語言模型的訓(xùn)練帶來了新的思路和方法,雖然它還有一些需要完善的地方,但在 DeepSeek-R1 中的成功應(yīng)用,已經(jīng)讓我們看到了它的巨大潛力。
本文轉(zhuǎn)載自??鴻煊的學(xué)習(xí)筆記??,作者:乘風(fēng)破浪jxj
