中文

重新思考大语言模型在代码生成中的重复问题

计算与语言 2025-05-16 v1 人工智能 机器学习 软件工程

摘要

随着神经语言模型的出现,代码生成的性能得到了显著提升。然而,在生成过程中仍然存在重复问题。以往的工作主要关注内容重复,而这仅是代码生成中更广泛重复问题的一小部分。更普遍且具有挑战性的问题是结构重复。在结构重复中,重复的代码呈现出多种模式,但具有固定结构,这在语法层面上可以被本构化地反映出来。本文对结构重复进行形式化定义,提出一种高效解码方法称为RPG(Repetition Penalization based on Grammar),以缓解大语言模型在代码生成中的重复问题。具体而言,RPG首先利用语法规则在代码生成过程中识别重复问题,然后 strategically 衰减那些贡献于重复的关键标记的概率,从而在代码生成中减轻这些问题。为促进本研究,我们构建了一个新的基准数据集CodeRepetEval,用于全面评估缓解代码生成中重复问题的方法。大量实验结果表明,RPG在CodeRepetEval数据集以及HumanEval和MBPP基准测试中均显著优于最佳基线方法,有效减少重复并提升生成代码的质量。

关键词

引用

@article{arxiv.2505.10402,
  title  = {Rethinking Repetition Problems of LLMs in Code Generation},
  author = {Yihong Dong and Yuchen Liu and Xue Jiang and Zhi Jin and Ge Li},
  journal= {arXiv preprint arXiv:2505.10402},
  year   = {2025}
}

备注

Accepted to ACL 2025 (main)