- 简介如何评估大型语言模型(LLMs)在代码生成方面的表现是一个开放性问题。现有的基准测试与真实世界的代码库存在严重不对齐,并且不足以评估LLMs的编码能力。本文提出了一个新的基准测试——EvoCodeBench,以解决上述问题,并具有三个主要优点。 (1)EvoCodeBench在多个维度上与真实世界的代码库相对齐,例如代码分布和依赖分布。 (2)EvoCodeBench提供全面的注释(例如要求、参考代码和参考依赖项)和强大的评估指标(例如Pass@k和Recall@k)。 (3)EvoCodeBench是一个不断发展的基准测试,以避免数据泄漏。我们建立了一个自动流水线来从最新的代码库更新EvoCodeBench。我们发布了第一个版本——EvoCodeBench-2403,其中包含来自25个真实世界代码库的275个样本。基于EvoCodeBench,我们提出了基于代码库的代码生成,并评估了10个流行的LLMs(例如gpt-4、gpt-3.5、DeepSeek Coder、StarCoder 2、CodeLLaMa、Gemma和Qwen 1.5)。我们的实验揭示了这些LLMs在真实世界代码库中的编码能力。例如,在我们的实验中,gpt-4的最高Pass@1仅为20.73%。我们还分析了失败的案例,并总结了现有LLMs在EvoCodeBench中的缺点。我们发布EvoCodeBench、所有提示和LLMs的完成情况,以供社区进一步分析。
- 图表
- 解决问题提出了一个新的基准测试标准EvoCodeBench,旨在解决现有的代码生成模型评估标准与实际代码库不匹配的问题。同时,通过对10个流行的LLMs进行评估,揭示了它们在实际代码库中的编码能力。
- 关键思路EvoCodeBench基准测试标准具有多个方面的实际代码库对齐,包括代码分布和依赖分布,提供了全面的注释和强大的评估指标,并通过自动更新管道保持最新,以避免数据泄漏。
- 其它亮点EvoCodeBench-2403版本包含25个真实代码库中的275个样本,通过实验发现当前流行的LLMs在实际代码库中的编码能力存在不足,最高的Pass@1只有20.73%。该论文开源了EvoCodeBench基准测试标准、所有提示和LLMs的完成情况,以供社区进一步分析。
- 近期相关研究包括《CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing》、《Deep Code Comment Generation》等。
沙发等你来抢
去评论
评论
沙发等你来抢