一文讀懂 PPO 與 GRPO:LLM 訓(xùn)練的關(guān)鍵算法 精華
大語言模型(LLM)的發(fā)展可謂日新月異。大家都知道,LLM 的訓(xùn)練過程很復(fù)雜,其中有兩個關(guān)鍵階段:預(yù)訓(xùn)練和后訓(xùn)練。今天咱們就來深入聊聊在這一過程中發(fā)揮重要作用的近端策略優(yōu)化(PPO)算法和組相對策略優(yōu)化(GRPO)算法。這倆算法不僅在學(xué)術(shù)圈備受關(guān)注,在實際應(yīng)用中也有著舉足輕重的地位,理解它們,能讓你更懂 LLM 是如何一步步變得這么 “聰明” 的!
一、從 LLM 訓(xùn)練說起
LLM 的訓(xùn)練如同一場漫長而復(fù)雜的旅程,主要分為預(yù)訓(xùn)練和后訓(xùn)練兩個大階段。
- 預(yù)訓(xùn)練:這是基礎(chǔ)積累階段,模型就像一個勤奮的學(xué)生,在大規(guī)模網(wǎng)頁數(shù)據(jù)的知識海洋里學(xué)習(xí),通過下一個詞預(yù)測任務(wù),不斷積累背景知識,為后續(xù)學(xué)習(xí)打下基礎(chǔ)。這個過程就像是我們學(xué)習(xí)新知識時,先廣泛閱讀各種資料,建立起基本的認知框架。
- 后訓(xùn)練:旨在提升模型的推理能力,又細分為兩個階段。
a.監(jiān)督微調(diào)(SFT):可以理解為老師針對學(xué)生的薄弱環(huán)節(jié)進行專項輔導(dǎo)。它利用少量高質(zhì)量的專家推理數(shù)據(jù),讓模型學(xué)習(xí)如何模仿專家的解題思路和方法,像指令遵循、問答以及思維鏈等能力都是在這個階段培養(yǎng)的。
b.強化學(xué)習(xí)從人類反饋(RLHF):當(dāng)專家數(shù)據(jù)有限時,RLHF 就派上用場了。它借助人類的反饋來訓(xùn)練獎勵模型,再由獎勵模型引導(dǎo) LLM 學(xué)習(xí),使模型的輸出更符合人類的偏好。比如學(xué)生做完作業(yè)后,老師根據(jù)作業(yè)情況給予反饋,學(xué)生根據(jù)老師的反饋來改進自己的學(xué)習(xí)方法。
不過,DeepSeek 的 R1 - zero 模型卻走出了一條與眾不同的路。它直接跳過 SFT 階段,將 RL 直接應(yīng)用到基礎(chǔ)模型上。這樣做帶來了不少好處,計算效率提高了,模型能夠通過自主探索實現(xiàn)推理能力的 “自我進化”,還避免了 SFT 數(shù)據(jù)可能引入的偏差。當(dāng)然,這一切的前提是要有一個非常出色的基礎(chǔ)模型。
不僅如此,DeepSeek 還引入 GRPO 算法替代 PPO 來優(yōu)化 RLHF 部分。這一改變可不得了,直接減少了對價值函數(shù)(也就是 critic 模型,通常和策略模型一樣大)的需求,內(nèi)存和計算開銷降低了約 50%,大大提高了訓(xùn)練效率。
二、RLHF 的工作流程揭秘
在深入了解 PPO 和 GRPO 之前,我們先來揭開 RLHF 的神秘面紗。RLHF 的工作流程主要分為四步:
- 采樣:針對每個提示,模型會生成多個響應(yīng)。就好比老師提出一個問題,學(xué)生們會給出各種各樣的答案。
- 排序:人類根據(jù)這些答案的質(zhì)量進行排序,判斷哪個回答得好,哪個還有提升空間。這一步就像是老師批改作業(yè),給學(xué)生的答案打分。
- 訓(xùn)練獎勵模型:由于讓人類對模型的所有輸出進行打分不太現(xiàn)實,所以采用一種節(jié)省成本的方法,讓標(biāo)注人員對 LLM 輸出的一小部分進行評分,然后訓(xùn)練一個獎勵模型,讓它學(xué)會預(yù)測標(biāo)注人員的偏好。這個獎勵模型就像是一個智能打分器,經(jīng)過訓(xùn)練后能模擬人類的評價標(biāo)準(zhǔn)。
- 微調(diào)模型:使用 RL 算法(如 PPO、GRPO)對 LLM 進行微調(diào),讓模型在獎勵模型的引導(dǎo)下,不斷提高自己的得分。這就好比學(xué)生根據(jù)老師的反饋和打分,不斷調(diào)整自己的學(xué)習(xí)方法,努力提高成績。
在這個過程中,獎勵模型和 RL 算法是兩個核心組件,接下來咱們就重點講講它們。
三、獎勵模型:模擬人類評價的 “小能手”
四、PPO:復(fù)雜而強大的優(yōu)化算法
PPO(近端策略優(yōu)化)在 RLHF 中起著至關(guān)重要的作用,它包含幾個關(guān)鍵組件:
- 策略(Policy):就是經(jīng)過預(yù)訓(xùn)練或 SFT 的 LLM,它負責(zé)生成對提示的響應(yīng),就像學(xué)生根據(jù)自己學(xué)到的知識回答問題一樣。
- 獎勵模型(Reward model):這是一個已經(jīng)訓(xùn)練好并凍結(jié)的網(wǎng)絡(luò),根據(jù)完整響應(yīng)給出標(biāo)量獎勵,相當(dāng)于老師根據(jù)學(xué)生完整的回答給出一個具體的分數(shù)。
- 評論家(Critic,也叫值函數(shù)):它是一個可學(xué)習(xí)的網(wǎng)絡(luò),根據(jù)部分響應(yīng)預(yù)測標(biāo)量獎勵,有點像老師在學(xué)生回答問題的過程中,根據(jù)學(xué)生已經(jīng)回答的部分,預(yù)測最終可能得到的分數(shù)。
PPO 的工作流程如下:
- 生成響應(yīng):LLM 根據(jù)提示生成多個響應(yīng)。
- 打分:獎勵模型給每個響應(yīng)分配獎勵。
- 計算優(yōu)勢:這里用到了通用優(yōu)勢估計(GAE)方法。優(yōu)勢的概念是特定動作(比如生成的某個詞)相較于平均動作的優(yōu)勢程度。計算優(yōu)勢有兩種常見方法:
a.蒙特卡洛(MC)方法:利用完整軌跡的獎勵,雖然偏差小,但方差高。這是因為獎勵比較稀疏,就像在學(xué)習(xí)過程中,只有偶爾幾次考試成績能作為評價依據(jù),獲取足夠樣本進行優(yōu)化的成本高。
b.時間差分(TD)方法:用一步軌跡獎勵,方差低了,但偏差又高了。這就好比只根據(jù)學(xué)生某一次的課堂表現(xiàn)來評價他的整體學(xué)習(xí)情況,難以準(zhǔn)確預(yù)測部分響應(yīng)的最終獎勵。
c.GAE:為了平衡這兩者,通過多步 TD 來計算優(yōu)勢。不過,由于不完整響應(yīng)的獎勵為 0,所以需要評論家模型來預(yù)測獎勵,從而計算 TD 誤差。
- 優(yōu)化策略:通過優(yōu)化總目標(biāo)來更新 LLM,讓模型生成的每個詞都能最大化獎勵,就像學(xué)生努力讓自己每次回答問題都能得到更高的分數(shù)。
- 更新評論家:訓(xùn)練值函數(shù),讓它能更準(zhǔn)確地預(yù)測部分響應(yīng)的獎勵,以便更好地指導(dǎo)策略的優(yōu)化。
PPO 的目標(biāo)函數(shù)包含幾個部分:
- 裁剪的替代目標(biāo):通過限制策略更新的概率比,讓模型在追求高優(yōu)勢動作的同時,避免過度自信,防止策略過于偏向某個動作。比如,在選擇答案時,避免模型過于依賴某一種解題思路。
- 熵獎勵:鼓勵模型探索更多的可能性,避免生成過于單一的結(jié)果,讓模型的回答更加多樣化。
- KL 懲罰:防止當(dāng)前策略偏離原始模型太遠,保證訓(xùn)練的穩(wěn)定性,確保模型在優(yōu)化過程中不會 “跑偏”。
- 評論家的 L2 損失:用于優(yōu)化評論家模型,使其能更好地預(yù)測獎勵,提高評價的準(zhǔn)確性。
5. GRPO:PPO 的精簡升級版本
GRPO 是對 PPO 的改進,理解了 PPO,GRPO 就很好懂啦。它和 PPO 的關(guān)鍵區(qū)別在于估計優(yōu)勢的方式。GRPO 不再依賴評論家模型,而是通過對同一提示生成的多個響應(yīng)來計算優(yōu)勢。
GRPO 的工作流程是這樣的:
- 采樣:針對每個提示,從 LLM 策略中采樣一組響應(yīng)。
- 計算獎勵:用獎勵模型給每個響應(yīng)計算獎勵。
- 計算組歸一化優(yōu)勢:將每個響應(yīng)的獎勵減去組內(nèi)平均獎勵,再除以組內(nèi)標(biāo)準(zhǔn)差,得到歸一化的優(yōu)勢,公式為:
GRPO 的目標(biāo)函數(shù)和 PPO 類似,也包含裁剪的替代損失和 KL 懲罰,但沒有熵獎勵,因為基于組的采樣方式本身就鼓勵了模型的探索。
6. DeepSeek R1 的極簡設(shè)計理念
DeepSeek R1 在 LLM 訓(xùn)練上展現(xiàn)出一種獨特的 “極簡主義” 風(fēng)格,除了前面提到的跳過 SFT 階段和使用 GRPO 算法,還有很多值得關(guān)注的設(shè)計:
- 基于規(guī)則的確定性獎勵:拋棄了復(fù)雜的神經(jīng)過程獎勵模型或結(jié)果獎勵模型,采用簡單的二進制檢查,如答案正確性、格式規(guī)范、語言一致性等檢查。比如,對于數(shù)學(xué)問題,檢查答案是否正確;對于代碼問題,檢查是否能正確編譯。這樣既避免了模型 “耍小聰明” 欺騙獎勵模型,又節(jié)省了獎勵模型的訓(xùn)練成本。
- 冷啟動數(shù)據(jù):最小化人工干預(yù):不再費力收集大規(guī)模的 SFT 數(shù)據(jù)集,而是通過少量高質(zhì)量的思維鏈(CoT)示例,加上簡單的人工后處理,為 RL 訓(xùn)練提供一個 “夠用” 的起點。這種方式避免了昂貴的 SFT 階段,同時又能讓模型快速啟動訓(xùn)練。
- 拒絕采樣:嚴格篩選,強化訓(xùn)練:RL 訓(xùn)練后,生成大量推理軌跡,只保留正確的響應(yīng)用于監(jiān)督微調(diào),簡單粗暴但很有效。就像在眾多練習(xí)中,只挑選做對的題目進行深入分析,提高訓(xùn)練的針對性。
- 蒸餾:復(fù)制推理模式:訓(xùn)練小模型時,直接在大模型生成的大量響應(yīng)上進行微調(diào),讓小模型繼承大模型通過暴力 RL 發(fā)現(xiàn)的推理模式,避免了小模型進行復(fù)雜 RL 訓(xùn)練的成本。
這種設(shè)計理念體現(xiàn)了 AI 領(lǐng)域的一個趨勢:有時候,簡單直接的方法配合大規(guī)模的計算資源,比復(fù)雜的工程設(shè)計更能取得好的效果。
7. 小結(jié)
PPO 和 GRPO 作為 LLM 訓(xùn)練中的重要算法,各自有著獨特的優(yōu)勢和應(yīng)用場景。
PPO 雖然復(fù)雜,但功能強大;
GRPO 則通過簡化設(shè)計,提高了訓(xùn)練效率。
而 DeepSeek R1 的一系列創(chuàng)新設(shè)計,也為 LLM 的發(fā)展提供了新的思路。
本文轉(zhuǎn)載自??鴻煊的學(xué)習(xí)筆記??,作者: 乘風(fēng)破浪jxj ????
