作者:小貍愚@知乎
Arxiv論文地址:https://arxiv.org/abs/2501.12948
ModelScope論文地址:https://modelscope.cn/papers/109508
github論文地址:https://github.com/deepseek-ai/DeepSeek-R1/tree/main
DeepSeek-R1本質(zhì)上給出了模型訓(xùn)練中的長(zhǎng)鏈推理,或復(fù)雜推理問題的一種可行路徑。可貴的是,在論文中DeepSeek給出了一個(gè)非常完整的技術(shù)實(shí)現(xiàn)路徑,還包括了一些失敗的嘗試。這給其他模型廠商提供了完整的復(fù)現(xiàn)方式。我們先看最后的評(píng)測(cè)結(jié)果:
可以看到R1的結(jié)果幾乎都與OpenAI-o1-1217持平,部分評(píng)測(cè)集甚至超越了后者,如AIME和MATH。
DeepSeek-R1的訓(xùn)練路徑是非常簡(jiǎn)潔的,這和DeepSeek-V2和V3模型積累的訓(xùn)練經(jīng)驗(yàn)積累存在非常大的關(guān)系。
首先我們先明確R1模型的訓(xùn)練目標(biāo),這個(gè)非常重要:
Our goal is to explore the potential of LLMs to develop reasoning capabilities without any supervised data, focusing on their self-evolution through a pure RL process.
劃重點(diǎn):探索幾乎沒有任何監(jiān)督數(shù)據(jù)的條件下,模型通過RL訓(xùn)練,自我更新并涌現(xiàn)復(fù)雜推理能力的可能性。
論文中用一句話概括了整體訓(xùn)練過程,我們先放一下原文:
we introduce DeepSeek-R1, which incorporates a small amount of cold-start data and a multi-stage training pipeline. Specifically, we begin by collecting thousands of cold-start data to fine-tune the DeepSeek-V3-Base model. Following this, we perform reasoning-oriented RL like DeepSeek-R1- Zero. Upon nearing convergence in the RL process, we create new SFT data through rejection sampling on the RL checkpoint, combined with supervised data from DeepSeek-V3 in domains such as writing, factual QA, and self-cognition, and then retrain the DeepSeek-V3-Base model. After fine-tuning with the new data, the checkpoint undergoes an additional RL process, taking into account prompts from all scenarios. After these steps, we obtained a checkpoint referred to as DeepSeek-R1, which achieves performance on par with OpenAI-o1-1217.
訓(xùn)練路徑:
1.先收集了一部分高質(zhì)量冷啟動(dòng)數(shù)據(jù)(約幾千條),使用該數(shù)據(jù)fine-tune DeepSeek-V3-Base模型,記為模型A
2.使用A模型用GRPO訓(xùn)練,使其涌現(xiàn)推理能力,收斂的模型記為B
3.使用B模型產(chǎn)生高質(zhì)量SFT數(shù)據(jù),并混合DeepSeek-V3產(chǎn)生的其他領(lǐng)域的高質(zhì)量數(shù)據(jù),形成一個(gè)高質(zhì)量數(shù)據(jù)集
4.使用該數(shù)據(jù)集訓(xùn)練原始DeepSeek-V3-Base模型,記為模型C
5.使用C模型重新進(jìn)行步驟2,但是數(shù)據(jù)集變?yōu)樗蓄I(lǐng)域,收斂后的模型記為D,這個(gè)模型就是DeepSeek-R1
6.訓(xùn)練C模型的數(shù)據(jù)對(duì)小模型做蒸餾,效果也非常好
當(dāng)然,最開始DeepSeek并沒有使用冷啟動(dòng),而是直接對(duì)DeepSeek-V3-Base進(jìn)行了GRPO訓(xùn)練,發(fā)現(xiàn)雖然CoT能力提升比較大,但是回復(fù)的內(nèi)容魚龍混雜,甚至有多個(gè)語言同時(shí)出現(xiàn)的情況,所以才產(chǎn)生了上面比較標(biāo)準(zhǔn)的訓(xùn)練路徑。
DeepSeek-R1的實(shí)驗(yàn)有很多貢獻(xiàn),我們列出文章中列出來的:
1.跳過SFT直接使用GRPO做RL,效果一樣很好(或者說,只進(jìn)行冷啟動(dòng)階段的幾千條數(shù)據(jù)的SFT)。這一發(fā)現(xiàn)證明強(qiáng)化學(xué)習(xí)在LLM訓(xùn)練中的作用比之前預(yù)想要大很多,甚至可以取代SFT
個(gè)人認(rèn)為,這一點(diǎn)我們要分開來看,GRPO在少量顯卡上的輕量訓(xùn)練比較難涌現(xiàn)比較好的效果,因此如果對(duì)Instruct或者Base模型進(jìn)行垂類訓(xùn)練,SFT仍然是不二之選。
2. RL-采樣SFT-RL-蒸餾SFT的pipeline對(duì)其他模型訓(xùn)練具有啟示作用
3. 較大模型蒸餾的數(shù)據(jù)用于訓(xùn)練小模型效果比直接從零RL小模型要好。這一點(diǎn)的發(fā)現(xiàn)基本說明數(shù)據(jù)集本身的好壞對(duì)模型訓(xùn)練起決定性作用,或者說人給不了模型需要的數(shù)據(jù),模型才給得了模型需要的數(shù)據(jù)。換句話說,模型的next-token-prediction具有獨(dú)特的生成和自我進(jìn)化方式,該方式和人類給出的提示數(shù)據(jù)有所不同,而在不同模型間可能是通用的。這一點(diǎn)也基本決定了未來模型的訓(xùn)練中使用優(yōu)質(zhì)模型蒸餾的數(shù)據(jù)集,或模型self-improvement會(huì)成為重要的訓(xùn)練路徑。
具體實(shí)現(xiàn)
GRPO的reward并沒有采用PRM,而是使用了基于正則的ORM,其中包括了兩個(gè)點(diǎn):
1.評(píng)估最終答案是否正確。包含最終結(jié)果比對(duì)、代碼運(yùn)行結(jié)果等
2.格式獎(jiǎng)勵(lì):模型需要將CoT過程放在 之間
疑問:具體的獎(jiǎng)勵(lì)值是怎么定義的?不連續(xù)且稀疏的獎(jiǎng)勵(lì)可能導(dǎo)致policy不收斂
上面我們提過,最開始的GRPO是沒有冷啟動(dòng)SFT的,產(chǎn)生的模型叫DeepSeek-R1-Zero,其訓(xùn)練結(jié)果如下:
AIME結(jié)果從15.6%一躍到了71%,而且這個(gè)訓(xùn)練過程是不需要任何監(jiān)督數(shù)據(jù)的,只需要準(zhǔn)確評(píng)估最終結(jié)果。這也是以PPO、GRPO為主包含Rollout過程的強(qiáng)化學(xué)習(xí)路徑的優(yōu)勢(shì)所在。而且,隨著Generate-RL的on policy訓(xùn)練過程,模型涌現(xiàn)了解決復(fù)雜任務(wù)的能力,甚至出現(xiàn)了反思,以及對(duì)復(fù)雜的問題產(chǎn)生更多的token和推理過程。
Aha Moment of DeepSeek-R1-Zero A particularly intriguing phenomenon observed during the training of DeepSeek-R1-Zero is the occurrence of an “aha moment”. This moment, as illustrated in Table 3, occurs in an intermediate version of the model. During this phase, DeepSeek-R1-Zero learns to allocate more thinking time to a problem by reevaluating its initial approach. This behavior is not only a testament to the model’s growing reasoning abilities but also a captivating example of how reinforcement learning can lead to unexpected and sophisticated outcomes.
說句題外話,這是否可以印證模型的能力提升,只需要預(yù)訓(xùn)練后來自于真實(shí)世界的正負(fù)反饋和模型本身的游走呢?那么現(xiàn)在的模型訓(xùn)練系統(tǒng)的最大問題就是模型和真實(shí)世界的交互反饋能力的不足了。
由于Zero模型的游走隨機(jī)性比較強(qiáng),不少問題的推理有可讀性差的問題,因此DeepSeek額外訓(xùn)練了DeepSeek-R1模型。
1.冷啟動(dòng),使用少量示例提示,其中包含長(zhǎng)推理鏈,或者直接提示模型生成帶有反思和驗(yàn)證的詳細(xì)答案,或者收集DeepSeek-R1-Zero 的輸出并以可讀格式呈現(xiàn),并通過人工注釋進(jìn)行后期處理以細(xì)化結(jié)果。從這些數(shù)據(jù)微調(diào)DeepSeek-V3-Base
2.在SFT后的模型上執(zhí)行和Zero上相同的RL,但是為了規(guī)避語言混雜的問題,在ORM中添加了語言一致性獎(jiǎng)勵(lì),CoT過程中符合要求的語言比例越高則獎(jiǎng)勵(lì)越高
3.通過拒絕采樣來進(jìn)行微調(diào)。具體來說,首先通過拒絕采樣生成推理軌跡,對(duì)部分?jǐn)?shù)據(jù)(問題、真實(shí)值、采樣值)輸入DeepSeek-V3來判斷軌跡質(zhì)量,以及過濾掉可讀性差、語言混雜的部分,對(duì)每個(gè)query保留了多個(gè)正確軌跡,收集好的數(shù)據(jù)集約60w條。對(duì)于CoT無關(guān)的數(shù)據(jù),使用了和DeepSeek-V3相同的數(shù)據(jù)集并進(jìn)行采樣,生成了約20w條,總數(shù)據(jù)集共80w條,使用這個(gè)數(shù)據(jù)集對(duì)DeepSeek-V3進(jìn)行了2 epoch的訓(xùn)練
4.對(duì)上述微調(diào)的模型繼續(xù)進(jìn)行GRPO。本次GRPO除了使用上述的ORM判斷外,還增加了對(duì)非CoT數(shù)據(jù)的獎(jiǎng)勵(lì),方法是使用了額外的reward model,以符合人類要求的回復(fù)習(xí)慣以及提高模型的幫助性和無害性
5.使用80w條數(shù)據(jù)(論文中的意思應(yīng)該就是上面描述的數(shù)據(jù)集)對(duì)小模型做蒸餾,效果也比較好。DeepSeek沒有做針對(duì)小模型的后續(xù)RL,雖然效果應(yīng)該也是不錯(cuò)的
在對(duì)比實(shí)驗(yàn)中,DeepSeek做了針對(duì)小模型的RL&蒸餾的實(shí)驗(yàn)對(duì)比:
在實(shí)驗(yàn)中,使用小模型做RL的效果,不如使用大模型蒸餾得到的數(shù)據(jù)SFT得到的小模型的效果。因此,可以得出兩個(gè)結(jié)論:首先,將更強(qiáng)大的模型蒸餾為較小的模型會(huì)產(chǎn)生出色的結(jié)果,而較小的模型依賴本文提到的大規(guī)模 RL需要巨大的計(jì)算能力,并且可能甚至無法達(dá)到蒸餾的效果。其次,盡管蒸餾策略既經(jīng)濟(jì)又有效,超越智能的邊界可能仍然需要更強(qiáng)大的基礎(chǔ)模型和更大規(guī)模的強(qiáng)化學(xué)習(xí)。
最后,我們注意下不成功的嘗試:
1.PRM。過程獎(jiǎng)勵(lì)模型在RL中作用不大,甚至是反作用。我感覺這個(gè)和當(dāng)初把知識(shí)圖譜+預(yù)訓(xùn)練結(jié)合起來的問題是一樣的,即在大規(guī)模transformer結(jié)構(gòu)訓(xùn)練中使用另外的不可導(dǎo)工具的輔助可能導(dǎo)致不穩(wěn)定。PRM模型面臨著獎(jiǎng)勵(lì)欺騙、不可導(dǎo)、效果有限等問題,如果訓(xùn)練新的PRM模型需要額外的資源和時(shí)間
2.蒙特卡洛樹搜索。DeepSeek最初探索了使用蒙特卡羅樹搜索(MCTS)來增強(qiáng)測(cè)試時(shí)的計(jì)算可擴(kuò)展性。將答案分解為更小的部分,以允許模型系統(tǒng)地探索解決方案空間。提示模型生成多個(gè)標(biāo)簽,這些標(biāo)簽對(duì)應(yīng)于搜索所需的具體推理步驟。在訓(xùn)練過程中,首先使用收集到的提示通過由預(yù)訓(xùn)練值模型指導(dǎo)的蒙特卡羅樹搜索找到答案。隨后,使用生成的問題-答案對(duì)來同時(shí)訓(xùn)練行為模型和值模型,迭代地改進(jìn)該過程。這種方法的失敗在于next-token的維度爆炸問題非常嚴(yán)重,在優(yōu)先探索時(shí)間下只能采樣一部分路徑,這些路徑可能是不良的,或者是局部最優(yōu)的,而相關(guān)的細(xì)粒度價(jià)值模型也很難訓(xùn)練,最終導(dǎo)致policy模型難以迭代改進(jìn)。雖然Alpha-Go/Zero中使用該算法達(dá)到了最優(yōu),但由于next-token的維度非常高,因此該算法難以擴(kuò)展到NLP領(lǐng)域
關(guān)于第二點(diǎn)需要額外注意,并非蒙特卡洛方法在NLP領(lǐng)域完全不可用(事實(shí)上目前不少工作是基于MCTS采樣達(dá)到的SOTA效果),而是從base模型從0開始采樣訓(xùn)練的時(shí)候是不可用的。蒙特卡洛方法的前提要求是要么探索空間的維度可控,要么policy模型的generate過程是可控且多樣的。如果使用instruct(或者說已經(jīng)具備了一定CoT能力的)模型進(jìn)行蒙特卡洛采樣效果應(yīng)該會(huì)有不錯(cuò)的提升。
立春好時(shí)節(jié)
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
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.