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