网易首页 > 网易号 > 正文 申请入驻

性能表现接近专有模型,科学家推出开源代码大模型与构建指南

0
分享至

自 2021 年,OpenAI 推出了 CodeX 以来,大语言模型(Large Language Model,LLM)的发展已经给代码生成工作带来了巨大的变革。作为 LLM 的一个重要分支,代码大模型(Code LLMs)不仅可以自动生成代码,还能够辅助代码审查、错误调试、代码补全等任务,从而大幅减少开发者在重复性劳动上的时间投入,让他们得以专注于创造本身。

不过,在面向代码的 LLMs 中,开源模型依然与最先进的专有模型存在较大差距,其主要原因在于这些专有模型的训练数据集通常为私有数据,限制了研究界在强基线模型构建和深入理解方面的能力。

为了弥补这一不足,来自墨尔本大学、复旦大学等高校的研究人员,联合无限光年推出了完全开放的代码大模型 OpenCoder。将开源代码 LLM 的性能提升至专有模型水平,同时也发布了完整的模型构建过程,旨在为代码 AI 研究的透明化和可重复性提供基础。

相关论文以《OpenCoder:顶级代码大型语言模型的开放手册》(OpenCoder: The Open Cookbook for Top-Tier Code Large Language Models)为题发表在预印本网站arXiv上 [1]。

研究团队的目标在于填补开源代码模型与商业化代码模型在性能与透明度上的空白,因此,团队在论文中提供了完整的可复现数据集与训练方法。

在最初的数据预处理方面,OpenCoder 采用了两类主要数据源:从 GitHub 的公开库中收集的原始代码以及来自 Web 数据库的代码相关的 Web 数据。

首先,研究团队排除了所有超过 8MB 的文件,这些大多数为非文本文件。此外,只保留特定编程语言的文件,这些语言通过文件扩展名进行识别,并参考 GitHub 的 linguist 工具,最终保留了 607 种编程语言文件,以保证数据的多样性和相关性。

为了确保数据多样性并减少偏差,OpenCoder 采用了精确去重和模糊去重的方法,通过 SHA256 哈希值对每个文档进行计算,去除完全相同的文件,同时利用 MinHash 和局部敏感哈希(LSH)方法进一步减少内容相似的文件。在数据清洗中,还去除了无关的版权声明和个人身份信息,并通过一系列启发式规则对数据进行过滤,以确保代码的质量。

为了最大程度利用高质量的数据集,OpenCoder 保留了原始数据的分布特征,但对部分高资源编程语言进行了下采样,例如将 Java 数据从 409GB 下采样至 200GB,将 HTML 数据从 213GB 下采样至 64GB,以减少无信息结构化内容的影响。最终,课题组预训练阶段生成了大约 730B 的 token。

对于与代码相关的 Web 数据,团队通过 Common Crawl 数据集进行高质量数据的抽取,结合 FastText 模型进行自动化的数据标注与筛选,并对域名进行相关性分析和手动注释,最终获取了 330GB 的高质量的网页代码数据集。

至于模型架构及其训练方面,OpenCoder 的 1.5B 参数和 8B 参数这两种规模的模型均采用标准的 Transformer 架构,注意力机制使用多头注意力,以增强对复杂代码结构的建模能力。此外,其采用了旋转位置编码(RoPE)以更好地处理长距离依赖关系,提高对上下文的理解能力。

图丨OpenCoder 的关键超参数概览(来源:arXiv)

然后,团队采用了 WSD(Warmup, Steady, Decay)学习率调度方法,以确保模型在不同训练阶段的稳定性和高效性。训练初期通过 2000 步的 warmup 阶段逐渐增加学习率,达到峰值后在稳定阶段保持较长时间,最后在退火阶段逐渐减少学习率,以实现模型的精细调优。

消融实验的结果说明,使用高质量数据进行退火可以显著提升模型在复杂编码任务中的表现,尤其是在计算预算有限的情况下,精心选择的高质量数据能够更有效地提高模型的效率和稳定性。

训练使用了 Megatron-LM 框架,在 512 个 H100 GPU 上进行分布式训练,以确保在大规模数据上的高效计算。训练 8B 模型的总时间约为 187.5 小时,总 GPU 时数为 96000 小时。

