自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命 原創(chuàng) 精華

發(fā)布于 2025-2-27 10:30
瀏覽
0收藏

編者按: 還在為訓(xùn)練推理模型燒光算力預(yù)算而發(fā)愁?當(dāng)開(kāi)源小模型遇上數(shù)學(xué)題就“智商掉線”,如何低成本突破性能瓶頸?

傳統(tǒng) RLHF 動(dòng)輒百萬(wàn)級(jí)算力投入,讓多少團(tuán)隊(duì)在強(qiáng)化學(xué)習(xí)門(mén)前望而卻步;格式混亂、邏輯斷層、答案偏差——這些模型推理的頑疾是否也在阻礙你的 AI 產(chǎn)品落地?

本文深入解析 DeepSeek 團(tuán)隊(duì)突破性的 GRPO(群組相對(duì)策略優(yōu)化)技術(shù),這項(xiàng)創(chuàng)新將強(qiáng)化學(xué)習(xí)所需計(jì)算資源幾乎減半,甚至可以結(jié)合 LoRA 在普通消費(fèi)級(jí) GPU 上進(jìn)行模型訓(xùn)練。作者通過(guò)親身實(shí)踐,成功在僅需 16GB 顯存的環(huán)境下將 1B 參數(shù)的 Llama 3.2 轉(zhuǎn)化為推理模型(后續(xù)文章會(huì)分享相關(guān)細(xì)節(jié)),完全顛覆了傳統(tǒng)強(qiáng)化學(xué)習(xí)的資源需求認(rèn)知。

作者 | Greg Schoeninger

編譯 | 岳揚(yáng)

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

不久前,我們深入研究了 DeepSeek-R1 背后的技術(shù)原理,但是沒(méi)有詳細(xì)介紹其訓(xùn)練流程中采用的一項(xiàng)名為"群組相對(duì)策略優(yōu)化"(Group Relative Policy Optimization, GRPO)的關(guān)鍵技術(shù)。

GRPO 本質(zhì)上是一種旨在提升模型推理能力的強(qiáng)化學(xué)習(xí)算法。該技術(shù)最早發(fā)表于其研究論文《DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models》[1],隨后也被應(yīng)用于 DeepSeek-R1 的后訓(xùn)練階段。

在《DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning》這一論文[2]中,研究團(tuán)隊(duì)詳細(xì)闡述了從基礎(chǔ)預(yù)訓(xùn)練語(yǔ)言模型到最終推理模型的完整構(gòu)建路徑。雖然之前我們未深入探討 GRPO 的數(shù)學(xué)原理和代碼實(shí)現(xiàn),但今天這篇文章將全面解析 GRPO 的技術(shù)細(xì)節(jié),助力各位讀者掌握這項(xiàng)技術(shù)的核心要義并應(yīng)用于實(shí)際工作。

01 要點(diǎn)回顧:DeepSeek-R1如何運(yùn)用GRPO技術(shù)

為幫助理解,我們首先梳理從基礎(chǔ)模型到推理模型的完整訓(xùn)練流程。該流程通過(guò)監(jiān)督式微調(diào)(SFT)與群組相對(duì)策略優(yōu)化(GRPO)的交替迭代實(shí)現(xiàn)模型能力躍升:

1.監(jiān)督式微調(diào)(SFT)階段

a.冷啟動(dòng)訓(xùn)練:采用數(shù)千條人工標(biāo)注的高質(zhì)量數(shù)據(jù)微調(diào)模型

b.數(shù)據(jù)驗(yàn)證:所有樣本均通過(guò)人工審核確??煽啃?/p>

2.GRPO 強(qiáng)化學(xué)習(xí)階段

a.推理軌跡訓(xùn)練:引導(dǎo)模型生成結(jié)構(gòu)化推理過(guò)程(具有標(biāo)簽的推理軌跡)

b.三重確定性獎(jiǎng)勵(lì):基于格式規(guī)范性、邏輯一致性、答案正確性設(shè)計(jì)獎(jiǎng)勵(lì)機(jī)制

3.增強(qiáng)型 SFT 階段

a.合成數(shù)據(jù)生成:創(chuàng)建 80 萬(wàn)條合成訓(xùn)練樣本并進(jìn)行篩選

b.模型自檢過(guò)濾:通過(guò)"LLM As A Judge"機(jī)制剔除錯(cuò)誤響應(yīng)

4.最終 GRPO 對(duì)齊階段

a.價(jià)值觀校準(zhǔn):確保模型輸出兼具實(shí)用性與安全性

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

