DeepSeek Coder:当大型语言模型遇到编程时-代码智能的兴起

2025-03-06ASPCMS社区 - fjmyhfvclm

“DeepSeek - Coder:当大型语言模型遇到编程时 - 代码智能的兴起”一文介绍了DeepSeek-Coder系列开源代码模型,通过优化数据处理、训练策略等,在多任务评估中表现优异,缩小了与闭源模型差距,推动代码智能发展。

1. 研究背景:大型语言模型革新代码智能,但开源与闭源模型存在性能差距,闭源模型访问受限。为解决此问题,推出DeepSeek-Coder系列开源代码模型。

2. 数据收集

数据来源与过滤:训练数据含87%源代码、10%英语代码相关自然语言语料库和3%代码无关中文自然语言语料库。从GitHub收集数据,经多规则过滤,减少数据量并初步筛选低质量代码。

依赖解析与排序:解析文件依赖关系,按特定顺序排列文件,使数据集更符合实际编码结构。采用近似去重保仓库完整,用编译器、质量模型和启发式规则筛选数据,排除测试集污染。

3. 训练策略

训练目标:采用下一个令牌预测和填充中间(FIM)两种训练目标。FIM通过实验确定50%的PSM率为优,引入哨兵标记按PSM模式构造训练示例。

其他设置:使用HuggingFace Tokenizer库训练BPE分词器;基于DeepSeek-LLM框架构建不同参数模型,采用多种技术优化;用AdamW优化器,依建议调整超参数;在HAI-LLM框架下,利用特定GPU集群训练;扩展上下文窗口;通过指令微调得到DeepSeek-Coder-Instruct。

4. 实验结果

代码生成:在HumanEval、MBPP、DS-1000和LeetCode竞赛基准测试中,DeepSeek-Coder表现出色,部分模型超越开源和闭源模型,Chain-of-Thought提示可提升性能。

FIM代码完成:在单行填充基准测试中,DeepSeek-Coder性能优于同类模型,建议部署6.7B模型。

跨文件代码完成:在跨文件代码完成任务中,DeepSeek-Coder优于其他模型,仓库级别预训练有效。

程序基础的数学推理:在程序辅助数学推理任务中,DeepSeek-Coder尤其是33B变体表现出色。

5. 继续预训练:从通用语言模型额外预训练得到DeepSeek-Coder-v1.5 7B,其在数学推理和自然语言处理能力上提升显著。

6. 研究结论:DeepSeek-Coder系列模型基于优质语料库训练,扩展上下文窗口,性能优异。微调后的模型在编程任务中表现卓越,继续预训练的模型增强了自然语言理解能力,未来将基于更大规模通用LLMs开发更强大的代码模型。

免责声明:我们尊重知识产权、数据隐私,只做内容的收集、整理及分享,报告内容来源于网络,报告版权归原撰写发布机构所有,通过公开合法渠道获得,如涉及侵权,请及时联系我们删除,如对报告内容存疑,请与撰写、发布机构联系

全部评论