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