Paper: DeepSeek-Coder: When the Large Language Model Meets Programming
一句话概括
DeepSeek-Coder通过精心设计的代码与自然语言数据配比以及仓库级别的上下文训练策略,在开源代码模型中取得了全面领先的性能表现。
核心思想
DeepSeek-Coder的关键洞察是代码训练数据的语言配比至关重要。它使用了87%代码和13%自然语言的精确混合比例,并对不同编程语言之间的配比进行了细致的调优实验。在训练策略上,创新性地采用了仓库级别的数据组织方式——将同一代码仓库中的文件按照依赖关系拓扑排序后拼接成训练序列,使模型能够学习跨文件的代码依赖和引用关系。同时支持16K的长上下文窗口来处理大型项目。
关键创新
1) 仓库级别的训练数据组织策略,首次系统性地教会模型理解和处理跨文件的代码引用关系;2) 精细化的编程语言配比优化实验,提供了宝贵的实验数据;3) 从1.3B到33B的完整尺寸系列,灵活满足不同的部署和资源需求。
深远影响
DeepSeek-Coder的33B模型在多个权威代码基准上全面超越了GPT-3.5,有力证明了专注于代码领域的中等规模专家模型可以达到甚至超越通用大模型的水平。仓库级训练的创新思路被后续代码模型广泛借鉴和采用。
启发与思考
DeepSeek-Coder充分展示了”领域专精”的巨大力量:在特定领域中,通过深度优化数据处理和训练策略,中等规模的专家模型可以匹敌甚至全面超越通用大模型。这为各个垂直领域的专业模型开发提供了重要的方法论启示。