中文

EpiCoder:包容代码生成中的多样性与复杂性

计算与语言 2025-10-10 v3 人工智能

摘要

现有代码生成方法使用代码片段作为种子数据,限制了合成数据的复杂度和多样性。本文引入一种基于特征树的合成框架,围绕从代码高级抽象中派生的层次化代码特征展开。特征树从原始数据中构建,并经过迭代细化,以增加提取特征的数量和多样性,从而捕捉并识别代码中更复杂的模式和关系。通过调整采样子树的深度和宽度,我们的框架对生成代码的复杂度提供了精确控制,使其能够实现从函数级操作到多文件场景的各种功能。我们对广泛使用的基础模型进行微调,以获得EpiCoder系列模型,在多个基准测试中在函数和文件级别实现了最先进的性能。特别是,实证证据表明,我们的方法在存储库级代码数据合成方面显示出显著的潜力。我们的代码和数据已公开发布于https://github.com/microsoft/EpiCoder。

关键词

引用

@article{arxiv.2501.04694,
  title  = {EpiCoder: Encompassing Diversity and Complexity in Code Generation},
  author = {Yaoxiang Wang and Haoling Li and Xin Zhang and Jie Wu and Xiao Liu and Wenxiang Hu and Zhongxin Guo and Yangyu Huang and Ying Xin and Yujiu Yang and Jinsong Su and Qi Chen and Scarlett Li},
  journal= {arXiv preprint arXiv:2501.04694},
  year   = {2025}
}

备注

ICML 2025