Sebastian Raschka長文:DeepSeek-R1、o3背后,RL推理訓練正悄悄突破上限
著名 AI 研究者和博主 Sebastian Raschka 又雙叒叕更新博客了。
這次的主題是《LLM 推理的強化學習現狀》。
博客地址:https://magazine.sebastianraschka.com/p/the-state-of-llm-reasoning-model-training
這個月 AI 社區很熱鬧,尤其是 Llama 4 和 GPT-4.5 等新旗艦模型的發布。但你可能已經注意到,人們對這些新模型的反應相對平淡。原因之一可能是 Llama 4 和 GPT-4.5 仍然是傳統的模型,這意味著它們的訓練沒有使用明確的強化學習進行推理。
與此同時,xAI 和 Anthropic 等強勁對手在其模型中增加了更多推理能力和功能。例如,Grok 和 Claude 的界面現在都為某些模型添加了一個「思考」(或擴展思考)按鈕,可以明確切換推理功能。
無論如何,Llama 4 和 GPT-4.5(非推理)模型的低迷反響表明,我們正接近僅靠擴展模型規模和數據所能達到的極限。
然而,OpenAI 近期發布的 o3 推理模型表明,在戰略性投入計算資源方面,特別是通過針對推理任務量身定制的強化學習方法仍有相當大的改進空間。據 OpenAI 員工在直播中介紹,o3 使用的訓練計算資源是 o1 的 10 倍。
圖源:OpenAI o3 與 o1 的性能與算力比較。
雖然單靠推理并非靈丹妙藥,但確實能提升模型在挑戰性任務上的準確率和解決問題的能力(目前為止)。因此,Sebastian 預計以推理為重點的后訓練將成為未來 LLM 流程的標準做法。 本文將探討強化學習在推理方面的最新進展。
圖源:本文重點介紹用于開發和改進推理模型的強化學習訓練方法。
本文主要內容包括以下幾部分:
- 理解推理模型;
- RLHF(Reinforcement Learning from Human Feedback)基礎:一切從何而來;
- PPO(Proximal Policy Optimization)簡介:強化學習的核心算法;
- RL 算法:從 PPO 到 GRPO(Generalized Return and Policy Optimization);
- RL 獎勵模型:從 RLHF 到 RLVR(Reinforcement Learning with Verifiable Rewards);
- DeepSeek-R1 推理模型的訓練方法;
- 從最近關于訓練推理模型的 RL 論文中汲取的教訓;
- 值得關注的推理模型訓練研究論文。
下文以作者第一人稱口吻陳述。
理解推理模型
我們首先來了解推理的定義。簡而言之,推理(reasoning)是指使 LLM 能夠更好地處理復雜任務的推理(inference)和訓練技巧。為了更詳細地解釋如何實現這一點(目前為止),我定義如下:在 LLM 的語境中,推理是指模型在提供最終答案之前生成中間步驟的能力。
這個過程通常被稱為思維鏈 (CoT) 推理。在思維鏈推理中,LLM 會明確生成一個結構化的語句或計算序列,以說明其如何得出結論。具體如下圖所示:
LLM 如何處理多步驟推理任務的簡單圖例。模型并非僅僅回憶一個事實,而是需要結合多個中間推理步驟才能得出正確的結論。根據具體實現方式,中間推理步驟可能會顯示給用戶,也可能不會顯示。
如果你對推理模型還不熟悉,希望看到更全面的介紹,推薦我之前的文章:
- 文章 1:https://magazine.sebastianraschka.com/p/first-look-at-reasoning-from-scratch
- 文章 2:《Sebastian Raschka:關于DeepSeek R1和推理模型,我有幾點看法》https://magazine.sebastianraschka.com/p/understanding-reasoning-llms
LLM 的推理能力可以通過兩種方式得到提高,OpenAI 博客文章中的一張圖很好地說明了這一點:
準確率的提升可以通過增加訓練或測試時計算來實現,其中測試時計算與推理時計算、推理時擴展是同義詞。圖源:https://openai.com/index/learning-to-reason-with-llms/
我此前介紹過測試時計算方法,本文想深入探討一下訓練方法。
RLHF 基礎:一切從何而來
用于構建和改進推理模型的強化學習訓練方法,或多或少與用于開發和對齊傳統 LLM 的 RLHF 方法論相關。因此,在討論基于強化學習訓練的特定推理修改(modification)之前,我想先簡單回顧一下 RLHF 的工作原理。
傳統 LLM 通常經歷以下三個步驟的訓練過程:
- 預訓練;
- 監督微調;
- 對齊(通常通過 RLHF 進行)。
「原始」的 LLM 對齊方法是 RLHF,它是遵循 InstructGPT 論文開發 LLM 時的標準方法之一,該論文描述了用于開發第一個 ChatGPT 模型的方法。
RLHF 的最初目標是使 LLM 與人類偏好保持一致。例如,假設你多次使用 LLM,并且 LLM 會針對給定的提示詞生成多個答案。RLHF 會引導 LLM 生成更多你偏好的答案風格。RLHF 通常也用于對 LLM 進行安全調整:避免共享敏感信息、使用臟話等等。
具體來講,RLHF 流程采用預訓練模型,并以監督方式對其進行微調。這種微調尚未成為強化學習的一部分,但它主要是一種先決條件。
然后,RLHF 使用一種稱為近端策略優化 (PPO) 的算法進一步對齊 LLM。請注意,除了 PPO 之外,還有其他算法可以替代。我特意提到 PPO,是因為它是 RLHF 最初使用的算法,并且至今仍是最流行的算法。)
為簡單起見,我們可以分三個步驟來了解 RLHF 流程:
- RLHF 步驟 1(先決條件):對預訓練模型進行監督微調(SFT);
- RLHF 步驟 2:創建獎勵模型(RM);
- RLHF 步驟 3:通過 PPO 進行微調。
RLHF 步驟 1(如下圖所示)是一個監督微調步驟,用于創建基礎模型,以便進一步進行 RLHF 微調。
圖源:InstructGPT 論文。arXiv:https://arxiv.org/abs/2203.02155
在 RLHF 步驟 1 中,我們創建或采樣提示詞(例如從數據庫中獲取),并要求人類用戶撰寫高質量的回復。然后,我們使用該數據集以監督方式微調預訓練的基礎模型。如前所述,這在技術上并非 RL 訓練的一部分,而僅僅是一個先決條件。
在 RLHF 步驟 2 中,我們使用監督微調得到的模型來創建獎勵模型,如下圖所示。
如上圖所示,對于每個提示詞,我們會根據上一步創建的微調后的 LLM 生成四個回復。然后,人工標注員會根據他們的偏好對這些回復進行排序。雖然這個排序過程比較耗時,但與創建用于監督微調的數據集相比,它可能耗費更少的人力。這是因為對回復進行排序可能比編寫回復更簡單。
在編譯包含這些排序的數據集后,我們可以設計一個獎勵模型,該模型會輸出獎勵分數,用于 RLHF 步驟 3 中的后續優化階段。這里的思路是:獎勵模型可以取代并自動化耗費人力的人工排序,從而使大型數據集上的訓練變得可行。
獎勵模型通常源自上一步監督微調步驟中創建的 LLM。為了將 RLHF 步驟 1 中的模型轉換為獎勵模型,其輸出層(下一個 token 分類層)將被替換為一個具有單個輸出節點的回歸層。
RLHF 流程的第三步是使用獎勵模型對之前的監督微調模型進行微調,如下圖所示。
在 RLHF 步驟 3(最后階段)中,我們根據在 RLHF 步驟 2 中所創建獎勵模型的獎勵分數,使用 PPO 來更新 SFT 模型。
PPO 簡介:強化學習的核心算法
如前所述,原始 RLHF 方法使用了強化學習算法 PPO。PPO 的開發是為了提高策略訓練的穩定性和效率。在強化學習中,策略僅指我們想要訓練的模型;在本例中,策略 = LLM。
PPO 背后的一個關鍵思想是:它限制了策略在每個更新步驟中允許的更改量。這是通過截斷損失函數來實現的,有助于防止模型進行過大的更新,從而避免破壞訓練的穩定性。
此外,PPO 還在損失函數中包含了 KL 散度懲罰。該懲罰項將當前策略(正在訓練的模型)與原始 SFT 模型進行比較,鼓勵更新結果保持合理的接近。畢竟,這樣做的目的是根據偏好調整模型,而不是完全重新訓練。
這就是 PPO 中「proximal」(近端)一詞的由來:該算法試圖使更新結果接近現有模型,同時仍允許改進。為鼓勵探索,PPO 還添加了熵獎勵,從而鼓勵模型在訓練期間改變輸出。
接下來,我想介紹一些術語,以便在相對較高的層次上解釋 PPO。這里涉及很多專業術語,因此在繼續之前,我嘗試在下圖中總結一下關鍵術語。
RLHF 中關鍵術語的說明。
下面我將通過偽代碼來說明 PPO 中的關鍵步驟。此外,為了更直觀地說明,我還將使用一個比喻:假設你是一位經營小型外賣服務的廚師。你不斷嘗試新的菜譜變化以提高客戶滿意度。你的總體目標是根據客戶反饋(獎勵)調整菜譜(策略)。
1、計算新舊策略中下一個 token 概率的比率:
ratio = new_policy_prob /old_policy_prob
簡而言之,這會檢查新舊策略的差異。 附注:關于「new_policy_prob」,我們尚未使用最終更新后的策略。我們使用的是當前的策略版本(即我們正在訓練的模型)。不過,按照慣例,我們將其稱為「新」。因此,即使你仍在進行實驗,我們也會按照慣例將你當前的草稿稱為「新策略」。
2、將該比率乘以行動(action)的優劣程度(稱為優勢):
raw_score = ratio * advantage
這里,為了簡單起見,我們可以假設優勢是根據獎勵信號計算的:
advantage = actual_reward - expected_reward
在廚師的類比中,我們可以將優勢視為新菜的表現如何:
advantage = customer_rating - expected_rating
例如,如果一位顧客給新菜品打了 9 分(滿分 10 分),而顧客通常給我們 7 分(滿分 10 分),那么這就是 +2 的優勢。
需要注意,這只是一個簡化的描述。實際上,這涉及到廣義優勢估計(Generalized advantage estimation,GAE),這里不再贅述。然而,需要提及的一個重要細節是:預期獎勵是由所謂的「評價者」(有時也稱為價值模型)計算的,而獎勵模型則計算實際獎勵。也就是說,優勢計算涉及另外兩個模型,這些模型的規模通常與我們正在微調的原始模型相同。
舉個例子,我們可以把這個評價者或價值模型想象成一位朋友,在將新菜品端上桌之前,我們會邀請他品嘗。我們還會請這位朋友估計顧客會如何評價這道菜(這就是預期獎勵)。獎勵模型就是給出反饋(即實際獎勵)的實際顧客。
3、計算截斷分數:
如果新策略變化過大(例如比例 > 1.2 或 < 0.8),我們會按如下方式截斷該比例:
clipped_ratio = clamp (ratio, 0.8, 1.2)
clipped_score = clipped_ratio * advantage
舉個例子,假設新菜譜的評價特別好(或特別差),我們可能會忍不住馬上就徹底修改整個菜單。但這樣做風險很大,因此我們暫時限制菜譜可以修改的范圍。比如,我們可能把菜做得更辣了,而那位顧客碰巧喜歡吃辣,但這并不意味著其他人也喜歡。
4、然后,我們取原始得分和裁剪得分中較小的一個:
if advantage >= 0:
final_score = min (raw_score, clipped_score)
else:
final_score = max (raw_score, clipped_score)
這同樣與保持謹慎有關。例如,如果優勢是正的(新行為更好),我們限制獎勵。這是因為我們不想過分信任一個可能只是巧合或運氣的好結果。
如果優勢是負的(新行為更差),我們限制懲罰。其理念是相似的。也就是說,除非我們非常確定,否則我們不想對一個不好的結果反應過度。
簡而言之,如果優勢是正的,我們取兩個得分中較小的一個(以避免過度獎勵),而如果優勢是負的,則取較大的一個(以避免過度懲罰)。
在這個比喻中,這可以確保如果一個菜譜的表現好于預期,我們不會在不自信的情況下過度獎勵它。如果表現不佳,除非它一直不好,否則我們也不會過度懲罰它。
5、計算損失:
這個最終得分就是我們在訓練過程中要最大化的(通過梯度下降來最小化這個得分的符號反轉值)。此外,我們還添加了一個 KL 懲罰項,其中 β 是懲罰強度的超參數:
loss = -final_score + β * KL (new_policy || reference_policy)
在這個比喻中,我們添加懲罰項是為了確保新菜譜與我們原來的風格不會差別太大。這可以防止你每周都「徹底改造廚房」。例如,我們不希望突然把一家意大利餐廳改造成燒烤店。
這些信息量很大,因此我通過下面的圖,用一個具體的、數值化的例子在大型語言模型(LLM)的背景下進行了總結。但如果這太復雜了,你可以直接跳過;即使不看,也不會影響你理解文章的其他部分。
我承認我在介紹 PPO 時可能有點過于詳細了。但既然已經寫出來了,刪掉也挺難的。希望你們中的一些人會覺得它有用!
話雖如此,下一節中相關的要點是 PPO 中涉及多個模型:
1. 策略模型:這是我們希望通過監督微調(SFT)進行訓練并進一步對齊的大型語言模型(LLM)。
2. 獎勵模型:這是一個經過訓練以預測獎勵的模型(參見強化學習與人類反饋(RLHF)的第 2 步)。
3. 評論家模型:這是一個可訓練的模型,用于估計獎勵。
4. 參考模型(原始策略):我們使用它來確保策略不會偏離太遠。
順便說一下,你可能會好奇為什么我們需要獎勵模型和評論家模型。獎勵模型通常是在使用 PPO 訓練策略之前訓練的。它通過自動化人類裁判的偏好標記來給策略 LLM 生成的完整響應打分。相比之下,評論家模型則用于評判部分響應。我們用它來創建最終響應。雖然獎勵模型通常保持凍結狀態,但評論家模型在訓練期間會不斷更新,以更好地估計獎勵模型所創建的獎勵。
PPO 的更多細節超出了本文的范圍,但有興趣的讀者可以在以下四篇早于 InstructGPT 論文的文章中找到數學細節:
1. 《異步深度強化學習方法(2016)》:由 Mnih、Badia、Mirza、Graves、Lillicrap、Harley、Silver 和 Kavukcuoglu 撰寫,介紹了策略梯度方法,作為基于深度學習的強化學習(RL)中 Q 學習的替代方案。
2. 《近端策略優化算法(2017)》:由 Schulman、Wolski、Dhariwal、Radford 和 Klimov 撰寫,提出了一種改進的近端策略強化學習方法,該方法比普通的策略優化算法更具數據效率和可擴展性。
3. 《從人類偏好微調語言模型(2020)》:由 Ziegler、Stiennon、Wu、Brown、Radford、Amodei、Christiano 和 Irving 撰寫,闡述了 PPO 和獎勵學習的概念,并將其應用于預訓練語言模型,包括 KL 正則化,以防止策略與自然語言偏差過大。
4. 《從人類反饋學習總結(2022)》:由 Stiennon、Ouyang、Wu、Ziegler、Lowe、Voss、Radford、Amodei 和 Christiano 撰寫,介紹了后來在 InstructGPT 論文中也使用的流行的 RLHF 三步流程。
RL 算法:從 PPO 到 GRPO
如前所述,PPO 是 RLHF 最初使用的算法。從技術角度看,它在用于開發推理模型的 RL pipeline 中運行得非常好。不過,DeepSeek-R1 在他們的 RL pipeline 中使用的是一種名為「組相對策略優化(GRPO)」的算法,該算法在他們早期的一篇論文中已有介紹:
《DeepSeekMath: 突破開放語言模型中數學推理的極限》(2024 年)https://arxiv.org/abs/2402.03300
DeepSeek 團隊引入了 GRPO,這是近端策略優化(PPO)算法的一個變體,旨在增強數學推理能力,同時優化 PPO 的內存使用。
因此,這里的主要研究動機是提高計算效率。效率的提升是通過放棄「批評家」(價值模型)即計算價值函數(預期未來獎勵)的大型語言模型(LLM)來實現的。與其依賴這個額外的模型來計算估計獎勵以確定優勢,GRPO 采取了一種更簡單的方法:它從策略模型本身采樣多個答案,并使用它們的相對質量來計算優勢。
為了說明 PPO 和 GRPO 之間的差異,從 DeepSeekMath 論文中借用了一張很有用的圖表:
RL 獎勵建模:從 RLHF 到 RLVR
到目前為止,我們將 RLHF 視為一種程序,并介紹了兩種常用的強化學習算法:PPO 和 GRPO。
但是,如果 RLHF 已是大型語言模型(LLM)對齊工具包的核心部分,那么這與推理有何關聯呢?
DeepSeek 團隊將類似的基于 RL 的方法(搭配 GRPO)應用于訓練其 R1 和 R1-Zero 模型的推理能力,由此建立了 RLHF 與推理之間的聯系。
不同之處在于,與依賴人類偏好并訓練獎勵模型不同,DeepSeek-R1 團隊采用了可驗證獎勵。這種方法被稱為帶有可驗證獎勵的強化學習(RLVR)。
需要再次強調的是:與標準的 RLHF 相比,RLVR 規避了對獎勵模型的需求。
因此,模型并非從人類標注樣本中學習何為「優質」答案,而是從確定性工具(如符號驗證器或基于規則的工具)處獲取直接的二元反饋(正確或錯誤)??蓪⒅斫鉃橛糜嬎闫鹘鉀Q數學問題或用編譯器來生成代碼。
具有可驗證獎勵(RLVR)的強化學習示例:模型接收提示以解決數學問題并生成答案。此時不使用學習獎勵模型,而是由符號驗證器(例如計算器)檢查輸出,并基于正確性提供二元反饋。
這樣做的一個動機是,在強化學習期間,通過自動正確性檢查作為監督信號,從而避免使用噪聲大或成本高昂的人類反饋或 學習獎勵。另一個動機是,借助計算器這類「廉價」工具,我們可以替代成本高昂的獎勵模型訓練以及獎勵模型本身。由于獎勵模型通常是整個預訓練模型(只是帶有回歸頭部),因此 RLVR 的效率要高得多。
總之,DeepSeek-R1 結合了 RLVR 與 GRPO,從而在訓練過程中淘汰了兩個成本高昂的模型:獎勵模型和價值模型(評論家),如下圖所示。
大型語言模型(LLM)訓練中強化學習設置的比較。傳統的基于人類反饋的強化學習(RLHF)與近端策略優化(PPO)結合時,會同時使用基于人類偏好的獎勵模型和評論家(價值模型)來指導學習。而廣義策略優化(GRPO)則淘汰了評論家模型。更有甚者,當 GRPO 與帶有可驗證獎勵的強化學習(RLVR)結合時,還去掉了獎勵模型,轉而依靠來自符號工具(如計算器或編譯器)的可驗證獎勵。
在下一節中,我打算簡要介紹 DeepSeek-R1 的訓練流程,并探討 DeepSeek 團隊所使用的不同可驗證獎勵方法。
DeepSeek-R1 推理模型的訓練方法
現在我們已經闡明了 RLHF 和 RLVR 以及 PPO 和 GRPO 的概念,接下來將簡要回顧 DeepSeek-R1 論文中關于強化學習和推理的主要見解。
首先,存在三種類型的模型:
1. 僅通過純強化學習(RL)訓練的 DeepSeek-R1-Zero。
2. 通過指令微調(SFT)和強化學習(RL)共同訓練的 DeepSeek-R1。
3. 通過指令微調(SFT)且未使用強化學習(RL)創建的 DeepSeek-Distill 變體。
我繪制了一個 DeepSeek-R1 流程圖,用以展示這些模型之間的關系,如下所示。
DeepSeek-R1 系列的訓練 pipeline
DeepSeek-R1-Zero 是使用可驗證獎勵(RLVR)與 GRPO 訓練的,事實證明,這足以使模型通過生成中間步驟展現推理能力,也證明了跳過監督微調(SFT)階段是可能的。該模型通過探索而非從示例中學習來提升推理能力。
DeepSeek-R1 是旗艦型號,性能最佳的主力模型,與 DeepSeek-R1-Zero 的區別在于,它交替使用了指令微調、RLVR 和 RLHF。
DeepSeek-Distill 變體旨在成為更小且更易部署的模型,它們是通過使用 DeepSeek-R1 模型的指令數據對 Llama 3 和 Qwen 2.5 模型進行指令微調生成的。這種做法在推理部分未使用任何強化學習(不過,Llama 3 和 Qwen 2.5 基礎模型的創建用了 RLHF)。
關于 DeepSeek-R1 流程的更多講解,可參閱我之前的《Understanding Reasoning LLMs》一文:
(https://magazine.sebastianraschka.com/p/understanding-reasoning-llms)
需要強調的是,DeepSeek 團隊訓練 DeepSeek-R1-Zero 時未使用基于 LLM 的獎勵模型,而是對 DeepSeek-R1-Zero 和 DeepSeek-R1 的推理訓練采用了基于規則的獎勵:
在開發 DeepSeek-R1-Zero 時,我們沒有應用結果或過程神經獎勵模型,因為我們發現,在大規模強化學習過程中,神經獎勵模型可能會出現獎勵劫持問題。
為了訓練 DeepSeek-R1-Zero,我們采用了一個主要由兩種獎勵組成的基于規則的獎勵系統:
(1)準確性獎勵:準確性獎勵模型用于評估回答是否正確。例如,在數學問題有確定性結果的情況下,模型需要以指定格式(例如,在方框內)提供最終答案,以便可靠地進行基于規則的正確性驗證。同樣,對于 LeetCode 問題,可以使用編譯器根據預定義的測試用例生成反饋。
(2)格式獎勵:除了準確性獎勵模型外,我們還采用了格式獎勵模型,要求模型將其思考過程置于『<think>』和 『</think>』標簽之間。
從最近關于訓練推理模型的 RL 論文中汲取的教訓
我意識到引言(即到此為止的所有內容)比我預想的要長得多。盡管如此,我還是認為有必要用這么長的篇幅來介紹下面的經驗教訓。
上個月,我閱讀了大量有關推理模型的最新論文,并將其中最有趣的觀點和見解歸納在本節中。
1、強化學習進一步改進蒸餾模型
DeepSeek-R1 論文清楚地表明,監督微調(SFT)后的強化學習(RL)優于單獨的強化學習。
鑒于這一觀察,直觀地說,額外的強化學習應能進一步改進蒸餾模型(因為蒸餾模型本質上代表了通過使用大模型生成的推理樣本進行 SFT 訓練的模型)。
事實上,DeepSeek 團隊明確觀察到了這一現象:
此外,我們還發現,將 RL 應用于這些經過蒸餾的模型還能產生顯著的進一步收益。我們認為這值得進一步探討,因此在此僅介紹簡單的 SFT 蒸餾模型的結果。
多個團隊獨立已驗證了這些觀察結果:
- [8] 研究人員使用 1.5B 的 DeepSeek-R1-Distill-Qwen 模型,僅用 7,000 個樣本和 42 美元的計算預算,就證明了 RL 微調帶來的性能大幅提升。令人印象深刻的是,這個小模型在 AIME24 數學基準測試中超過了 OpenAI 的 o1-preview。
- [15] 不過,另一個研究小組提醒說,這些收益在統計學上并不總是顯著的。這表明,盡管 RL 可以改進較小的蒸餾模型,但基準結果有時可能夸大了改進效果。
注釋圖來自《冷靜看待語言模型推理的進展: 陷阱與復現之路》,https://arxiv.org/abs/2504.07086
2、冗長錯誤答案的問題
我之前提到過,有可驗證獎勵的推理(RLVR)并不嚴格要求使用 GRPO 算法;DeepSeek 的 GRPO 只是碰巧效率高、性能好而已。
然而,文獻 [12] 表明,普通 PPO 搭配基本的二進制正確性獎勵足以擴展模型的推理能力和響應長度。
更有趣的是,PPO 和 GRPO 都存在長度偏差。有幾篇論文探討了處理過長錯誤答案的方法:
[14] 提供了一項分析,說明了由于損失計算中的數學偏差,PPO 如何無意中偏向于較長的回答;GRPO 可能也存在同樣的問題。
摘自《通過強化學習進行簡明推理》,https://arxiv.org/abs/2504.05185
作為上述聲明的后續,[7] [10] 特別指出了 GRPO 中的長度和難度偏差。修改后的變體「Dr. GRPO」通過去除長度和標準差歸一化,簡化了優勢計算,提供了更清晰的訓練信號。
- [1] GRPO 中明確懲罰冗長的錯誤答案,同時獎勵簡潔正確的答案。
- [3] [6] 在 GRPO 中沒有直接控制答案長度,但發現 token 級獎勵是有益的,可以讓模型更好地專注于關鍵推理步驟。
- [5] 在 GRPO 中對超過特定長度的回答引入明確的懲罰措施,從而在推理過程中實現精確的長度控制。
3、從 RL 中產生的能力
除了 DeepSeek-R1 論文中提到的頓悟時刻,RL 還被證明能夠在模型中誘導出寶貴的自我驗證和反思推理能力 [2][9]。有趣的是,與頓悟時刻類似,這些能力是在沒有明確指令的訓練過程中自然出現的。
[1] 表明,擴展上下文長度(最多 128k tokens)可進一步提高模型的自我反省和自我修正能力。
4、超越特定領域的泛化
迄今為止,大多數研究工作都集中在數學或編碼情境中的推理任務上。然而,[4] 通過在邏輯謎題上訓練模型,證明了成功的泛化。在邏輯謎題上訓練的模型在數學推理任務中也取得了很好的表現。這證明了 RL 能夠誘導出獨立于特定領域知識的通用推理行為。
5、擴展到更廣泛的領域
作為上述部分的后續,另一個有趣的見解 [11] 是,推理能力可以自然地擴展到數學、代碼和邏輯等結構化領域之外。模型已經成功地應用于醫學、化學、心理學、經濟學和教育等領域,利用生成式 soft-scoring 方法有效地處理自由形式的答案。
推理模型下一步的重要工作包括:
- 將現有的推理模型(如 o1、DeepSeek-R1)與外部工具使用和檢索增強生成(RAG)等功能相結合;OpenAI 剛剛實現的 o3 模型在這方面鋪平了道路;
- 說到工具使用和搜索,[9] 研究表明,賦予推理模型搜索能力,可誘導出自我修正和跨基準強泛化等行為,盡管訓練數據集極少;
- 基于 DeepSeek-R1 團隊在保持基于知識的任務性能方面所經歷的艱辛,我認為為推理模型添加搜索能力幾乎是不費吹灰之力的事。
6、推理是否完全歸功于 RL?
DeepSeek-R1(和 R1-Zero)背后的基本觀點是,RLVR 明確誘導推理能力。然而,最近的研究結果 [10] 表明,推理行為(包括 「頓悟時刻」)可能已經存在于基礎模型中,這是因為對大量思維鏈數據進行了預訓練。
我最近對 DeepSeek V3 基礎模型和 R1 模型進行的比較強化了這一觀點,因為更新后的基礎模型也表現出了類似推理的行為。例如,原始 V3 模型和 R1 模型之間的比較清楚地顯示了非推理模型和推理模型之間的區別:
不過,如果將更新后的 V3 基本型號與 R1 進行比較,情況就不一樣了:
此外,[13] 還發現,在不同領域和模型大小的預訓練中,自我反思和自我糾正行為會逐漸出現。這使得將推理能力完全歸因于 RL 方法變得更加復雜。
也許結論是,RL 絕對能將簡單的基礎模型轉化為推理模型。然而,這并不是誘導或提高推理能力的唯一方法。正如 DeepSeek-R1 團隊所展示的,蒸餾也能提高推理能力。由于本文中的蒸餾指的是在思維鏈數據上進行指令微調,因此在包含思維鏈數據的數據上進行預訓練很可能也會誘發這些能力。
(正如我在書中通過實踐代碼所解釋的,預訓練和指令微調畢竟是基于相同的下一個 token 預測任務和損失函數)。
值得關注的推理模型訓練研究論文
在上個月閱讀了大量推理論文之后,我試圖在上一節中總結出最有趣的收獲。不過,對于那些對更詳細的資料來源感到好奇的人,我還在本節下面列出了 15 篇相關論文,作為選讀。(為簡單起見,以下摘要按日期排序)。
請注意,這份清單并不全面(我的上限是 15 篇),因為本文已經太長了!
[1] 擴展強化學習(和上下文長度)
22 Jan, Kimi k1.5: Scaling Reinforcement Learning with LLMs, https://arxiv.org/abs/2501.12599
有趣的是,這篇論文與 DeepSeek-R1 論文在同一天發表!在這里,作者展示了用 RL 訓練的多模態 LLM。與 DeepSeek-R1 類似,他們沒有使用過程獎勵模型(PRM),而是采用了可驗證獎勵。PRM 是 RL 中使用的一種獎勵模型(尤其是在 LLM 訓練中),它不僅評估最終答案,還評估得出答案的推理步驟。
這里的另一個關鍵 idea 是,擴展上下文長度(最多 128k 個 token)有助于模型在推理過程中進行規劃、反思和自我修正。因此,除了與 DeepSeek-R1 類似的正確性獎勵外,它們還有長度獎勵。具體來說,他們提倡較短的正確答案,而不正確的長答案則會受到更多懲罰。
他們還提出了一種名為 long2short 的方法,用于將這些長思維鏈技能提煉為更高效的 short-CoT 模型。(它通過使用模型合并、最短拒絕采樣、DPO 和第二輪具有更強長度懲罰的 RL 等方法,從 long-CoT 模型中提煉出更短的正確答案)。
[2] 大型推理模型的競爭性編程
3 Feb, Competitive Programming with Large Reasoning Models, https://arxiv.org/abs/2502.06807
這篇 OpenAI 的論文評估了他們的 o 系列模型(如 o1、o1-ioi 和 o3)在競爭性編程任務中的表現。雖然沒有深入探討如何應用 RL 的技術細節,但它仍然提供了一些有趣的啟示。
首先,這些模型是使用基于結果的 RL 訓練出來的,而不是基于過程的獎勵模型。這與 DeepSeek-R1 和 Kimi 等方法類似。
其中一個有趣的發現是,o3 可以學習自己的測試時間(即推理時間擴展)策略。例如,它經常編寫一個問題的簡單粗暴版本(用效率換取正確性),然后用它來驗證更優化解決方案的輸出。這種策略不是手工編碼的,而是模型自己想出來的。
總的來說,論文討論了擴展通用 RL 允許模型開發自己的推理和驗證方法,而不需要任何人類啟發式方法或特定領域的推理 pipeline。相比之下,o1-ioi 等其他(早期)模型則依賴于手工制作的測試時間策略,例如對成千上萬的樣本進行聚類和重排,這需要大量的人工設計和調整。
[3] 探索結果獎勵的極限
10 Feb, Exploring the Limit of Outcome Reward for Learning Mathematical Reasoning, https://arxiv.org/abs/2502.06781
這篇論文探討了僅有二進制「正確」或「錯誤」反饋的 RL(如 DeepSeek-R1 中的 RL)在解決數學問題方面能走多遠。為此,他們首先使用 Best-of-N 采樣來收集正面樣本,并對這些樣本應用行為克隆,結果表明理論上這足以優化策略。
為了應對獎勵稀疏的挑戰(尤其是當長思維鏈包含部分正確步驟時),他們添加了一個 token 級獎勵模型,該模型可學習為推理的不同部分分配重要性權重。這有助于模型在學習時專注于最關鍵的步驟,并提高整體性能。
[4] 基于規則強化的 LLM 推理(關于邏輯數據)
20 Feb, Logic-RL: Unleashing LLM Reasoning with Rule-Based Reinforcement Learning, https://arxiv.org/abs/2502.14768
DeepSeek-R1 專注于數學和代碼任務。本文使用邏輯謎題作為主要訓練數據,訓練了一個 7B 模型。
研究人員采用了與 DeepSeek-R1 類似的基于規則的 RL 設置,但做了一些調整:
1. 他們引入了嚴格的格式獎勵,懲罰走捷徑的行為,并確保模型使用 <think> 和 <answer> 標記將推理與最終答案分開。
2. 他們還使用了系統提示,明確告訴模型在給出最終答案之前要先一步一步地思考問題。
即使只有 5K 個合成邏輯問題,模型也能發展出良好的推理能力,并能很好地推廣到 AIME 和 AMC 等更難的數學基準測試中。
這一點特別有趣,因為它表明基于邏輯的 RL 訓練可以教會模型推理的方式,并將其應用到原始領域之外。
[5] 控制推理模型的思考時間
6 Mar, L1: Controlling How Long A Reasoning Model Thinks With Reinforcement Learning, https://arxiv.org/abs/2503.04697
推理模型的一個特點是,由于思維鏈式推理,它們往往會產生較長的輸出。但默認情況下,沒有明確的方法來控制響應的長度。
這篇論文介紹了長度控制策略優化(LCPO),這是一種簡單的強化學習方法,可幫助模型在優化準確性的同時遵守用戶指定的長度限制。
簡而言之,LCPO 類似于 GRPO,即「GRPO + 長度控制自定義獎勵」,其實現方式為
reward = reward_correctness - α * |target_length - actual_length|
其中目標長度是用戶提示的一部分。上述 LCPO 方法鼓勵模型完全遵守所提供的目標長度。
此外,他們還引入了一個 LCPO-Max 變體,它不是鼓勵模型完全匹配目標長度,而是鼓勵模型保持低于最大 token 長度:
reward = reward_correctness * clip (α * (target_length - actual_length) + δ, 0, 1)
作者使用 LCPO 訓練了一個名為 L1 的 1.5B 模型,它可以根據 prompt 調整輸出長度。這樣,用戶就可以根據任務在準確性和計算量之間進行權衡。有趣的是,論文還發現,這些長鏈模型在短推理方面的表現也出人意料地好,在相同的 token 長度下,甚至超過了 GPT-4o 等更大的模型。
[6] 在 LLM 中激勵搜索能力
10 Mar, R1-Searcher: Incentivizing the Search Capability in LLMs via Reinforcement Learning, https://arxiv.org/abs/2503.05592
像 DeepSeek-R1 這樣的推理模型是通過 RL 訓練出來的,它們依賴于自己的內部知識。本文作者的研究重點是通過增加外部搜索系統的訪問權限,在需要更多時間敏感信息或最新信息的知識型任務中改進這些模型。
因此,本文通過教這些模型在推理過程中使用外部搜索系統來改進它們。作者沒有依賴測試時間策略或監督訓練,而是采用了兩階段強化學習法,幫助模型學習如何以及何時自行搜索。模型首先學習搜索格式,然后學習如何使用搜索結果找到正確答案。
[7] 開源 LLM 大規模強化學習
18 Mar, DAPO: An Open-Source LLM Reinforcement Learning System at Scale, https://arxiv.org/abs/2503.14476
雖然本文主要討論開發類似 DeepSeek-R1 的訓練流程并將其開源,但它也對 DeepSeek-R1 訓練中使用的 GRPO 算法提出了有趣的改進。
1. Clip-higher:增加 PPO 剪枝范圍的上限,以鼓勵探索并防止訓練期間熵崩潰。
2. 動態采樣:通過過濾掉所有采樣響應始終正確或始終錯誤的 prompt 來提高訓練效率。
3. token 級策略梯度損失:從樣本級轉移到 token 級梯度損失計算,以便更長的響應能夠對梯度更新產生更大的影響。
4. 過長獎勵塑造:對因過長而被截斷的響應添加軟懲罰,以減少獎勵噪音并有助于穩定訓練。
標準 GRPO 采用樣本級損失計算。這首先需要對每個樣本的 token 損失求平均值,然后再對所有樣本的損失求平均值。由于樣本的權重相等,因此響應較長的樣本中的 token 對整體損失的貢獻可能會不成比例地較小。同時,研究人員觀察到,較長的響應通常在最終答案之前包含一些亂碼,而這些亂碼在原始 GRPO 樣本級損失計算中不會受到足夠的懲罰。
[8] 強化學習在小型 LLM 中的推理
20 Mar, Reinforcement Learning for Reasoning in Small LLMs: What Works and What Doesn't, https://arxiv.org/abs/2503.16219
DeepSeek-R1 的原始論文表明,在開發小型(較小)推理模型時,蒸餾比純強化學習能取得更好的結果。在本文中,研究人員對此進行了跟進研究,并探索了如何利用強化學習進一步改進小型蒸餾推理模型。
因此,他們使用 1.5B 的 DeepSeek-R1-Distill-Qwen 模型,發現僅需 7000 個訓練樣本和 42 美元的計算預算,強化學習微調就能帶來顯著的提升。例如,在 AIME24 數學基準測試中,這些改進足以超越 OpenAI 的 o1-preview。
此外,該論文還有 3 個有趣的發現:
1. 小型 LLM 可以在使用緊湊、高質量數據集的前 50-100 個訓練步內實現快速推理提升。但是,如果訓練時間過長,性能會迅速下降,這主要是由于長度限制和輸出不穩定;
2. 將較易和較難的問題混合在一起,有助于模型在訓練早期產生更短、更穩定的響應。然而,隨著時間的推移,性能仍然會下降;
3. 使用余弦形獎勵函數有助于更有效地控制輸出長度,并提高訓練一致性。但與基于準確率的標準獎勵相比,這會略微降低峰值性能。
[9] 學習通過搜索進行推理
25 Mar, ReSearch: Learning to Reason with Search for LLMs via Reinforcement Learning, https://arxiv.org/abs/2503.19470
本文提出的 ReSearch 框架擴展了 DeepSeek-R1 論文中的強化學習方法,將搜索結果納入推理過程。該模型會根據其正在進行的推理鏈學習何時以及如何進行搜索,然后將檢索到的信息用于后續的推理步驟。
這一切都是在推理步驟中無需監督數據的情況下完成的。研究人員還表明,這種方法可以產生諸如自我修正和反思等有用的行為,并且盡管只在一個數據集上進行訓練,但它在多個基準測試中表現出色。
PS:這個方法和之前討論的 R1-Searcher 有什么不同?
R1-Searcher 采用兩階段、基于結果的強化學習方法。在第一階段,它教會模型如何調用外部檢索;在第二階段,它學習如何利用檢索到的信息來回答問題。
相比之下,ReSearch 將搜索直接集成到推理過程中。它使用強化學習對模型進行端到端訓練,而無需對推理步驟進行任何監督。諸如反思錯誤查詢并進行糾正等行為在訓練過程中自然而然地出現。
[10] 理解 R1-Zero 類訓練
26 Mar, Understanding R1-Zero-Like Training: A Critical Perspective, https://arxiv.org/abs/2503.20783
本文旨在探究 DeepSeek-R1-Zero 模型采用純強化學習方法(pure RL)為何能夠提升語言模型的推理能力。
作者發現,一些基礎模型(如 Qwen2.5)在未經任何強化學習的情況下,便已經表現出較強的推理能力,甚至能夠呈現出所謂的「頓悟時刻」(Aha moment)。因此,這種「頓悟」可能并非強化學習所誘發,而是源于預訓練過程中的繼承。這一發現對「深層推理行為是由強化學習單獨引導形成」的觀點提出了質疑。
此外,本文還揭示了 GRPO 方法中存在的兩個偏差問題:
- 回答長度偏差(Response-length bias):GRPO 在計算優勢值(advantage)時對回答長度進行了歸一化。這導致較長的錯誤答案所受到的懲罰變小,從而促使模型傾向于生成冗長但錯誤的回答。
- 題目難度偏差(Difficulty-level bias):GRPO 同時依據每道題對應獎勵的標準差進行歸一化。這樣一來,無論題目本身是簡單還是困難,只要其對應的獎勵方差較小,就容易在優化中被賦予較高權重。
為了解決上述問題,作者提出了一種改進的 GRPO 變體 ——Dr. GRPO。該方法在優勢函數計算中取消了對回答長度的歸一化處理,同時也不再在題目級別上對獎勵標準差進行歸一化。這樣一來,訓練過程變得更高效,同時也可以有效避免生成冗長但錯誤的答案。特別是在模型給出錯誤回答時,該方法不再鼓勵其生成長篇幅的低質量文本。
[11] 在多樣化領域中擴展基于可驗證獎勵的強化學習
31 Mar, Crossing the Reward Bridge: Expanding RL with Verifiable Rewards Across Diverse Domains, https://arxiv.org/abs/2503.23829
DeepSeek-R1 及后續多數推理模型主要關注易于驗證領域(如編程和數學)的獎勵信號。本文則探討了如何將這些方法拓展至更復雜的領域,如醫學、化學、心理學、經濟學及教育學等 —— 這些領域的回答通常為自由形式,難以簡單地用「正確 / 錯誤」二元標準進行判斷。
研究發現,即便在上述復雜領域中,若采用專家撰寫的參考答案,評估可行性仍超出預期。為構建獎勵信號,本文提出了一種無需密集領域標注的「生成式軟評分方法」(generative, soft-scoring method),從而顯著降低對特定領域標注數據的依賴。
[12] 在簡化設定下擴展強化學習規模
31 Mar, Open-Reasoner-Zero: An Open Source Approach to Scaling Up Reinforcement Learning on the Base Model, https://arxiv.org/abs/2503.24290
在本文中,作者探索了一種用于語言模型推理任務訓練的極簡強化學習設置。他們采用了基礎版本的概率策略優化算法(vanilla PPO),而非 DeepSeek-R1-Zero 中所使用的廣義隨機策略優化算法(GRPO),并省略了強化學習對人類反饋(RLHF)流程中常見的 Kullback-Leibler 正則化項(KL regularization)。
有趣的是,研究發現,該簡化設置(即 vanilla PPO 訓練器加上基于答案正確性的簡單二元獎勵函數)對于訓練出在推理性能和生成長度兩方面都有所提升的模型而言,已足夠有效。
在使用與 DeepSeek-R1-Zero 相同的 Qwen-32B 基座模型的前提下,作者所構建的模型在多個推理基準任務上實現了超越后者的性能表現,同時訓練步驟僅為其十分之一。
[13] 重新審視預訓練階段中的反思機制
5 Apr, Rethinking Reflection in Pre-Training, https://arxiv.org/abs/2504.04022
基于 DeepSeek-R1 論文提出的重要發現 —— 即在基礎模型上直接應用純強化學習(pure RL)以激發推理能力 —— 我們曾推測大型語言模型的推理能力主要源自強化學習訓練。然而,本論文給出了一個出人意料的轉折:研究發現,自我糾正(self-correction)能力實際上在預訓練(pre-training)階段就已開始顯現。
具體來說,作者通過在任務中引入人為設計的錯誤思維鏈,來衡量模型是否具備識別并修正這些錯誤的能力。實驗結果顯示,無論是顯式反思(explicit reflection)還是隱式修正(implicit correction),這些能力都會在預訓練過程中逐步自然涌現。這一現象在多種任務領域和不同模型規模中均有體現,甚至在預訓練早期的模型檢查點(checkpoint)上也可觀察到初步的自我糾正跡象,且隨著預訓練計算量的增加,該能力持續增強。
[14] 通過強化學習進行簡潔推理
7 Apr, Concise Reasoning via Reinforcement Learning, https://arxiv.org/abs/2504.05185
眾所周知,具備推理能力的語言模型通常會生成更長的輸出文本,這無疑提高了計算成本。最新這篇論文指出,這種行為并非源于更長回答本身對于提高準確性有所幫助,而是在于強化學習訓練過程中的內在偏向所致。
研究表明,在 RL 過程中,當智能體(Agent)因錯誤回答而獲得負獎勵時,策略優化算法 —— 特別是近端策略優化算法(PPO)—— 傾向于鼓勵模型生成更長的回答。具體而言,PPO 的損失計算機制使得在負獎勵的情形下,隨著生成文本長度的增加,平均每個 token 的損失會逐漸變小。因此,即便模型依舊給出錯誤答案,但生成更長的回復形式會在數學上「稀釋」每個 token 所承受的懲罰。
換句話說,長文本的結構掩蓋了整體錯誤,從而在損失函數上表現為優化方向上的「改進」,即使這些額外 token 對實際推理結果沒有幫助。于是模型「學會」了通過拉長輸出長度來減輕懲罰,而非真正提升答案的正確性。
不過需要強調的是,這一現象僅在使用 PPO 的訓練流程下被觀察到: 「值得注意的是,當前的分析并不適用于 GRPO,對該類方法的嚴格分析將在未來展開?!?/span>
此外,研究者還發現,通過引入第二階段的強化學習訓練(即對部分可解答的問題進行少量 RL 微調),不僅可以縮短輸出長度,而且有時還能維持甚至提升模型的準確率。這一發現對于模型部署的效率優化具有重要意義。
[15] 冷靜看待語言模型推理的進展
9 Apr, A Sober Look at Progress in Language Model Reasoning: Pitfalls and Paths to Reproducibility, https://arxiv.org/abs/2504.07086
本論文對近期關于強化學習可提升蒸餾語言模型(distilled language models)性能的主張進行了更為審慎的審視,尤其聚焦于基于 DeepSeek-R1 模型的研究。
例如,我曾討論過 2024 年 3 月 20 日發布的《Reinforcement Learning for Reasoning in Small LLMs: What Works and What Doesn't》一文,其發現 RL 對蒸餾模型具有良好效果。此外,在 DeepSeek-R1 的相關論文中也指出,采用 RL 方法可以進一步顯著提升這些蒸餾模型的性能。因此,該研究傾向于進一步探索相關機制,并在本文中僅展示通過簡單的監督微調(SFT)訓練得到的蒸餾模型結果。
然而,與早期研究報告的 RL 效果大幅提升結論不同,本論文指出,部分性能提升可能只是隨機波動帶來的假象。作者通過實驗證明,在小型基準測試任務(如 AIME24)中,僅隨機種子的改變就可能導致性能分數出現幾個百分點的波動,說明結果存在極高的不穩定性。
當使用更為受控與標準化的實驗設置來評估 RL 模型時,其性能提升通常顯著小于原先報道,且多數情況下缺乏統計學顯著性。盡管某些采用 RL 訓練的模型確實在特定任務上表現出適度提升,但這些提升通常不如監督微調強效,且往往缺乏跨基準遷移泛化能力。
綜上所述,盡管 RL 在某些情形下可能對小型蒸餾語言模型有所助益,本文主張其實際益處被過度渲染,研究界亟需更為嚴謹的評估標準,以厘清真正有效的手段與改進路徑。