Magicoder: Source Code Is All You Need

2023年12月04日
  • 简介
    我们介绍了Magicoder,这是一系列完全开源(代码、权重和数据)的大型语言模型(LLM),用于代码,它显著缩小了与顶级代码模型之间的差距,同时最多只有7B个参数。Magicoder模型使用OSS-Instruct进行训练,该方法是一种新颖的方法,使用开源代码片段来生成高质量的指令数据,以启发LLM。我们的主要动机是通过赋予LLM丰富的开源参考资料来缓解合成数据固有的偏见,以生成更多样化、更真实、更可控的数据。OSS-Instruct与Evol-Instruct等其他数据生成方法的正交性进一步使我们能够构建增强的MagicoderS。Magicoder和MagicoderS在广泛的编码基准测试中都显著优于具有类似或更大规模的最先进代码模型,包括Python文本到代码生成、多语言编码和数据科学程序完成。值得注意的是,基于CodeLlama的MagicoderS-CL-7B甚至在HumanEval+上超过了著名的ChatGPT(pass@1中的66.5 vs. 65.9)。总的来说,OSS-Instruct为使用丰富的开源参考资料进行低偏差和高质量指令调整开辟了新的方向。
  • 图表
  • 解决问题
    Magicoder试图解决在代码生成中存在的数据偏见问题,通过使用开源代码片段生成高质量指令数据来提高数据的多样性和真实性。
  • 关键思路
    Magicoder使用OSS-Instruct方法,即使用开源代码片段来生成指令数据,从而提高数据的多样性和真实性,进而提高模型性能。
  • 其它亮点
    Magicoder是完全开源的,包括代码、权重和数据。Magicoder和MagicoderS在多项编码基准测试中表现优异,甚至超过了同等或更大规模的最先进的代码模型。论文还提出了Evol-Instruct方法,进一步提高了模型的性能。使用CodeLlama数据集的MagicoderS-CL-7B甚至在HumanEval+测试中超过了ChatGPT。
  • 相关研究
    与本文相关的研究包括CodeBERT、GPT等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论