🚀 DeepCoder-1.5B-Preview
DeepCoder-1.5B-Preview 是一款代碼推理大語言模型,它基於分佈式強化學習(RL)從 DeepSeek-R1-Distilled-Qwen-1.5B 微調而來,能夠處理長上下文。
🚀 快速開始
文檔中未提及快速開始的相關內容,若有需要可參考後續各部分詳細信息進行操作。
✨ 主要特性
- 長上下文處理:通過分佈式強化學習,能夠處理長上下文,在長文本推理方面表現出色。
- 穩定訓練:採用改進的 GRPO+ 算法,結合多種優化策略,確保訓練過程更加穩定。
- 良好泛化:在不同的編碼基準測試中表現優秀,能夠很好地泛化到不同的任務和場景。
📦 安裝指南
文檔中未提及安裝相關內容,若要使用該模型,可參考後續服務部分使用已有的高性能推理系統。
📚 詳細文檔
DeepCoder 概述
DeepCoder-1.5B-Preview 是一個代碼推理大語言模型,它從 DeepSeek-R1-Distilled-Qwen-1.5B 進行微調,使用分佈式強化學習(RL)來擴展到長上下文長度。
數據
我們的訓練數據集包含大約 24K 個獨特的問題 - 測試對,這些數據來自以下來源:
- Taco-Verified
- PrimeIntellect SYNTHETIC-1
- LiveCodeBench v5 (5/1/23 - 7/31/24)
訓練方法
GRPO+
我們結合 DAPO 的見解對原始的 GRPO 算法進行了改進,以實現更穩定的訓練:
- 離線難度過濾:DAPO 使用在線動態採樣,即時丟棄完全正確和完全錯誤的樣本。雖然這有助於保持更穩定的有效批量大小,但由於拒絕採樣會引入顯著的運行時開銷。相反,我們對一部分編碼問題進行離線難度過濾,以確保訓練數據集保持在合適的難度範圍內。
- 無熵損失:我們觀察到包含熵損失項通常會導致訓練不穩定,熵呈指數增長並最終導致訓練崩潰。為了緩解這個問題,我們完全消除了熵損失。
- 無 KL 損失:消除 KL 損失可以防止大語言模型停留在原始 SFT 模型的信任區域內。這種去除還避免了為參考策略計算對數概率的需要,從而加速了訓練。
- 超長過濾(來自 DAPO):為了保留長上下文推理能力,我們對截斷序列的損失進行掩碼處理。這種技術使 DeepCoder 能夠在 32K 上下文下訓練的情況下,泛化到 64K 上下文的推理。
- 高值裁剪(來自 DAPO):通過增加 GRPO/PPO 替代損失的上限,我們鼓勵更多的探索和更穩定的熵。
迭代上下文擴展
我們最初的 Deepscaler-1.5B-Preview
將長上下文訓練從 8K 擴展到 16K 再到 24K,在 AIME 上的準確率分別達到 33%、38% 和 43%。同樣,Deepcoder-14B-Preview
在 16K 到 32K 上進行訓練,在 LiveCodeBench (v5) 上的準確率達到 54% 到 58%。當在 64K 上下文下進行評估時,DeepCoder-14B-Preview
成功泛化到更長的上下文,準確率達到 60.6%。
由於 DAPO 的超長過濾,DeepCoder 比基礎蒸餾模型在長上下文上有更好的泛化能力。然而,當最大長度限制為 16K 時,其較長的響應通常會被截斷,這可能會降低其得分。
模型 |
16K |
32K |
64K |
DeepCoder-14B-Preview |
45.6 |
57.9 |
60.6 |
DeepSeek-R1-Distill-Qwen-14B |
50.2 |
53.0 |
53.0 |
更詳細的訓練方法描述可以在我們的 博客文章 中找到。
評估
我們在各種編碼基準測試中對 Deepcoder-1.5B-Preview
進行了評估,包括 LiveCodeBench (LCBv5)、Codeforces 和 HumanEval+。
模型 |
LCB (v5)(8/1/24 - 2/1/25) |
Codeforces 評分 |
Codeforces 百分位數 |
HumanEval+ |
DeepCoder-1.5B-Preview |
25.1 |
963 |
28.5 |
73.0 |
Deepseek-R1-Distill-Qwen-1.5B |
16.9 |
615 |
1.9 |
58.3 |
服務 DeepCoder
我們的模型可以使用以下流行的高性能推理系統進行服務:
- vLLM
- Hugging Face Text Generation Inference (TGI)
- SGLang
- TensorRT-LLM
所有這些系統都支持 OpenAI Chat Completions API 格式。
🔧 技術細節
- 算法改進:GRPO+ 算法結合了 DAPO 的多種優化策略,如離線難度過濾、無熵損失、無 KL 損失、超長過濾和高值裁剪,提高了訓練的穩定性和效率。
- 上下文擴展:採用迭代上下文擴展的方法,逐步增加上下文長度,使模型在長上下文推理方面具有良好的泛化能力。
📄 許可證
本項目採用 MIT 許可證發佈,這體現了我們對開放和可訪問的人工智能開發的承諾。我們相信通過免費提供我們的工作,讓任何人都可以使用、修改和基於此進行構建,從而實現人工智能技術的民主化。這種寬鬆的許可證確保了全球的研究人員、開發人員和愛好者可以無限制地利用和擴展我們的工作,促進人工智能社區的創新和合作。
致謝
引用
@misc{deepcoder2025,
title={DeepCoder: A Fully Open-Source 14B Coder at O3-mini Level},
author={Michael Luo, Sijun Tan, Roy Huang, Ameen Patel, Alpay Ariyak, Qingyang Wu, Xiaoxiang Shi, Rachel Xin, Colin Cai, Maurice Weber, Ce Zhang, Li Erran Li, Raluca Ada Popa, Ion Stoica},
howpublished={\url{https://pretty-radio-b75.notion.site/DeepCoder-A-Fully-Open-Source-14B-Coder-at-O3-mini-Level-1cf81902c14680b3bee5eb349a512a51}},
note={Notion Blog},
year={2025}
}