1. 背景与动机:
- 封闭源代码模型的主导地位限制了广泛的研究和开发。

2. DeepSeek-Coder系列:
- 介绍了DeepSeek-Coder系列,包括从1.3B到33B不同规模的开源代码模型。
- 这些模型从头开始在2万亿token上进行训练,使用高质量的项目级代码语料库。
- 采用填空任务和16K窗口来增强代码生成和填充能力。
3. 性能评估:
- DeepSeek-Coder在多个基准测试中不仅达到了开源代码模型的最新水平,而且还超过了现有的封闭源模型,如Codex和GPT-3.5。
- DeepSeek-Coder模型采用宽松许可,允许研究和无限制的商业使用。
4. 数据收集:
- 训练数据集由87%的源代码、10%的英文代码相关自然语言语料库和3%的与代码无关的中文自然语言语料库组成。
- 数据收集过程包括数据爬取、基于规则的过滤、依赖解析、仓库级别去重和质量筛选。
5. 训练策略:
- 使用下一个token预测和Fill-In-the-Middle (FIM)方法进行预训练。
- 介绍了依赖分析的拓扑排序算法。
6. 模型架构:
- 开发了一系列不同参数的模型,包括1.3B、6.7B和33B参数的模型。
- 模型基于DeepSeek大型语言模型框架,采用decoder-only Transformer结构。
7. 优化与环境:
- 使用AdamW作为优化器,并根据DeepSeek LLM的建议调整了批量大小和学习率。
- 实验使用HAI-LLM框架,在配备NVIDIA A100和H800 GPU的集群上进行。
8. 长上下文处理:
- 为了处理更长的上下文,调整了RoPE参数以扩展默认上下文窗口。
9. 指令调优:
- 通过基于指令的微调,开发了DeepSeek-Coder-Instruct模型,使用高质量的数据进行训练。
10. 实验结果:
- 在代码生成、FIM代码补全、跨文件代码补全和基于程序的数学推理等任务上评估了DeepSeek-Coder。
- DeepSeek-Coder在多个任务上表现出色,尤其是在LeetCode竞赛基准测试中。
11. 结论:
- DeepSeek-Coder系列模型在代码智能领域取得了显著进展,特别是在代码生成和理解方面。
- 通过在DeepSeek-LLM 7B基础上进行额外预训练,开发了DeepSeek-Coder-v1.5,进一步提高了自然语言理解能力。
报告还包括了对DeepSeek-Coder模型的详细分析、性能基准测试结果以及与其他模型的比较。此外,还提供了一些与DeepSeek-Coder-Instruct交互的示例,以及在训练DeepSeek-Coder-Base模型期间的基准曲线。