在 OpenCoder 的后训练阶段,团队首先从 Evol-Instruct、Infinity-Instruct 和 McEval-Instruct 等多个数据库中,通过多种语言的采样收集了大量开源的指令语料。接着,再从 WildChat 和 Code-290k-ShareGPT 等数据集中抽取真实用户查询,并使用 LLM 清洗数据,以去除低质量响应。

为进一步提升模型在指令理解和代码生成任务中的表现,OpenCoder 还进行了双阶段的指令微调,分别针对计算机科学理论和实际编码任务进行优化。

在第一阶段,团队重点合成了与计算机科学理论相关的问题-答案 (QA) 对,使模型能够更深入地理解算法、数据结构和网络等理论概念,由此让模型能更精准地回答关于二叉搜索树、动态规划和面向对象设计等主题的问题。第二阶段,研究人员则通过从 GitHub 提取的高质量代码数据集对模型进行微调,以提高其在实际的编码任务上的表现。

为了检验 OpenCoder 的能力,研究人员在多个基准上将它与其他流行的开源模型(如 StarCoder2 、Qwen2.5-Code 等)进行了比较,包括 HumanEval、MBPP 和 BigCodeBench,覆盖了代码生成、代码补全和代码理解等不同编码场景下的任务。结果表明,OpenCoder 在这些任务中始终表现优于这些模型。

例如,在 HumanEval 基准测试中,OpenCoder-8B 的 Pass@1 达到了 68.9%,超过了 StarCoder2-15B 的 46.3%。在 MBPP 基准测试中,OpenCoder-8B 的表现也达到了 79.9%,强于其他同类模型。

此外,在多语言代码生成评估 MultiPL-E 与综合多语言代码评估基准 McEval 中,其表现也同样突出,证实了其较为出色的多语言性能。

值得一提的是,研究团队还发现,使用 GitHub 星标作为数据过滤标准的模型比未使用此标准的模型在代码生成和代码补全任务中的成功率更高,这进一步验证了高质量数据源对模型性能的直接影响。再结合前述去重处理与退火等阶段的分析,这些结果揭示出数据处理、数据质量和训练流程中的关键因素对模型性能的影响。

总结而言,OpenCoder 作为一个完全开源的代码语言模型,不仅将开源代码模型的性能提升至商业化模型水平,也为研究界提供了一套透明、可复现的完整训练材料,有望推动对代码生成技术的进一步发展。

未来,研究团队将继续优化模型和数据,并通过不断地更新和用户反馈的融入,进一步提升模型的适应性和多样性。