在這篇文章中,我們將深入探討 GRPO 的細(xì)節(jié),助您掌握這項(xiàng)推動(dòng)大模型推理能力突破的關(guān)鍵技術(shù)。筆者已開(kāi)展基于 GRPO 的小模型訓(xùn)練實(shí)驗(yàn),后續(xù)將發(fā)布完整代碼與工程實(shí)踐細(xì)節(jié),通過(guò)可復(fù)現(xiàn)案例串聯(lián)理論知識(shí)與實(shí)際應(yīng)用。

02 為什么 GRPO 很重要?

TLDR ~ 大幅降低了計(jì)算需求且簡(jiǎn)化了強(qiáng)化學(xué)習(xí)流程。與 ChatGPT(PPO)使用的基于人類(lèi)反饋的強(qiáng)化學(xué)習(xí)(RLHF)相比,所需的計(jì)算資源幾乎減半。當(dāng)你結(jié)合 LoRA 使用時(shí),即使“GPU poor”(譯者注:GPU 的性能不足)也能進(jìn)行強(qiáng)化學(xué)習(xí)訓(xùn)練。我試過(guò)了,確實(shí)有效。我成功地將 1B 參數(shù)的 Llama 3.2 模型改造成了僅需 16GB 顯存的推理模型。后續(xù)文章會(huì)分享代碼和硬件要求細(xì)節(jié)。

我們只需在云 GPU 服務(wù)上花不到 100 美元,就能從自家車(chē)庫(kù)訓(xùn)練推理模型。如果用自己的硬件跑小模型,基本上算是"免費(fèi)"。其底層原理是什么呢?下一節(jié)將討論從 PPO 到 GRPO 的演變過(guò)程。

03 從 PPO 到 GRPO

傳聞 ChatGPT 背后的強(qiáng)化學(xué)習(xí)(RL)技術(shù)是 PPO(Proximal Policy Optimization,近端策略優(yōu)化)。該流程在 InstructGPT 論文[3]中被提出,用于創(chuàng)建能夠遵循指令而不僅僅是簡(jiǎn)單預(yù)測(cè)下一個(gè)單詞的模型。

訓(xùn)練過(guò)程需要收集大量標(biāo)注數(shù)據(jù)。對(duì)于給定的用戶查詢,模型需生成多個(gè)候選響應(yīng),然后由人類(lèi)或 AI 在循環(huán)中對(duì)輸出進(jìn)行標(biāo)注并按質(zhì)量從優(yōu)到劣排序。這些數(shù)據(jù)可用于訓(xùn)練“獎(jiǎng)勵(lì)模型”,其職責(zé)是為新接收的提示詞計(jì)算“獎(jiǎng)勵(lì)值”。該獎(jiǎng)勵(lì)值應(yīng)體現(xiàn)給定用戶查詢下模型響應(yīng)的優(yōu)劣程度。

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

收集完所有這些經(jīng)過(guò)排序和標(biāo)注的數(shù)據(jù)后,即可啟動(dòng) PPO 來(lái)訓(xùn)練大語(yǔ)言模型(LLM)。

問(wèn)題在于 PPO 的訓(xùn)練成本可能非常高昂。 GRPO 論文[1]中的相關(guān)圖表展示了 PPO 和 GRPO 過(guò)程中涉及的不同 LLM。下方藍(lán)色和黃色方框中共有 4 個(gè)不同的 LLM。

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

為了幫助大家理解上圖的一些術(shù)語(yǔ),我在這里給出了一些簡(jiǎn)單的定義:

  1. 策略模型(Policy Model)- 對(duì)當(dāng)前正在訓(xùn)練的 LLM 的別稱
  2. 參考模型(Reference Model)- 被訓(xùn)練原始 LLM 的凍結(jié)版本
  3. 獎(jiǎng)勵(lì)模型(Reward Model)- 基于人類(lèi)偏好訓(xùn)練的模型(來(lái)自上文提到的 InstructGPT 技術(shù))
  4. 價(jià)值模型(Value Model)- 試圖估算特定動(dòng)作長(zhǎng)期獎(jiǎng)勵(lì)的模型

04 通過(guò) GRPO 減少內(nèi)存使用量

在 PPO 算法中,策略模型和價(jià)值模型都包含需要通過(guò)反向傳播進(jìn)行優(yōu)化的可訓(xùn)練參數(shù)。反向傳播過(guò)程需要消耗大量?jī)?nèi)存資源。 從上面的架構(gòu)圖可以看出,GRPO 算法移除了價(jià)值模型模塊。

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

