DeepSeek-R1詳細解讀!
DeepSeek-R1爆火,今天來詳細看下。
論文地址:https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf
項目地址:https://huggingface.co/deepseek-ai/DeepSeek-R1
開源復(fù)現(xiàn)地址:https://github.com/huggingface/open-r1
簡單介紹下DeepSeek-R1的研究動機:
現(xiàn)有LLMs在推理任務(wù)上的改進主要依賴監(jiān)督微調(diào)(SFT)和后訓(xùn)練(Post-Training)方法,但這些方法需要大量人工標(biāo)注數(shù)據(jù)且成本高昂。OpenAI的o1系列模型雖通過擴展推理鏈(Chain-of-Thought, CoT)提升了性能,但其測試時擴展仍存在挑戰(zhàn)。此外,現(xiàn)有強化學(xué)習(xí)方法(如過程獎勵模型、蒙特卡洛樹搜索等)在通用推理性能上未能達到o1系列的水平,且存在獎勵過優(yōu)化(reward hacking)、搜索空間復(fù)雜等問題。
DeepSeek-R1的動機是探索純RL方法能否在不依賴監(jiān)督數(shù)據(jù)的情況下,驅(qū)動LLMs自主進化出強大的推理能力,同時解決模型輸出的可讀性與語言混合問題,并驗證通過蒸餾技術(shù)實現(xiàn)小模型高效推理的可行性。
在該動機的基礎(chǔ)上,DeepSeek團隊提出兩個模型:DeepSeek-R1-Zero(純RL訓(xùn)練)和DeepSeek-R1(結(jié)合冷啟動數(shù)據(jù)與多階段訓(xùn)練),以及通過蒸餾技術(shù)將推理能力遷移到小型模型。
1、DeepSeek-R1-Zero
DeepSeek-R1-Zero 旨在通過純粹的強化學(xué)習(xí)(RL)過程提升語言模型的推理能力,而不依賴于傳統(tǒng)的監(jiān)督微調(diào)(SFT)。
強化學(xué)習(xí)
組相對策略優(yōu)化(GRPO):在傳統(tǒng)的強化學(xué)習(xí)設(shè)置中,通常需要一個與策略模型大小相同的批評模型來估計基線。為了降低RL訓(xùn)練成本,DeepSeek-R1-Zero采用了GRPO方法。
對于每個問題q,GRPO從舊策略中采樣一組輸出
,然后通過最大化目標(biāo)函數(shù)來優(yōu)化策略模型
:
其中?和β是超參數(shù),分別控制裁剪范圍和KL散度的權(quán)重,是優(yōu)勢值,計算方式如下:
是第i個輸出對應(yīng)的獎勵,而均值和標(biāo)準(zhǔn)差是基于整個組的獎勵計算得出的。這種標(biāo)準(zhǔn)化處理有助于穩(wěn)定訓(xùn)練過程,并使得不同輸出間的比較更加公平。
關(guān)于舊策略和一組輸出的解讀:
舊策略 ():在強化學(xué)習(xí)(RL)的上下文中,“舊策略”指的是在當(dāng)前訓(xùn)練迭代之前的那個策略版本。具體來說,在RL過程中,模型會不斷地更新其策略以優(yōu)化性能指標(biāo)。每一次更新都會產(chǎn)生一個新的策略參數(shù)θ,而這個新策略就會成為下一次迭代中的“舊策略”。因此,舊策略并不是指預(yù)訓(xùn)練模型本身,而是指在當(dāng)前訓(xùn)練循環(huán)開始前最后一次使用的策略版本。
一組輸出():對于給定的問題q(即環(huán)境狀態(tài)或任務(wù)),從舊策略
中采樣一組輸出意味著基于該舊策略為這個問題生成多個可能的解決方案或響應(yīng)。每個輸出
都代表了根據(jù)舊策略對特定輸入采取的一系列行動后的結(jié)果或響應(yīng)。換句話說,一組輸出確實是指同一個問題,模型根據(jù)舊策略進行多次不同的嘗試或模擬,每次嘗試得到一個輸出。
獎勵建模
獎勵信號直接決定了RL算法的優(yōu)化方向。DeepSeek-R1-Zero采用基于規(guī)則的獎勵,主要包括以下兩種類型:
- 準(zhǔn)確性獎勵:用于評估響應(yīng)是否正確。例如,在具有確定性結(jié)果的數(shù)學(xué)問題中,模型需要以指定格式(例如在方框內(nèi))提供最終答案,從而能夠基于規(guī)則可靠地驗證正確性。
- 格式獎勵:強制模型將思考過程置于特定標(biāo)簽內(nèi)(如
<think>
和</think>
),以確保輸出結(jié)構(gòu)的一致性。
訓(xùn)練模板
為了訓(xùn)練DeepSeek-R1-Zero,作者設(shè)計了一個簡單的模板指導(dǎo)基礎(chǔ)模型遵循指定指令,首先生成推理過程然后給出最終答案。這種做法避免了內(nèi)容特定偏見的影響,使研究人員能夠準(zhǔn)確觀察模型在RL過程中的自然進展。
性能表現(xiàn)及自我進化過程
性能提升:隨著RL訓(xùn)練的推進,DeepSeek-R1-Zero表現(xiàn)出穩(wěn)定的性能提升。最終,DeepSeek-R1-Zero在AIME 2024基準(zhǔn)測試上的pass@1分數(shù)從初始的15.6%顯著提升至71.0%,接近OpenAI-o1-0912的表現(xiàn)。通過多數(shù)投票,其性能進一步提升至86.7%。
自我進化:圖3展示了模型如何隨著訓(xùn)練時間的增長而自發(fā)地改進其處理復(fù)雜推理任務(wù)的能力。包括反思先前步驟、探索解決問題的新方法等行為都是模型自主發(fā)展的結(jié)果。
“頓悟”時刻
在訓(xùn)練過程中,觀察到了一個特別有趣的“頓悟”時刻。在這個階段,DeepSeek-R1-Zero學(xué)會了通過重新評估其初始方法為問題分配更多的思考時間。例如,在嘗試解決一個數(shù)學(xué)方程時,模型最初可能采取了一種直接但不完全正確的解法。但在“頓悟”時刻,模型會意識到需要調(diào)整策略,花更多的時間去分析問題,從而找到正確的答案。
盡管DeepSeek-R1-Zero展現(xiàn)了強大的推理能力,但是存在可讀性差和語言混合等問題。為了改善這些問題并創(chuàng)建更易于閱讀的推理過程,研究團隊開發(fā)了DeepSeek-R1,它利用冷啟動數(shù)據(jù)和多階段訓(xùn)練流程來增強模型性能。
2、DeepSeek-R1
DeepSeek-R1是在DeepSeek-R1-Zero的基礎(chǔ)上進一步發(fā)展而來的模型,旨在通過引入少量高質(zhì)量數(shù)據(jù)作為冷啟動,并采用多階段訓(xùn)練流程來提升推理性能、加速收斂過程,同時生成更加用戶友好的輸出。
階段1:冷啟動
冷啟動數(shù)據(jù)指的是在沒有先前用戶交互或行為數(shù)據(jù)的情況下,用來初始化系統(tǒng)或模型的數(shù)據(jù)集。該工作通過收集數(shù)千個冷啟動數(shù)據(jù)來微調(diào)DeepSeek-V3-Base作為強化學(xué)習(xí)的起點。
數(shù)據(jù)集構(gòu)建方式如下:
- 收集長CoT數(shù)據(jù)通過少樣本提示、直接提示模型生成帶有反思和驗證的詳細答案、收集DeepSeek-R1-Zero的輸出并進行后處理,以及人工注釋員的精煉等方式,收集了數(shù)千個高質(zhì)量的長鏈?zhǔn)酵评恚–oT)數(shù)據(jù)。
- 改進輸出格式定義了一個新的輸出格式|special_token|<reasoning_process>|special_token|<summary>,確保每個響應(yīng)都包含清晰的推理過程和總結(jié),提高了輸出的可讀性和用戶友好性。
階段2:面向推理的強化學(xué)習(xí)
在此階段,使用與DeepSeek-R1-Zero相同的大規(guī)模RL訓(xùn)練過程,但加入了冷啟動數(shù)據(jù)微調(diào)后的起點。重點在于增強模型在編碼、數(shù)學(xué)、科學(xué)等領(lǐng)域的推理能力,并引入語言一致性獎勵以減少語言混合問題。最終獎勵由推理任務(wù)的準(zhǔn)確性加上語言一致性獎勵組成。
階段3:拒絕采樣和監(jiān)督微調(diào)
當(dāng)面向推理的RL達到收斂時,利用達到收斂狀態(tài)的模型檢查點來生成SFT數(shù)據(jù)用于下一輪訓(xùn)練。此階段不僅關(guān)注推理數(shù)據(jù),還包括寫作、角色扮演等非推理領(lǐng)域的數(shù)據(jù),以增強模型的通用能力。具體措施包括:
- 推理數(shù)據(jù)通過拒絕采樣方法從RL訓(xùn)練的檢查點生成推理軌跡,并過濾掉不適合的內(nèi)容,如語言混合的推理鏈、長段落和代碼塊。共收集了大約60萬條訓(xùn)練樣本。
- 非推理數(shù)據(jù)重用DeepSeek-V3的部分SFT數(shù)據(jù)集,并根據(jù)特定任務(wù)需求調(diào)整模型行為,例如對于簡單查詢不提供CoT響應(yīng)。共收集了大約20萬條訓(xùn)練樣本。
階段4:面向所有場景的強化學(xué)習(xí)
為了使模型更好地對齊人類偏好,提高有用性和無害性,因此實施了第二階段的強化學(xué)習(xí)。該階段包括:
- 推理領(lǐng)域:繼續(xù)應(yīng)用基于規(guī)則的獎勵指導(dǎo)數(shù)學(xué)、代碼和邏輯推理的學(xué)習(xí)。
- 一般領(lǐng)域:依賴獎勵模型捕捉復(fù)雜場景中的人類偏好,特別是在評估模型響應(yīng)的有用性和識別潛在風(fēng)險方面。
蒸餾
為了使更高效的小型模型具備像DeepSeek-R1一樣的推理能力,直接使用DeepSeek-R1生成的80萬條樣本對開源模型如Owen和Llama進行了微調(diào)。研究結(jié)果表明,這種簡單的蒸餾方法顯著增強了小型模型的推理能力。
對于蒸餾模型,僅應(yīng)用SFT,不包括RL階段,盡管加入RL可以顯著提升模型性能,在這里的主要目標(biāo)是展示蒸餾技術(shù)的有效性。
3、實驗結(jié)果
指標(biāo):主要使用Pass@1(即模型生成的多個回答中,至少有一個是正確的比例)作為評估指標(biāo)。對于某些任務(wù),還報告了其他指標(biāo),如Codeforces的百分位數(shù)和Elo評分、多數(shù)投票(consensus)結(jié)果等。
baseline:DeepSeek-V3、Claude-Sonnet-3.5-1022、GPT-4o-0513、OpenAI-o1-mini和OpenAI-o1-1217
主要結(jié)果
知識類基準(zhǔn)測試:
在MMLU、MMLU-Pro和GPQA Diamond等教育類基準(zhǔn)測試中,DeepSeek-R1顯著優(yōu)于DeepSeek-V3,接近OpenAI-o1-1217的性能。
在SimpleQA基準(zhǔn)測試中,DeepSeek-R1優(yōu)于DeepSeek-V3,但在中文C-SimpleQA中表現(xiàn)稍差,主要是由于安全強化學(xué)習(xí)導(dǎo)致模型拒絕回答某些問題。
編程和數(shù)學(xué)任務(wù):
在數(shù)學(xué)任務(wù)(如AIME 2024、MATH-500)中,DeepSeek-R1的性能與OpenAI-o1-1217相當(dāng),顯著優(yōu)于其他模型。
在編程任務(wù)(如LiveCodeBench、Codeforces)中,DeepSeek-R1表現(xiàn)出色,Codeforces的Elo評分達到2029,超過96.3%的人類參賽者。
長文本理解和寫作任務(wù):
在FRAMES(長文本依賴的問答任務(wù))中,DeepSeek-R1表現(xiàn)優(yōu)異,顯著優(yōu)于DeepSeek-V3。
在AlpacaEval 2.0和ArenaHard(寫作任務(wù))中,DeepSeek-R1的性能顯著優(yōu)于其他模型,展現(xiàn)出強大的寫作和開放域問答能力。
其他任務(wù):
在IF-Eval(格式遵循能力測試)中,DeepSeek-R1表現(xiàn)良好,這歸功于在最終階段加入了指令遵循數(shù)據(jù)的監(jiān)督微調(diào)和強化學(xué)習(xí)訓(xùn)練。
蒸餾模型結(jié)果
通過從DeepSeek-R1蒸餾到較小模型,可以顯著提升這些模型的推理能力,使其在多個基準(zhǔn)測試中優(yōu)于現(xiàn)有的開源模型。此外,蒸餾方法比直接在小模型上進行大規(guī)模RL訓(xùn)練更有效,且計算成本更低。
蒸餾與RL對比結(jié)果
這一部分實驗探索是否可以通過直接在小模型上進行大規(guī)模強化學(xué)習(xí)(RL)來實現(xiàn)與蒸餾模型相當(dāng)?shù)男阅?/span>?
作者在Qwen-32B-Base模型上進行了大規(guī)模RL訓(xùn)練,使用數(shù)學(xué)、編程和STEM相關(guān)數(shù)據(jù),訓(xùn)練了超過10K步,得到的模型稱為DeepSeek-R1-Zero-Qwen-32B。
通過結(jié)果可以看到,從大型模型(如DeepSeek-R1)蒸餾到較小模型可以顯著提升推理能力,且計算成本更低,直接在小模型上進行大規(guī)模RL訓(xùn)練需要大量的計算資源,且可能無法達到蒸餾模型的性能。蒸餾方法在經(jīng)濟性和有效性方面表現(xiàn)出色,可以更好地利用大型模型的推理模式,適合在資源有限的情況下提升模型性能。
4、總結(jié)
DeepSeek-R1確實很驚艷,論文中的兩大貢獻純RL方法能夠驅(qū)動LLMs自主進化出強大的推理能和蒸餾技術(shù)的驗證非常有意義。
個人更關(guān)注蒸餾技術(shù)的意義,不僅挑戰(zhàn)了傳統(tǒng)觀念中“模型越大越聰明”的看法,還為企業(yè)和個人提供了以更低的成本享受高性能AI的機會,也給了更多人在當(dāng)前大算力需求下研究AI的入場券。
簡單來說,蒸餾技術(shù)的意義在于它提供了一種有效的方法,讓較小的AI模型能夠“繼承”更大、更復(fù)雜的模型(如擁有千億參數(shù)的DeepSeek-R1)的推理能力和知識。
- 成本效益通過將大模型的知識遷移到小模型中,企業(yè)可以用較低的成本部署高效的AI解決方案。相較于傳統(tǒng)的強化學(xué)習(xí)方法,蒸餾技術(shù)極大地降低了計算資源的需求,并縮短了開發(fā)周期。
- 性能提升經(jīng)過蒸餾的小模型能夠在多種任務(wù)上表現(xiàn)出接近大模型的性能,比如在數(shù)學(xué)推理和代碼生成等任務(wù)上。某些情況下,蒸餾后的模型甚至能在移動設(shè)備上實現(xiàn)復(fù)雜推理,延遲低于500毫秒。
- 普及AI能力DeepSeek團隊開源了多個不同規(guī)模的蒸餾模型,使得中小企業(yè)和學(xué)校能夠利用消費級硬件部署強大的AI模型。這推動了AI技術(shù)的普及化和平民化,讓更多人受益于先進的AI技術(shù)。
- 打破數(shù)據(jù)壟斷與依賴大量人工標(biāo)注數(shù)據(jù)的傳統(tǒng)小模型不同,蒸餾技術(shù)直接從大模型中提取知識,減少了對稀缺標(biāo)注資源的依賴,有助于打破數(shù)據(jù)壟斷的局面。
- 未來發(fā)展方向蒸餾技術(shù)可能向動態(tài)蒸餾和跨模態(tài)蒸餾兩個方向發(fā)展,前者使大模型能夠在實時交互中持續(xù)指導(dǎo)小模型,實現(xiàn)終身學(xué)習(xí);后者則旨在融合文本、代碼、圖像等多種模態(tài)的能力,使小模型成為全能助手。
總的來說,DeepSeek-R1的蒸餾技術(shù)是AI民主化進程中的重要一步,它展示了AI進化的新路徑——不單純依靠增加模型參數(shù)量,而是通過有效的知識遷移,讓小模型也能成為“濃縮的精華”,在更多場景中發(fā)揮重要作用。