科学工具
科学工具让世界更美好
让世界更美好

OpenCoder:支持中英文的开放代码大语言模型

OpenCoder 是一个开放和可复现的代码大型语言模型(LLM),包含1.5B和8B规模的基础和对话模型,支持英语和中文。OpenCoder 从零开始训练,预训练数据涵盖了 2.5 万亿个令牌,其中90%是原始代码,10%为代码相关的网络数据。OpenCoder 在超过450万个高质量的监督微调(SFT)示例上进行了精细调优,最终达到了与顶级代码 LLM 相媲美的性能。OpenCoder 提供模型权重和推理代码,包括可复现的训练数据、完整的数据处理管道、实验消融结果和详细的训练协议,为研究人员的代码 AI 创新提供了坚实基础。

OpenCoder 核心特性

• 完全开源:不仅公开模型权重和后续会发布的推理代码,还提供完整的训练数据清洗代码。同时包含高质量合成数据、大量检查点以及 450 多万条监督微调数据,是目前开源程度最全面的模型之一。

• 详尽实验分析:针对多种数据清洗策略和训练过程开展大量消融实验,包括文件级和仓库级去重实验,充分验证模型性能。

• 高质量合成数据:具备成熟的合成数据生成流程,搭配 450 多万条 SFT 数据,为模型训练和评估搭建坚实的数据基础。

• 卓越性能:在多个语言模型基准测试中表现优异,跻身开源代码模型前列。

模型与数据集详情

模型参数

模型 序列长度 HuggingFace
OpenCoder-1.5B-Base 4K 可下载
OpenCoder-8B-Base 8K 可下载
OpenCoder-1.5B-Instruct 4K 可下载
OpenCoder-8B-Instruct 8K 可下载

预训练数据集

数据集 规模 下载地址
fineweb-code-corpus 148 GB HuggingFace
fineweb-math-corpus 10 GB HuggingFace
opc-annealing-corpus 24 GB HuggingFace

训练后数据集

数据集 数量 下载地址
opc-sft-stage1 421 万 HuggingFace
opc-sft-stage2 37.5 万 HuggingFace

性能测试结果

基础模型性能对比(1B+ 规模)

模型 规模 HumanEval(HE) HumanEval+(HE+) MBPP MBPP+ BigCodeBench(3-shot) BigCodeBench(Full) BigCodeBench(Hard)
DeepSeek-Coder-1.3B-Base 1.3B 34.8 26.8 55.6 46.9 46.2 26.1 3.4
Yi-Coder-1.5B 1.5B 41.5 32.9 27.0 22.2 51.6 23.5 3.4
CodeGemma-2B 2B 31.1 16.5 51.1 43.1 45.4 23.9 7.4
Qwen2.5-Coder-1.5B 1.5B 43.9 36.6 69.2 58.6 59.2 34.6 9.5
StarCoder2-3B 3B 31.7 27.4 60.2 49.1 46.4 21.4 4.7
OpenCoder-1.5B-Base 1.5B 54.3 49.4 70.6 58.7 51.8 24.5 5.4

基础模型性能对比(6B+ 规模)

模型 规模 HumanEval+(HE+) MBPP MBPP+ BigCodeBench(3-shot) BigCodeBench(Full) BigCodeBench(Hard)
CodeLlama-7B 7B 33.5 55.3 46.8 41.4 28.7 5.4
CodeGemma-7B 7B 32.3 50.5 40.7 55.0 38.3 10.1
DS-Coder-6.7B-Base 6.7B 39.6 70.2 56.6 60.6 41.1 11.5
DS-Coder-V2-Lite-Base (MoE) 16B 34.1 71.9 59.4 62.6 30.6 8.1
CodeQwen1.5-7B 7B 45.7 72.2 60.2 61.8 45.6 15.6
Yi-Coder-9B 9B 46.3 48.4 40.7 69.4 42.9 14.2
Qwen2.5-Coder-7B 7B 53.0 76.9 62.9 68.8 45.8 16.2
Crystal-7B 7B 20.7 38.6 31.7 31.0 10.8 4.1
StarCoder2-7B 7B 29.9 54.4 45.6 55.2 27.7 8.8
StarCoder2-15B 15B 37.8 66.2 53.1 55.2 38.4 12.2
OpenCoder-8B-Base 8B 63.4 79.9 70.4 60.6 40.5 9.5

对话模型性能对比(1B+ 规模)

模型 规模 HumanEval(HE) HumanEval+(HE+) MBPP MBPP+ BigCodeBench(Full) BigCodeBench(Hard) LiveCodeBench(Avg)
DS-coder-1.3B-Instruct 1.3B 65.2 61.6 61.6 52.6 22.8 3.4 9.3
Qwen2.5-Coder-1.5B-Instruct 1.5B 70.7 66.5 69.2 59.4 32.5 6.8 15.7
Yi-Coder-1.5B-Chat 1.5B 67.7 63.4 68.0 59.0 24.0 6.8 11.6
OpenCoder-1.5B-Instruct 1.5B 72.5 67.7 72.7 61.9 33.3 11.5 12.8

对话模型性能对比(6B+ 规模)

模型 规模 HumanEval(HE) HumanEval+(HE+) MBPP MBPP+ BigCodeBench(Full) BigCodeBench(Hard) LiveCodeBench(Avg)
DS-Coder-V2-Lite-Instruct 16B 81.1 75.0 82.3 68.8 36.8 16.2 24.3
CodeLlama-7B-Instruct 7B 45.7 39.6 39.9 33.6 21.9 3.4 2.8
CodeGemma-7B-It 7B 59.8 47.0 69.8 59.0 32.3 7.4 14.7
DS-Coder-6.7B-Instruct 6.7B 78.6 70.7 75.1 66.1 35.5 10.1 20.5
Yi-Coder-9B-Chat 9B 82.3 72.6 81.5 69.3 38.1 11.5 23.4
CodeQwen1.5-7B-Chat 7B 86.0 79.3 83.3 71.4 39.6 18.9 20.1
Qwen2.5-Coder-7B-Instruct 7B 88.4 84.1 83.5 71.7 41.0 18.2 37.6
CrystalChat-7B 7B 34.1 31.7 39.1 32.7 26.7 2.3 6.1
StarCoder2-15B-Instruct-v0.1 15B 72.6 63.4 75.2 61.2 37.6 12.2 20.4
OpenCoder-8B-Instruct 8B 83.5 78.7 79.1 69.0 40.3 16.9 23.2