PPO 算法中混合使用了 4 個(gè)大語(yǔ)言模型(LLMs),這些模型都需要消耗大量的內(nèi)存和計(jì)算資源。其中價(jià)值模型和獎(jiǎng)勵(lì)模型的參數(shù)量通常與正在訓(xùn)練的目標(biāo)語(yǔ)言模型相當(dāng)。參考模型通常是訓(xùn)練初期的語(yǔ)言模型的凍結(jié)副本。

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

這種實(shí)現(xiàn)方法不僅帶來(lái)高昂的計(jì)算成本,還存在諸多需要協(xié)調(diào)的動(dòng)態(tài)組件,而且還有多個(gè)模型需要優(yōu)化。組件數(shù)量越多,通常意味著優(yōu)化難度越大。GRPO 通過(guò)精簡(jiǎn)架構(gòu)有效降低了系統(tǒng)復(fù)雜度。

出于興趣,我在 H100 上測(cè)試了不同參數(shù)規(guī)模的模型,觀察使用 GRPO 進(jìn)行微調(diào)的難易程度。

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

如果想了解具體技術(shù)細(xì)節(jié),可以查閱相關(guān)文檔:

??https://www.oxen.ai/blog/grpo-vram-requirements-for-the-gpu-poor??

若您理解了所有系統(tǒng)需求的來(lái)源,就可以開(kāi)始參與開(kāi)源項(xiàng)目貢獻(xiàn),或像我最近看到的 trl 倉(cāng)庫(kù)的這個(gè) PR 那樣,動(dòng)手優(yōu)化自己的機(jī)器學(xué)習(xí)庫(kù):

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

05 群組相對(duì)優(yōu)勢(shì)(Group Relative Advantages)

在強(qiáng)化學(xué)習(xí)過(guò)程中,我們從語(yǔ)言模型(LLMs)中獲取的主要信號(hào)是代表"優(yōu)勢(shì)"(Advantage)的"A"。這個(gè)信號(hào)為更新原始語(yǔ)言模型的權(quán)重提供了方向指導(dǎo):當(dāng)優(yōu)勢(shì)值較高時(shí),我們需要鼓勵(lì)模型重復(fù)當(dāng)前行為;當(dāng)優(yōu)勢(shì)值較低時(shí),則需要引導(dǎo)模型嘗試不同的行為。

在 PPO 算法中,傳統(tǒng)價(jià)值模型的核心任務(wù)是評(píng)估生成內(nèi)容的質(zhì)量,或者說(shuō)預(yù)測(cè)這些內(nèi)容獲得高獎(jiǎng)勵(lì)值(high reward)的可能性。為了完成這項(xiàng)評(píng)估工作,需要訓(xùn)練大語(yǔ)言模型作為價(jià)值判斷模塊。那么 GRPO 是如何擺脫對(duì)價(jià)值模型的依賴的呢?

第一個(gè)技巧是:GRPO 不再針對(duì)單個(gè)查詢生成單一輸出,而是開(kāi)始生成多個(gè)候選回答。

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

具體來(lái)說(shuō),如果問(wèn)題是一道數(shù)學(xué)題,模型可能會(huì)嘗試幾種不同的解題方法。以下面這個(gè)數(shù)學(xué)問(wèn)題為例:

Mr. Curtis has 325 chickens on his farm where 28 are roosters and the rest are hens. Twenty hens do not lay eggs while the rest of the hens do. How many egg-laying hens does Mr. Curtis have on his farm?

Curtis 先生的農(nóng)場(chǎng)有 325 只雞,其中 28 只是公雞,其余是母雞。其中有 20 只母雞不下蛋,問(wèn)有多少只產(chǎn)蛋母雞?

模型可能會(huì)嘗試多種解題思路,有的正確(答案為 227),有的不正確(答案為 305)。

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

正確推理路徑:

First, let's find out how many hens there are. The total number of chickens is 325, and 28 are roosters. So, the number of hens is 325 - 28 = 297. Of these 297 hens, 20 do not lay eggs, so the number of egg-laying hens is 297 - 20 = 277.

277

首先,我們來(lái)看看有多少只母雞。雞的總數(shù)是 325 只,公雞有 28 只。因此,母雞的數(shù)量是 325 - 28 = 297。在這 297 只母雞中,有 20 只不下蛋,所以下蛋母雞的數(shù)量是 297 - 20 = 277。

277

錯(cuò)誤推理路徑:

You need to subtract the 20 hens that do not lay eggs from the total number of hens to find the number of egg-laying hens. So, the number of egg-laying hens is 325 - 20 = 305.

