🚀 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}
}