Magicoder:用 OSS-Instruct 赋能代码生成
计算与语言
2024-06-10 v2 人工智能
软件工程
摘要
我们引入了 Magicoder,一系列完全开源(代码、权重和数据)的代码大型语言模型(LLM),在参数量不超过 7B 的情况下显著缩小了与顶级代码模型的差距。Magicoder 模型使用 OSS-Instruct 在 75K 合成指令数据上进行训练,OSS-Instruct 是一种用开源代码片段启发 LLM 以生成多样化代码指令数据的新方法。我们的主要动机是通过丰富的开源参考来减轻 LLM 生成的合成数据的固有偏差,从而生成更真实、更可控的数据。OSS-Instruct 与其他数据生成方法(如 Evol-Instruct)的正交性进一步使我们能够构建增强的 MagicoderS。Magicoder 和 MagicoderS 在广泛的编码基准上均大幅优于具有相似甚至更大规模的最先进代码模型。值得注意的是,基于 CodeLlama 的 MagicoderS-CL-7B 甚至在 HumanEval+ 上超越了著名的 ChatGPT(pass@1 为 66.5 对 65.9)。总体而言,OSS-Instruct 开辟了一个新方向,即利用丰富的开源参考为代码制作多样化的合成指令数据。
关键词
引用
@article{arxiv.2312.02120,
title = {Magicoder: Empowering Code Generation with OSS-Instruct},
author = {Yuxiang Wei and Zhe Wang and Jiawei Liu and Yifeng Ding and Lingming Zhang},
journal= {arXiv preprint arXiv:2312.02120},
year = {2024}
}
备注
Published at ICML 2024