305

您需要從母雞總數(shù)中減去不下蛋的 20 只母雞,才能求出下蛋母雞的數(shù)量。因此,產(chǎn)蛋雞的數(shù)量為 325 - 20 = 305。

305

然后我們對(duì)每個(gè)輸出根據(jù)其回答質(zhì)量計(jì)算"獎(jiǎng)勵(lì)值"(reward)??赡艽嬖诙鄠€(gè)評(píng)估不同響應(yīng)屬性的獎(jiǎng)勵(lì)函數(shù)。我們暫時(shí)將獎(jiǎng)勵(lì)函數(shù)視為黑盒,但知道它們會(huì)返回?cái)?shù)值型結(jié)果——如果響應(yīng)質(zhì)量較好則數(shù)值較高,較差則較低,例如:

  1. Formatting(格式規(guī)范度)=1.0
  2. Answer(答案正確性)=0.0
  3. Consistency(邏輯一致性)=0.5

當(dāng)獲得所有輸出的獎(jiǎng)勵(lì)值 (r) 后,GRPO 通過(guò)計(jì)算獎(jiǎng)勵(lì)值的均值 μ 和標(biāo)準(zhǔn)差 σ,生成群組相對(duì)優(yōu)勢(shì) A。具體公式為:

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

這個(gè)公式在機(jī)器學(xué)習(xí)特征工程中非常實(shí)用,它可以將任意數(shù)值歸一化為更易學(xué)習(xí)的正負(fù)信號(hào)。 其直觀含義是:“這個(gè)數(shù)據(jù)點(diǎn)偏離平均值多少個(gè)標(biāo)準(zhǔn)差?”

讓我們來(lái)看幾個(gè)例子。

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

若用原生 numpy 代碼表示可能如下:

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

再試另一組數(shù)值:

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

通過(guò)歸一化,將獎(jiǎng)勵(lì)值轉(zhuǎn)換為以均值為中心(0.0)的相對(duì)優(yōu)勢(shì)值。正值表示優(yōu)于平均水平,負(fù)值表示劣于平均水平。這為我們建立了一套基準(zhǔn):“給定當(dāng)前提示詞,平均響應(yīng)的質(zhì)量如何?”在訓(xùn)練過(guò)程中,強(qiáng)化表現(xiàn)好的輸出(提高其概率),抑制表現(xiàn)差的輸出(降低其概率),從而引導(dǎo)模型優(yōu)化方向。

這與傳統(tǒng)價(jià)值模型的目標(biāo)相似:預(yù)測(cè)給定響應(yīng)的獎(jiǎng)勵(lì)值。由于我們現(xiàn)在訓(xùn)練的是語(yǔ)言模型,只需調(diào)整 temperature 參數(shù)即可生成多個(gè)候選回答,所有生成回答的平均獎(jiǎng)勵(lì)值即可作為衡量當(dāng)前模型表現(xiàn)的良好信號(hào),以及決定是否需要強(qiáng)化該行為。

06 KL 散度

這個(gè)方程的最后一項(xiàng)是 KL 散度項(xiàng)。

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

無(wú)需深入數(shù)學(xué)細(xì)節(jié),這就是我們?cè)谟?xùn)練過(guò)程中始終保留"參考模型"的原因。我們不希望新模型偏離原始模型太遠(yuǎn),對(duì)于每個(gè)詞元(token),都要確保新模型的預(yù)測(cè)結(jié)果不會(huì)與原始模型的預(yù)測(cè)結(jié)果產(chǎn)生過(guò)大偏差。

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

強(qiáng)制執(zhí)行 KL 散度的直接原因是:初始模型已經(jīng)具備生成連貫語(yǔ)句和遵循指令的能力。我們不希望新模型通過(guò)"獎(jiǎng)勵(lì)欺騙"(reward hack)或利用獎(jiǎng)勵(lì)信號(hào)中某些與原始模型不匹配的特性來(lái)取巧。例如,如果模型發(fā)現(xiàn)使用"pamplemousse"(葡萄柚的法語(yǔ),發(fā)音有趣且較罕見(jiàn))這個(gè)詞能獲得高獎(jiǎng)勵(lì),但該詞在預(yù)訓(xùn)練階段并不常用,我們就要阻止模型過(guò)度依賴這種用詞行為。

將這些要素整合,就得到了完整的最終方程!

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

或者就像我們值得信賴的"牛人 Eric"說(shuō)的那樣… 這個(gè)數(shù)學(xué)公式看起來(lái)比實(shí)際復(fù)雜…

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

