为了检验 OpenCoder 的代码生成能力,研究团队在多个基准上将它与其他流行的开源模型(如 StarCoder2 、Qwen2.5-Coder 等)进行了比较,包括 HumanEval、MBPP、BigCodeBench 和 LiveCodeBench。结果表明,OpenCoder 在这些评估中达到了开源模型的一流水准。此外,在多语言代码生成评估基准 MultiPL-E ,综合多语言代码评...
OpenCoder构建了RefineCode数据集用于预训练,RefineCode主要包含两部分数据:raw code和code-related web data。raw code主要来自github(截至2023年11月),并从The Stack V2数据集中补充非github数据;而code-related web data则从web语料库抽取。 RefineCode和The Stack数据集的对比如下,RefineCode包含了更多的code-related...
OpenCoder 同样从 Common Crawl 数据集中收集高质量代码相关数据,通过三轮 FastText 训练、召回、手工网页标注,最终成功获取了 330G 代码相关网页数据。 OpenCoder 采用了 WSD(Warmup, Steady, Decay)学习率调度策略,以在不同训练阶段中确保模型的稳定性与高效性。在训练初期,模型通过 2000 步的 warmup 阶段逐步提升...
不同于大多数以往的工作,OpenCoder 不仅公开了模型权重和推理代码,还提供了可重复的训练数据、完整的数据处理流程、严谨的实验消融结果以及详细的训练细节,为科学研究开放了全面的资源。 研究团队发现构建高质量 CodeLLM 的关键因素有:(1) 数据质量至关重要,代码预训练数据需要精细的启发式规则清洗与文件粒度的去重(2...
为了检验 OpenCoder 的能力,研究人员在多个基准上将它与其他流行的开源模型(如 StarCoder2 、Qwen2.5-Code 等)进行了比较,包括 HumanEval、MBPP 和 BigCodeBench,覆盖了代码生成、代码补全和代码理解等不同编码场景下的任务。结果表明,OpenCoder 在这些任务中始终表现优于这些模型。
OpenCoder 模型在 HumanEval、MBPP 两主流模型评估任务上显著超过了现有开源模型,验证了其数据处理流程与合成数据的有效性。 为了检验 OpenCoder 的代码生成能力,研究团队在多个基准上将它与其他流行的开源模型(如 StarCoder2 、Qwen2.5-Coder 等)进行了比较,包括 HumanEval、MBPP、BigCodeBench 和 LiveCodeBench。结果...
OpenCoder的模型结构与Llama 3.1非常相似,性能上可以媲美Qwen 2.5 Coder 7B、Yi Coder 9B以及StarCoder 2 15B等模型。与大多数先前的工作不同,OpenCoder不仅发布了模型权重和推理代码,还公开了训练数据、数据处理流程、实验消融结果和详细的训练协议,极大地促进了开放科学研究。
研究团队推出了 OpenCoder,这是一系列能力达到第一梯队的 CodeLLM,不仅在性能上可与领先模型媲美,还为研究社区提供了全方面的构建细节。 本文的共同第一作者是墨尔本大学计算机科学硕士黄思明和复旦大学计算机科学硕士程天豪。OpenCoder 项目是二人在 INF 实习期间与 M-A-P 开源项目合作的成果,由 INF 主导,M-A-P ...
为了提高数据合成质量,OpenCoder采用多策略: 1. 指令数据来源多样化:从Evol-Instruct、Infinity-Instruct和McEval等网站收集开放源代码指令数据,并通过语言抽样和LLM二元分类,提升数据多样性和实用性。 2. 高质量种子数据:利用评分模型筛选代码片段,确保只有高质量数据用于合成指令调优数据集,提升合成数据语法和语义可靠性,...
OpenCoder 模型在 HumanEval、MBPP 两主流模型评估任务上显著超过了现有开源模型,验证了其数据处理流程与合成数据的有效性。 为了检验 OpenCoder 的代码生成能力,研究团队在多个基准上将它与其他流行的开源模型(如 StarCoder2 、Qwen2.5-Coder 等)进行了比较,包括 HumanEval、MBPP、BigCodeBench 和 LiveCodeBench。结果...