The rapid development of large language models has revolutionized code intelligence in software development. However, the predominance of closed-source models has restricted extensive research and development. To address this, we introduce the DeepSeek-Coder series, a range of open-source code models with sizes from 1.3B to 33B, trained from scratch on 2 trillion tokens. These models are pre-trained on a high-quality project-level code corpus and employ a fill-in-the-blank task with a 16K window to enhance code generation and infilling. Our extensive evaluations demonstrate that DeepSeek-Coder not only achieves state-of-the-art performance among open-source code models across multiple benchmarks but also surpasses existing closed-source models like Codex and GPT-3.5. Furthermore, DeepSeek-Coder models are under a permissive license that allows for both research and unrestricted commercial use.
核心贡献 · Key contributions
提出 DeepSeek-Coder 系列,开源代码模型,参数规模从 1.3B 到 33B。 Introduces DeepSeek-Coder series, open-source code models from 1.3B to 33B parameters.
首次在预训练中引入仓库级数据构建,提升跨文件代码生成能力。 First to incorporate repository-level data construction during pre-training, boosting cross-file code generation.
严格分析 FIM 训练策略,揭示权衡关系与最优配置。 Rigorously examines FIM training strategies, revealing trade-offs and optimal configurations.
在多个基准测试中达到开源代码模型的最优性能。 Achieves state-of-the-art performance among open-source code models across multiple benchmarks.
微调后的 DeepSeek-Coder-Instruct 33B 在代码任务上超越 GPT-3.5 Turbo。 DeepSeek-Coder-Instruct 33B surpasses GPT-3.5 Turbo in code-related tasks after fine-tuning.
以宽松许可证发布模型,支持研究和商业用途。 Releases models under permissive license for research and commercial use.
局限 · Limitations
评估限于 87 种编程语言,其他语言性能未经测试。 Evaluation limited to 87 programming languages; performance on other languages untested.
长上下文适配仅测试至 16K token,超出范围的可靠性未验证。 Long-context adaptation only tested up to 16K tokens; reliability beyond that unverified.
无法完全排除 GitHub 测试集的数据污染风险。 Potential data contamination from GitHub test sets cannot be fully ruled out.
FIM 训练在代码补全能力与填充性能之间存在权衡。 FIM training trades off code completion ability for infilling performance.