07 獎(jiǎng)勵(lì)信號(hào)機(jī)制

DeepSeek-R1-Zero 研究的突破性在于,他們通過(guò)完全棄用"神經(jīng)獎(jiǎng)勵(lì)模型"進(jìn)一步大幅降低了內(nèi)存消耗。

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

這意味著什么?簡(jiǎn)而言之,他們直接使用正則表達(dá)式(regex)和字符串匹配技術(shù)生成獎(jiǎng)勵(lì)信號(hào)。研究團(tuán)隊(duì)認(rèn)為,這種方法既能規(guī)避"獎(jiǎng)勵(lì)欺騙"(reward hacking)問(wèn)題,又能簡(jiǎn)化整個(gè)訓(xùn)練流程。

如果將前文提到的“準(zhǔn)確性獎(jiǎng)勵(lì)(Accuracy Rewards)”和“格式獎(jiǎng)勵(lì)(Format Rewards)”規(guī)則轉(zhuǎn)化為代碼,其代碼實(shí)現(xiàn)可能如下所示:

從PPO到GRPO:算力減半的大模型推理能力訓(xùn)練革命-AI.x社區(qū)

reference:

??https://gist.github.com/willccbb/4676755236bb08cab5f4e54a0475d6fb??

訓(xùn)練過(guò)程中完全無(wú)需引入額外的獎(jiǎng)勵(lì)模型 LLM,僅需保留策略模型和參考模型作為主要內(nèi)存占用源。將所需 LLM 數(shù)量從 4 個(gè)削減至 2 個(gè),顯著降低了 GPU 資源需求。

若你的直覺(jué)此時(shí)感到不對(duì)勁,質(zhì)疑“這種獎(jiǎng)勵(lì)函數(shù)是否具備泛化能力?”,那么你是對(duì)的。這類(lèi)獎(jiǎng)勵(lì)機(jī)制僅在預(yù)設(shè)的特定任務(wù)(如數(shù)學(xué)推理和格式規(guī)范)上表現(xiàn)良好,但無(wú)法擴(kuò)展到其他實(shí)用場(chǎng)景。 例如,模型可能擅長(zhǎng)生成格式的數(shù)學(xué)解題過(guò)程,卻無(wú)法完成開(kāi)放式對(duì)話或創(chuàng)意寫(xiě)作。

我的預(yù)測(cè)是"苦澀的教訓(xùn)"(The Bitter Lesson)[4]將在此重現(xiàn):當(dāng)計(jì)算資源和數(shù)據(jù)量足夠時(shí),模型更傾向于自主學(xué)習(xí)。我們?cè)绞菧p少人工編碼規(guī)則,讓模型自主探索,其表現(xiàn)就越優(yōu)異。當(dāng)前 GRPO 的獎(jiǎng)勵(lì)機(jī)制仍顯人工干預(yù)痕跡 —— 為何不讓模型自行學(xué)習(xí)獎(jiǎng)勵(lì)信號(hào)的權(quán)重呢?

盡管如此,嘗試不同的獎(jiǎng)勵(lì)機(jī)制其實(shí)挺有意思的。GRPO 的亮點(diǎn)在于: 只要能用代碼定義獎(jiǎng)勵(lì)函數(shù)(輸入響應(yīng)、輸出數(shù)值),即可基于此進(jìn)行優(yōu)化。甚至可以通過(guò)外部 API 調(diào)用其他 LLM 生成獎(jiǎng)勵(lì)信號(hào)。 我預(yù)感未來(lái)幾周/月內(nèi),因?yàn)?GRPO 訓(xùn)練門(mén)檻的降低,開(kāi)發(fā)者將開(kāi)始探索各種創(chuàng)意獎(jiǎng)勵(lì)機(jī)制的設(shè)計(jì)。

Thanks for reading!

Hope you have enjoyed and learned new things from this blog!

END

本期互動(dòng)內(nèi)容 ??

?對(duì)于文中提到的“不到100美元訓(xùn)練推理模型”,你有何看法?歡迎在評(píng)論區(qū)暢所欲言。

??文中鏈接??

[1]??https://arxiv.org/abs/2402.03300??

[2]??https://arxiv.org/abs/2501.12948??

[3]??https://arxiv.org/abs/2203.02155??

[4]??http://www.incompleteideas.net/IncIdeas/BitterLesson.html??

原文鏈接:

??https://ghost.oxen.ai/why-grpo-is-important-and-how-it-works/??


?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