文章目錄
- 1、簡介
- 2、主要改進點
- 3、兩個重要觀點
- 4、四階段后訓練詳細步驟
- 4.1 冷啟動
- 4.2 推理導向的強化學習
- 4.3 拒絕采樣和有監督微調
- 4.4 針對所有場景的強化學習
- 5、蒸餾與強化學習對比
- 6、評估
- 6.1 DeepSeek-R1 評估
- 6.2 蒸餾模型評估
- 7、結論
- 8、局限性與未來方向
1、簡介
DeepSeek-R1-Zero的提出,展現了其強大的推理能力,但是它也有一些缺點,例如可讀性差和語言混用。為了解決這些問題并進一步提升推理性能,進一步推出了 DeepSeek-R1,它在 RL 之前引入了多階段訓練和冷啟動數據。DeepSeek-R1 在推理任務上的表現與 OpenAI-o1-1217 相當。為了支持研究社區,團隊開源了 DeepSeek-R1-Zero、DeepSeek-R1 以及基于 Qwen 和 Llama 從 DeepSeek-R1 蒸餾出的六個密集模型(1.5B、7B、8B、14B、32B、70B)。
2、主要改進點
DeepSeek-R1結合了少量冷啟動數據和多階段訓練流程。具體而言:
- 首先收集數千條冷啟動數據(長鏈式思考CoT示例)以微調 DeepSeek-V3-Base 模型。
- 隨后,像 DeepSeek-R1-Zero 一樣進行推理導向的 RL 訓練。
- 在 RL 訓練接近收斂時,通過拒絕采樣在 RL 權重文件上生成新的 SFT 數據,并結合 DeepSeek-V3 在寫作、事實問答和自我認知等領域的監督數據,然后重新訓練 DeepSeek-V3-Base 模型。
- 經過新數據的微調后,模型權重會經歷一個額外的 RL 過程,涵蓋所有場景的提示。經過這些步驟,得到了一個稱為 DeepSeek-R1 的模型,其表現與 OpenAI-o1-1217 相當。
團隊進一步探索了從 DeepSeek-R1 到更小密集模型的知識蒸餾。使用 Qwen2.532B(Qwen, 2024b)作為基礎模型,直接從 DeepSeek-R1 進行蒸餾的表現優于在其上應用 RL。這表明,大型基礎模型發現的推理模式對于提升推理能力至關重要。團隊開源了基于 Qwen 和 Llama(Dubey et al., 2024)系列的蒸餾模型。值得注意的是,蒸餾出的 14B 模型大幅超越了當前最先進的開源模型 QwQ-32B-Preview(Qwen, 2024a),而蒸餾出的 32B 和 70B 模型在密集模型的推理基準測試中創下了新的記錄。
3、兩個重要觀點
后訓練:在基礎模型上進行大規模強化學習
- 直接在基礎模型上應用 RL,而不依賴于有監督的微調(SFT)作為初步步驟。這種方法允許模型探索解決復雜問題的鏈式思考(CoT),從而開發出 DeepSeek-R1-Zero。DeepSeek-R1-Zero 展示了自我驗證、反思和生成長鏈式思考的能力,這標志著研究社區的一個重要里程碑。值得注意的是,這是首次公開研究驗證 LLMs 的推理能力可以通過純 RL 激勵,而無需 SFT。這一突破為該領域的未來發展鋪平了道路。
- 介紹了開發 DeepSeek-R1 的流程。該流程包含兩個 RL 階段,旨在發現改進的推理模式并與人類偏好對齊,以及兩個 SFT 階段,作為模型推理和非推理能力的種子。我們相信這一流程將有助于行業開發更好的模型。
蒸餾:小模型也可以很強大
- 證明了大型模型的推理模式可以被蒸餾到小模型中,其表現優于通過在小模型上應用 RL 發現的推理模式。開源的 DeepSeek-R1 及其 API 將有助于研究社區在未來蒸餾出更好的小模型。
- 使用 DeepSeek-R1 生成的推理數據,我們微調了研究社區廣泛使用的幾種密集模型。評估結果表明,蒸餾后的小型密集模型在基準測試中表現出色。例如,DeepSeek-R1-Distill-Qwen-7B 在 AIME 2024 上達到了 55.5%,超過了 QwQ-32B-Preview。此外,DeepSeek-R1-Distill-Qwen-32B 在 AIME 2024 上達到了 72.6%,在 MATH-500 上達到了 94.3%,在 LiveCodeBench 上達到了 57.2%。這些結果顯著優于之前的開源模型,并且與 o1-mini 相當。我們開源了基于 Qwen2.5 和 Llama3 系列的 1.5B、7B、8B、14B、32B 和 70B 檢查點,供社區使用。
4、四階段后訓練詳細步驟
受 DeepSeek-R1-Zero 令人鼓舞的結果啟發,自然會提出兩個問題:
- 1)通過引入少量高質量數據作為冷啟動,是否可以進一步提升推理性能或加速收斂?
- 2)如何訓練一個用戶友好的模型,使其不僅能夠生成清晰連貫的推理過程(Chain-of-Thought, CoT),還能展現出強大的通用能力?
為了解決這些問題,我們設計了訓練 DeepSeek-R1 的流程。該流程包含四個階段,具體如下。
4.1 冷啟動
與 DeepSeek-R1-Zero 不同,為了避免從基礎模型開始的 RL 訓練在早期不穩定,DeepSeek-R1構建并收集了少量長鏈式思考(CoT)數據,用于微調模型作為初始的 RL 。為了收集這些數據,我們探索了多種方法:
- 使用長 CoT 示例作為少樣本提示,直接提示模型生成帶有反思和驗證的詳細答案,收集 DeepSeek-R1-Zero 輸出并將其格式化為可讀格式;
- 以及通過人類標注者對結果進行后處理以優化結果。
在本工作中,我們收集了數千條冷啟動數據,用于微調 DeepSeek-V3-Base 作為 RL 的起點。與 DeepSeek-R1-Zero 相比,冷啟動數據的優勢包括:
- 可讀性:DeepSeek-R1-Zero 的一個關鍵限制是其內容往往不適合閱讀。回答可能會混用多種語言,或者缺乏用于突出顯示答案的 Markdown 格式。相比之下,在為 DeepSeek-R1 創建冷啟動數據時,我們設計了一種可讀的模式,包括在每條回答的末尾添加總結,并過濾掉對讀者不友好的回答。在這里,我們定義輸出格式為 |特殊標記|<推理過程>|特殊標記|<總結>,其中推理過程是查詢的 CoT,總結用于概括推理結果。
- 潛力:通過精心設計冷啟動數據的模式并引入人類先驗知識,我們觀察到與 DeepSeek-R1-Zero 相比,模型表現更好。我們相信迭代訓練是推理模型的更好方式。
4.2 推理導向的強化學習
在使用冷啟動數據對 DeepSeek-V3-Base 進行微調后,我們應用了與 DeepSeek-R1-Zero 中相同的強化學習訓練過程。這一階段專注于提升模型在推理密集型任務(如編程、數學、科學和邏輯推理)中的推理能力,這些任務涉及定義明確且有明確答案的問題。
在訓練過程中,我們觀察到 CoT 經常出現語言混用,尤其是在涉及多種語言的 RL 提示時。為了緩解 CoT 中的語言混用問題,我們在 RL 訓練中引入了語言一致性獎勵,該獎勵計算為 CoT 中目標語言單詞的比例。盡管消融實驗表明,這種對齊會導致模型性能略有下降,但這種獎勵與人類偏好一致,使輸出更具可讀性。
最后,我們將推理任務的準確性獎勵和語言一致性獎勵直接相加,形成最終的獎勵。然后我們在推理任務上對微調后的模型進行強化學習訓練,直到模型收斂。
4.3 拒絕采樣和有監督微調
當推理導向的強化學習收斂時,我們利用上述訓練階段得到的模型來收集下一輪的有監督微調(SFT)數據。與初始的冷啟動數據(主要關注推理)不同,這一階段結合了其他領域的數據,以增強模型在寫作、角色扮演和其他通用任務中的能力。具體來說,我們按照以下方式生成數據并微調模型:
推理數據
- 我們策劃了推理提示,并通過拒絕采樣從上述強化學習訓練階段得到的模型生成推理軌跡。在前一階段,我們僅包含可以使用基于規則的獎勵進行評估的數據。然而,在這一階段,我們通過擴展數據集,引入了一些額外的數據,其中一些使用生成式獎勵模型,通過將真實答案和模型預測輸入 DeepSeek-V3 進行判斷。此外,由于模型輸出有時會顯得混亂且難以閱讀,我們過濾掉了混用語言、長段落和代碼塊的 CoT。對于每個提示,我們采樣多個回答,并僅保留正確的回答。總共收集了約 60 萬條與推理相關的訓練樣本。
非推理數據
- 對于非推理數據(如寫作、事實問答、自我認知和翻譯),我們采用了 DeepSeek-V3 的流程,并重用了 DeepSeek-V3 SFT 數據集的部分內容。對于某些非推理任務,我們通過提示 DeepSeek-V3 生成潛在的 CoT,然后回答問題。然而,對于更簡單的問題(如“你好”),我們不會提供 CoT 回答。最終,我們總共收集了約 20 萬條與推理無關的訓練樣本。
我們使用上述策劃的約 80 萬樣本數據集對 DeepSeek-V3-Base 進行了兩個周期的微調。
4.4 針對所有場景的強化學習
為了進一步使模型與人類偏好對齊,我們實施了第二個強化學習階段,旨在提升模型的有用性和無害性,同時優化其推理能力。具體來說,我們使用組合的獎勵信號和多樣化的提示分布來訓練模型。
- 對于推理數據,我們遵循 DeepSeek-R1-Zero 中描述的方法,使用基于規則的獎勵來指導數學、編程和邏輯推理領域的學習過程。
- 對于通用數據,我們則依賴于獎勵模型來捕捉復雜且微妙場景中的人類偏好。我們基于 DeepSeek-V3 流程,采用了類似的偏好對和訓練提示分布。
- 在有用性方面,我們僅關注最終總結,確保評估側重于回答對用戶的實用性和相關性,同時盡量減少對底層推理過程的干擾。
- 在無害性方面,我們評估模型的整個回答,包括推理過程和總結,以識別和減輕在生成過程中可能出現的任何潛在風險、偏見或有害內容。
最終,通過整合獎勵信號和多樣化的數據分布,我們訓練出的模型不僅在推理方面表現出色,還優先考慮了有用性和無害性。
5、蒸餾與強化學習對比
作者在 Qwen-32B-Base 模型上進行了大規模強化學習訓練,使用數學、編程和 STEM 相關數據,訓練了超過 10,000 步,最終得到了 DeepSeek-R1-Zero-Qwen-32B。實驗結果如表 6 所示,經過大規模強化學習訓練的 32B 基礎模型,其性能與 QwQ-32B-Preview 相當。然而,通過 DeepSeek-R1 蒸餾得到的 DeepSeek-R1-Distill-Qwen-32B 在所有基準測試中均顯著優于 DeepSeek-R1-Zero-Qwen-32B。
因此,我們可以得出以下兩個結論:
- 蒸餾的優勢:將更強大的模型能力蒸餾到小型模型中能夠取得優異的結果,而小型模型僅依靠本文提到的大規模強化學習,需要巨大的計算資源,并且可能無法達到蒸餾的效果。
- 超越的挑戰:盡管蒸餾策略既經濟又高效,但要突破智能的邊界,可能仍需要更強大的基礎模型和更大規模的強化學習
簡而言之:小模型+蒸餾(使用DeepSeek-R1生成的數據)> 小模型 + 大規模強化學習訓練的效果
6、評估
6.1 DeepSeek-R1 評估
表 4 展示了 DeepSeek-R1 與其他代表性模型在多個基準測試上的對比結果。在教育導向的知識基準測試(如 MMLU、MMLU-Pro 和 GPQA Diamond)中,DeepSeek-R1 相較于 DeepSeek-V3 展現出更優的性能。這一改進主要歸因于在 STEM 相關問題上的準確率提升,而這些提升得益于大規模強化學習的應用。此外,DeepSeek-R1 在 FRAMES(一個依賴長文本上下文的問答任務)上表現出色,展現了其強大的文檔分析能力。這突顯了推理模型在 AI 驅動的搜索和數據分析任務中的潛力。在事實基準測試 SimpleQA 上,DeepSeek-R1 優于 DeepSeek-V3,顯示出其處理基于事實查詢的能力。在這一基準測試中,OpenAI-o1 同樣超越了 GPT-4o。
然而,在中文 SimpleQA 基準測試中,DeepSeek-R1 的表現不如 DeepSeek-V3,主要原因在于經過安全性強化學習后,DeepSeek-R1 傾向于拒絕回答某些查詢。在不進行安全性強化學習的情況下,DeepSeek-R1 的準確率可以超過 70%。
在 IF-Eval(一個用于評估模型遵循格式指令能力的基準測試)上,DeepSeek-R1 也取得了顯著的成果。這些改進與在最終階段的有監督微調(SFT)和強化學習訓練中引入的指令遵循數據密切相關。此外,在 AlpacaEval 2.0 和 ArenaHard 上,DeepSeek-R1 的表現尤為突出,表明其在寫作任務和開放域問答中的優勢。其顯著優于 DeepSeek-V3 的表現進一步證明了大規模強化學習的泛化優勢,這不僅提升了推理能力,還改善了模型在多樣化領域的表現。此外,DeepSeek-R1 生成的總結長度較為簡潔,在 ArenaHard 上平均為 689 個標記,在 AlpacaEval 2.0 上為 2218 個字符。這表明 DeepSeek-R1 在基于 GPT 的評估中避免了引入長度偏差,進一步鞏固了其在多任務中的穩健性。
在數學任務上,DeepSeek-R1 的表現與 OpenAI-o1-1217 相當,在多數基準測試中大幅領先于其他模型。在編程算法任務(如 LiveCodeBench 和 Codeforces)上,以推理為導向的模型主導了這些基準測試。在工程導向的編程任務上,OpenAI-o1-1217 在 Aider 上的表現優于 DeepSeek-R1,但在 SWE Verified 上表現相當。我們相信,隨著相關強化學習訓練數據量的增加,DeepSeek-R1 在工程任務上的表現將在下一個版本中得到提升,因為目前這一領域的數據量仍然非常有限。
6.2 蒸餾模型評估
如 表 5 所示,僅通過對 DeepSeek-R1 的輸出進行蒸餾,高效的小型模型 DeepSeek-R1-7B(即 DeepSeek-R1-Distill-Qwen-7B,以下簡寫為類似形式)在各項指標上均優于不具推理能力的模型,例如 GPT-4o-0513。DeepSeek-R1-14B 在所有評估指標上均超越了 QwQ-32B-Preview,而 DeepSeek-R1-32B 和 DeepSeek-R1-70B 在大多數基準測試中顯著優于 o1-mini。這些結果表明了蒸餾方法的強大潛力。此外,我們發現對這些蒸餾模型應用強化學習(RL)可以帶來顯著的進一步提升。我們相信這一方向值得進一步探索,因此在此僅展示了簡單通過有監督微調(SFT)蒸餾的模型結果。
7、結論
在本研究中,我們分享了通過強化學習提升模型推理能力的探索過程。DeepSeek-R1-Zero 代表了一種純粹的強化學習方法,不依賴于冷啟動數據,卻在各項任務中展現出強大的性能。而 DeepSeek-R1 更為強大,它借助冷啟動數據以及迭代式的強化學習微調,最終在一系列任務上的表現與 OpenAI-o1-1217 相當。
我們進一步探索了將推理能力蒸餾到小型密集模型的可能性。我們以 DeepSeek-R1 作為教師模型,生成了 800K 條訓練樣本,并用于微調多個小型密集模型。結果令人鼓舞:例如,DeepSeek-R1-Distill-Qwen-1.5B 在數學基準測試 AIME 上達到了 28.9% 的準確率,在 MATH-500 上達到了 83.9% 的準確率,顯著優于基于相同底層模型微調的其他指令模型。其他密集模型也在各項基準測試中取得了令人印象深刻的成績,大幅超越了其他指令微調模型。
8、局限性與未來方向
在未來的研究中,計劃在以下方向上投入更多精力:
- 通用能力提升:目前,DeepSeek-R1 在某些任務上的表現仍不如 DeepSeek-V3,例如函數調用、多輪對話、復雜角色扮演和 JSON 輸出。未來,我們將探索如何利用長鏈式思考(CoT)來增強這些領域的表現。
- 語言混用問題:DeepSeek-R1 當前主要針對中文和英文進行了優化,這可能導致在處理其他語言的查詢時出現語言混用問題。例如,即使查詢語言不是中文或英文,DeepSeek-R1 也可能使用英文進行推理和回答。我們計劃在未來版本中解決這一局限性。
- 提示工程:在評估 DeepSeek-R1 時,我們發現模型對提示非常敏感,少樣本提示往往會降低其性能。因此,我們建議用戶直接描述問題,并在零樣本設置中指定輸出格式,以獲得最佳結果。
- 軟件工程任務:由于長時評估會影響強化學習的效率,大規模強化學習尚未廣泛應用于軟件工程任務。因此,DeepSeek-R1 在軟件工程基準測試上的表現尚未顯著優于 DeepSeek-V3。未來版本將通過在軟件工程數據上實施拒絕采樣,或在強化學習過程中引入異步評估來提高效率,從而解決這一問題。
因本人水平有限,歡迎大家評論區批評指正!一起交流學習!