中文

aiXcoder-7B:面向代码处理的轻量且高效大语言模型

计算与语言 2025-01-17 v3 人工智能 软件工程

摘要

大语言模型(LLM)已广泛用于代码补全,研究人员正致力于通过扩大LLM规模来提高其准确率。然而,更大的LLM会降低推理效率,影响开发人员的体验和生产力。本文提出一种用于代码补全的轻量且高效LLM,名为aiXcoder-7B。与现有LLM相比,aiXcoder-7B在保持较小规模(即70亿参数)的同时实现了更高的代码补全准确率。我们认为aiXcoder-7B的优势归因于三个关键因素:(1)多目标训练。我们采用三种训练目标,其中一种是我们提出的结构填充中间(Structured Fill-In-the-Middle, SFIM)。SFIM考虑代码中的语法结构,有效提高了LLM在代码方面的性能。(2)多样化的数据抽样策略。它们考虑文件之间的关系,增强了LLM理解跨文件上下文的能力。(3)广泛的高质量数据。我们建立了严格的数据收集管道,总计消耗1.2万亿个唯一token用于训练aiXcoder-7B。这巨大的数据量使aiXcoder-7B能够学习代码的广泛分布。我们在五个流行的代码补全基准测试以及本文收集的新基准测试中评估了aiXcoder-7B。结果表明,aiXcoder-7B超过了规模相似的最新六个LLM,甚至超越了四个更大的LLM(如StarCoder2-15B和CodeLlama-34B),将aiXcoder-7B定位为面向学术界和行业的轻量且高效LLM。最后,我们总结了帮助实践者训练下一代代码LLM的三个有价值的见解。aiXcoder-7B已开源并获得广泛关注。直到2025年1月,aiXcoder-7B已获得2,226个GitHub星。

关键词

引用

@article{arxiv.2410.13187,
  title  = {aiXcoder-7B: A Lightweight and Effective Large Language Model for Code Processing},
  author = {Siyuan Jiang and Jia Li and He Zong and Huanyu Liu and Hao Zhu and Shukai Hu and Erlu Li and Jiazheng Ding and Yu Han and Wei Ning and Gen Wang and Yihong Dong and Kechi Zhang and Ge Li},
  journal= {arXiv preprint arXiv:2410.13187},
  year   = {2025}
}

备注

(1) Accepted by the 47th International Conference on Software Engineering (ICSE 2025). (2) aiXcoder-7B is available at https://github.com/aixcoder-plugin/aiXcoder-7B