中文

ClassEval:用于评估 LLM 类级别代码生成的手动构建基准

计算与语言 2023-08-15 v2 人工智能

摘要

在本工作中,我们首次尝试在更具挑战性的代码生成场景(即类级别代码生成)中评估 LLM。我们首先以约 500 人工小时手动构建了首个类级别代码生成基准 ClassEval,包含 100 个类级别 Python 代码生成任务。基于此,我们随后对 11 个最先进的 LLM 在类级别代码生成上进行了首次研究。根据我们的结果,我们有以下主要发现。首先,我们发现所有现有 LLM 在类级别代码生成上的表现均远差于在 HumanEval 等独立方法级代码生成基准上的表现;且方法级编码能力不能等效反映 LLM 间的类级别编码能力。其次,我们发现 GPT-4 与 GPT-3.5 在类级别代码生成上仍表现出优于其他 LLM 的主导性,第二梯队模型包括 Instruct-Starcoder、Instruct-Codegen 和 Wizardcoder,性能非常接近。第三,我们发现一次性生成整个类(即整体生成策略)仅对 GPT-4 和 GPT-3.5 是最佳生成策略,而逐方法生成(即增量与组合式)对于其他理解长指令和利用中间信息能力有限的模型是更好的策略。最后,我们发现模型生成方法依赖代码的能力有限,并讨论了生成类中常见的错误类型。我们的基准可在 https://github.com/FudanSELab/ClassEval 获取。

关键词

引用

@article{arxiv.2308.01861,
  title  = {ClassEval: A Manually-Crafted Benchmark for Evaluating LLMs on Class-level Code Generation},
  author = {Xueying Du and Mingwei Liu and Kaixin Wang and Hanlin Wang and Junwei Liu and Yixuan Chen and Jiayi Feng and Chaofeng Sha and Xin Peng and Yiling Lou},
  journal= {arXiv preprint arXiv:2308.01861},
  year   = {2023}
}