新智元報道
編輯:KingHZ
【新智元導讀】100多天前,DeepSeek-R1憑借低訓練成本,名噪一時。而強化學習算法GRPO,是背后最大的功臣之一。然而,開源界對強化學習算法的探索并沒有終結。
DeepSeek-R1引爆了LLM推理革命。
DeepSeek-R1的秘籍在于強化學習微調算法:群體相對策略優化(Group Relative Policy Optimization,GRPO)。
未來,LLM的訓練將不再是單純的數據訓練,而是將推理能力作為標準流程。
那為什么強化學習能提高LLM的推理能力?
DeepSeek-R1的GRPO,有哪些身前身后事?
在后DeepSeek-R1時代,GRPO又引發了哪些奇思妙想?
什么是推理模型?
首先要面對的核心問題是:什么是推理?
簡單來說,推理是一種通過推導和訓練手段,使大語言模型(LLMs)更擅長處理復雜任務的能力。
技術一點的說法是:
推理是指LLM在給出最終答案之前,能先生成一系列中間步驟的能力。
這個過程通常被稱為「思維鏈」(Chain-of-Thought,簡稱CoT)推理。
在CoT推理中,模型會顯式地生成一系列結構化的陳述或計算步驟,來說明它是如何得出結論的。
下圖展示了這一定義及其示意。
大語言模型(LLM)處理多步驟推理任務示意圖
在多步驟推理任務,與直接回憶某個事實不同,推理模型需要結合多個中間推理步驟,才能得出正確的結論。
這些中間推理步驟是否展示給用戶,取決于具體的實現方式。
LLM強化學習黑話小抄
RLHF基礎:一切的起點
用于構建和優化推理模型的強化學習(RL)訓練方法,基本上都與人類反饋強化學習(RLHF)有關——
這也是目前用來開發和對齊傳統大語言模型(LLMs)的主流手段。
因此,在深入討論基于強化學習的推理優化方法之前,我們先簡要回顧一RLHF是如何工作的。
傳統LLM的三階段訓練流程:
預訓練(Pre-training):使用大規模語料讓模型學習通用語言模式和知識。
監督微調(Supervised Fine-tuning):用人工標注的任務數據進一步訓練模型,讓AI更擅長完成具體任務。
對齊階段(Alignment,通常通過RLHF):讓模型更符合人類偏好,提升交互體驗與安全性。
RLHF訓練流程會從預訓練模型開始,然后通過監督學習進行微調。
這一步還不屬于強化學習,而是為后續的RL打下基礎的前置步驟。
接下來,RLHF會使用強化學習算法,進一步對LLM進行對齊。
這是本文的重點。
整個RLHF流程分為三大步驟:
RLHF第一步(前置步驟):監督微調預訓練模型
這一步的目標是通過人工標注的數據對模型進行有監督學習,構建一個適合后續RLHF微調的基礎模型
RLHF第二步:構建獎勵模型(Reward Model)
收集多個回答并讓人類標注哪一個更好,以此訓練一個模型,能夠根據輸出內容給出高或低的「獎勵分數」。
RLHF第三步:強化學習微調
使用獎勵模型的評分結果作為獎勵信號,利用PPO等算法更新語言模型的策略,使其輸出更符合人類偏好。
RLHF第一步要創建或從已有數據集中采樣一批提示語(prompts),然后由人類標注者為這些提示語編寫高質量的參考回答。
接著,我們使用這些人工標注的數據對預訓練語言模型進行監督微調(SFT)。
正如前面提到的,這一步并不屬于強化學習,而是作為后續RLHF微調的前置準備。
RLHF第二步將第一步微調后的模型用于構建一個獎勵模型(Reward Model)。如下圖所示:
我們讓人類對多個模型生成的回答進行排序,然后用這些排序數據來訓練獎勵模型,讓它能根據回答的質量輸出相應的評分。
這個獎勵模型將在接下來的強化學習微調中,作為模型行為的評估依據。
RLHF第三步(也是最后一步)使用在第二步中訓練好的獎勵模型,為模型生成的回答打分,然后基于這些評分,使用近端策略優化(PPO)等算法對SFT模型進行強化學習微調。
這是強化學習發揮作用的地方。
通過強化學習,模型會逐步調整其輸出策略,使其更傾向于生成高獎勵(即更符合人類偏好)的回答,從而實現真正的人類反饋對齊訓練。
OpenAI的PPO
一開始,RLHF采用的是近端策略優化PPO。
PPO在架構中使用了四個不同的語言模型:
一個策略模型(正在訓練的模型)、
一個參考模型(原始模型的凍結副本)、
一個獎勵模型(基于人類偏好進行訓練)
和一個值模型(估計長期獎勵)。
這些模型都包含需要反向傳播來優化的可訓練參數,這消耗大量的GPU內存和計算周期,使得訓練過程變得笨重且昂貴。
監督學習能夠快速定義損失函數,且通常無需大量超參數調整。整個過程直觀、穩定、可控。
但在強化學習中,成功的路徑就不那么明確了:
強化學習算法往往包含許多相互依賴的模塊,調試困難。
而且要想獲得良好結果,通常需要投入大量的精力進行調參和結構調整。
這也是PPO被廣泛采用的原因之一——
它在實現簡便性、樣本效率和調參難度之間取得了較好的平衡。
PPO的核心思想是:
在每一步中計算一次策略更新,既能最小化代價函數,又能確保新策略與舊策略之間的偏差不會過大。
OpenAI提出了全新目標函數,增強了PPO算法的穩定性和實用性。
其主要公式如下:
其中:
(q,a)是數據分布D中的一個問答對。
πθ表示新策略模型輸出的概率。
行為策略πθold表示舊策略模型的輸出概率。
πθ/πθold是重要性采樣比(importance ratio),主要用于確保新舊模型的分布不會相差太大。
ε是用于裁剪重要性比值的參數,用來限制模型分布的變化,防止變化過大或過小。
- ^A_t是優勢函數(advantage function),主要來源于獎勵模型和價值模型的評分。
R_l是獎勵模型的評分。
V是價值模型的評分。
圖1:在RL訓練過程中,應用Clip-Higher策略前后,AIME測試集上的準確率和演員模型生成概率的熵對比
圖1展示了在使用與不使用裁剪參數的情況下,模型在AIME數據集上的表現和生成的熵值對比;可以明顯看到,加入裁剪參數后,模型性能和熵值都有顯著提升。
DeepSeek的GRPO
傳統PPO訓練方法往往代價高昂,需要消耗大量GPU計算時數,導致訓練成本居高不下,實際應用門檻遠超個人開發者和小型研究團隊的承受范圍。
突破性進展來自DeepSeek。
他們推出了PPO算法的改進「平替版本」GRPO:
在提升數學推理能力的同時,顯著優化了PPO的內存使用效率。
DeepSeek-R1訓練流程
創新的核心動機在于提升計算效率。
該效率提升主要通過以下方式實現:
剔除「評論家」(價值模型):即傳統用于計算價值函數(預期未來收益)的大語言模型組件
采用相對質量評估:通過對策略模型本身生成的多組答案進行質量對比,直接計算優勢函數,取代傳統依賴額外模型估算獎勵的方法
這一創新顯著降低了訓練推理模型的計算需求,即使是「GPU資源匱乏」的團隊,也能開發出復雜的推理能力。
其公式如下:
GRPO的主要變化包括:
每個提示語(prompt)采樣多次形成一個組,然后使用該組中獎勵值的標準化結果作為優勢值。
引入KL散度作為正則項,對策略變化加以限制。
由于GRPO主要用于數學或邏輯推理類問題,它使用的獎勵模型也是基于規則的。例如:
其中,y是標準答案,y^是預測答案。
GRPO的開源升級版:DAPO
然而,當前頂尖推理型大模型的關鍵技術細節(如OpenAI的o1技術博客和DeepSeek-R1技術報告中的內容)仍處于黑箱狀態,導致學術界難以復現他們強化學習訓練成果。
于是,開源的解耦裁剪與動態采樣策略優化(Decoupled Clip andDynamic sAmplingPolicyOptimization,DAPO)問世了。
DAPO為每個與答案a配對的問題q采樣一組輸,并通過以下目標函數優化策略:
DAPO包含以下幾個關鍵技術點:
Clip-Higher(高限裁剪):提升系統多樣性,避免熵崩潰。在策略梯度損失中提高重要性采樣比率(importance sampling ratio)的上裁剪限值,以緩解該問題。
Dynamic Sampling(動態采樣):提升訓練效率與穩定性。動態采樣策略可以過濾掉準確率為1或0的提示組(prompt groups),并在各批次中保持有效梯度提示的數量一致。
Token-level Policy GradientLoss(Token級策略梯度損失):在長鏈思維推理(long-CoT)強化學習場景中至關重要。
Overlong Reward Shaping(過長獎勵重塑):降低獎勵噪聲,穩定訓練過程。
高限裁剪
從前面的公式可以看出,對于裁剪參數,DAPO同時引入了「低裁剪」ε_{low}和「高裁剪」ε_{high}兩個界限。
這是因為:
高裁剪限制模型的探索能力,避免模型過度增加低概率token的概率,從而控制生成多樣性;
低裁剪確保高概率token的概率不會驟降,保持模型輸出的穩定性。
低概率token的更新空間遠小于高概率token。
此外,DAPO的實驗中發現,被裁剪的token的最大輸出概率通常小于0.2。
這也證明了高裁剪限制了低概率token概率的提升,進而抑制了模型的多樣性。如圖2所示:
圖2:最大裁剪概率
高低雙裁剪的策略如下:
ε_{low}:用于限制高概率token概率的下降,防止其概率驟減,通常設置得較小;
ε_{high}:用于限制低概率token概率的增加,允許更多探索空間,通常設置得較大。
在DAPO中,有ε_{low} <ε_{high},因此:< pan>
當A>0(即獎勵為正)時,裁剪上限為(1+ε_{high}),較大的ε_{high}可避免低概率token被過早裁剪,允許其更新;
當A<0(即獎勵為負)時,裁剪下限為(1?ε_{high}),適當限制高概率token的更新速度,避免其概率下降過快。
動態采樣
在當前強化學習算法中,同一個prompt需要采樣多次形成一個group。
如果該組內所有采樣結果的正確率都是1(即獎勵全為正)或全為0(即獎勵全為負),那么該組的優勢值\hat{A}為0,導致無法產生有效的梯度更新,降低了樣本效率。
如下圖3所示,隨著訓練進行,有效樣本在batch中的占比逐漸下降:
圖3:準確率為1的樣本比例
為了解決這個問題,DAPO引入了動態采樣機制:
在訓練前,過濾掉獎勵全為0或全為1的group;
保證每個batch中的樣本都能產生有效梯度,同時維持batch的大小一致;
隨著訓練步數增加,模型準確率提高,被過濾的樣本也隨之增多,因此雖然訓練速度不一定加快,但樣本效率更高,有助于模型更快收斂。
Token級策略梯度損失
在原始的GRPO中,損失是基于樣本整體計算的。這種做法可能導致長文本中的token學習效果較差。
例如:
長輸出樣本的token損失為:
短輸出樣本的token損失為:
計算總損失L_{long}+L_{short}時,雖然平均了,但因為N?>N?,導致長樣本的學習權重被稀釋。
此外,實驗也發現長內容容易生成無意義token,應該給予更多關注。
因此DAPO將損失改為每個token直接參與計算,總損失形式如下:
上述例子中的損失形式也相應變為:
過長獎勵重塑
在大語言模型(LLMs)訓練中,通常會設置max_token限制生成長度,超過這個長度的樣本會被截斷。
如果對這些截斷樣本的獎勵設計不合理,可能會引入獎勵噪聲,干擾訓練。
過去的方法通常會對這些樣本進行懲罰,但這可能導致本應合理的長答案被錯誤懲罰。
為此,DAPO引入了懲罰過渡區間,其獎勵設計如下:
設定L_{cache}為緩沖區;
L_{max}為最大長度;
|y|為當前生成文本的長度。
當∣y∣+Lcache≤Lmax時,文本長度小于最大允許長度max_token,因此不施加懲罰。
當∣y∣+Lcache>Lmax且∣y∣
當∣y∣≥Lmax時,施加最大懲罰。
圖4展示了在基準設置下,使用動態采樣前后的訓練進度變化。
圖4:在基準設置下,應用動態采樣前后的訓練進度對比
自我反思與回溯能力的出現
在DAPO的訓練過程中,研究人員還觀察到了模型具有「反思」和「回溯」的能力,而這類能力在原始數據集中并未出現。
這與DeepSeekR1報告中的發現一致。
雖然目前還不清楚這一能力產生的根本原因,但它為未來的優化提供了新的方向。
圖5展示了強化學習中「反思行為」的涌現現象。
圖5:強化學習中反思行為的出現
參考資料:
https://pub.towardsai.net/the-evolution-of-grpo-dapo-d96000d0d81f
https://openai.com/index/openai-baselines-ppo/
https://www.k-a.in/grpo.html
https://magazine.sebastianraschka.com/p/the-state-of-llm-reasoning-model-training
https://arxiv.org/pdf/2503.14476
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.