相关代码与数据集已在 GitHub 开源(项目地址:https://opencoder-llm.github.io/)。

参考资料:

1. https://arxiv.org/abs/2411.04905

2. https://opencoder-llm.github.io/

排版:刘雅坤

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
莫言:你细心观察一下你的身边人,凡是动不动就生气的人,没有一个是智者,生活多半过得一团糟糕

莫言:你细心观察一下你的身边人,凡是动不动就生气的人,没有一个是智者,生活多半过得一团糟糕

每日一首古诗词
2026-06-18 06:32:18
四川泸州"花坛白骨案"一审将开庭 凶手逃亡28年

四川泸州"花坛白骨案"一审将开庭 凶手逃亡28年

看看新闻Knews
2026-07-09 22:47:40
为什么越来越多人从别墅搬回高层?过来人:别墅存在“4大硬伤”

为什么越来越多人从别墅搬回高层?过来人:别墅存在“4大硬伤”

補懂事的孩紙
2026-07-07 01:18:59
美国笑不出来了:中国正同时建造两艘航母,第四艘并不是核动力?

美国笑不出来了:中国正同时建造两艘航母,第四艘并不是核动力?

优趣纪史记
2026-07-09 21:12:12
俞敏洪也没想到,董宇辉会因广西洪灾后的一个举动,实现口碑暴涨

俞敏洪也没想到,董宇辉会因广西洪灾后的一个举动,实现口碑暴涨

观察者海风
2026-07-08 18:01:45
“达赖”和“班禅”到底哪个地位更高,谁才是真正的掌权者?

“达赖”和“班禅”到底哪个地位更高,谁才是真正的掌权者?

南书房
2026-07-01 19:20:06
美股芯片股普涨

美股芯片股普涨

每日经济新闻
2026-07-09 21:50:06
传iPhone 18 Pro Max机身将更厚重 或因其配备超大容量电池

传iPhone 18 Pro Max机身将更厚重 或因其配备超大容量电池

cnBeta.COM
2026-07-09 22:12:05
乌奈:我不认为自己会参加下届世界杯;我们的目标就是夺冠

乌奈:我不认为自己会参加下届世界杯;我们的目标就是夺冠

懂球帝
2026-07-09 06:25:12
假如日本当年没炸珍珠港,而是全力死磕中国,结局可能恰恰相反

假如日本当年没炸珍珠港,而是全力死磕中国,结局可能恰恰相反

锅锅爱历史
2026-05-30 16:18:33
上海明起受台风“巴威”外围影响,多阵雨,风力增大

上海明起受台风“巴威”外围影响,多阵雨,风力增大

上观新闻
2026-07-09 13:17:54
越南人调侃:从上学第一天起,“中国”就占据了我们历史课的80%

越南人调侃:从上学第一天起,“中国”就占据了我们历史课的80%

凡人侃史
2026-07-09 16:46:59
多名艺人发声讨债,点名某综艺导演拖欠录制报酬

多名艺人发声讨债,点名某综艺导演拖欠录制报酬

韩小娱
2026-07-09 15:53:14
孙葆洁:萨拉赫被抢断是双方自然接触,埃及犯规是因为先踩脚

孙葆洁:萨拉赫被抢断是双方自然接触,埃及犯规是因为先踩脚

懂球帝
2026-07-09 16:49:21
国务院840号令实施,八月全国退役军人统一享受48条同等优待

国务院840号令实施,八月全国退役军人统一享受48条同等优待

混沌录
2026-07-08 21:23:35
导游带外籍游客插队,女子劝阻反遭辱骂威胁,正脸曝光,网友怒批

导游带外籍游客插队,女子劝阻反遭辱骂威胁,正脸曝光,网友怒批

许三岁
2026-07-08 07:48:42
特朗普当面问泽连斯基:“你愿意去莫斯科吗”

特朗普当面问泽连斯基:“你愿意去莫斯科吗”

环球网资讯
2026-07-09 15:34:31
长沙市体育局通报“我局工作人员占用他人车位引发纠纷”:正会同公安、属地街道等单位对相关情况开展全面调查

长沙市体育局通报“我局工作人员占用他人车位引发纠纷”:正会同公安、属地街道等单位对相关情况开展全面调查

环球网资讯
2026-07-09 18:45:10
中国男篮23人新名单出炉!两位00后后卫成惊喜,郭士强太有魄力了

中国男篮23人新名单出炉!两位00后后卫成惊喜,郭士强太有魄力了

萌兰聊个球
2026-07-09 20:00:54
“巴威”登陆强度大、影响范围广、致灾性强 多部门会商防御工作

“巴威”登陆强度大、影响范围广、致灾性强 多部门会商防御工作

新京报
2026-07-09 11:46:10
2026-07-09 23:27:00
DeepTech深科技 incentive-icons
DeepTech深科技
麻省理工科技评论独家合作
16941文章数 515092关注度
往期回顾 全部

科技要闻

字节杀回来了!深度实测Seedream 5.0 Pro

头条要闻

福建鞋厂火灾有人悬吊在楼顶数秒坠下 目击者:很揪心

头条要闻

福建鞋厂火灾有人悬吊在楼顶数秒坠下 目击者:很揪心

体育要闻

王楚谈埃及判罚争议:足球没有绝对公平

娱乐要闻

陈翔发文“苍天饶过谁”登热搜,旧事再引关注

财经要闻

中国房地产十年

汽车要闻

悦己更悦人 阿维塔07L加长了更加上了豪华

态度原创

艺术
时尚
手机
家居
本地

艺术要闻

元代草书的“天花板”,水平超越赵孟頫!

裙子专场|| 今年夏天的“好身材”,就靠它了

手机要闻

大我HiBreak Dual 2规格公布:80FPS帧率、提供12/16GB RAM

家居要闻

2026建博会(广州) 公装联探展交流活动

本地新闻

重庆人有自己的避暑桃花源 | 夏天就去「酉」风的地方!

无障碍浏览 进入关怀版