摘要
arXiv:2502.06193v1 交叉公告类型
摘要:最近,大型语言模型(LLMs)被部署到诸如代码生成等各种软件工程(SE)任务中,显著推进了SE任务的自动化。然而,评估这些LLM生成的代码和文本的质量仍然颇具挑战性。常用的Pass@k指标要求进行大量的单元测试和配置环境,需要高昂的人力成本,并且不适用于评估LLM生成的文本。传统的衡量标准如BLEU,仅衡量词汇相似性而非语义相似性,也受到了质疑。为应对这一问题,一种新的趋势是利用LLM进行自动化评估,即LLM-as-a-judge。这些LLM-as-a-judge方法声称可以在无需高质量参考答案的情况下,比传统衡量标准更接近于人类评估。然而,它们在SE任务中的确切人类一致性仍未被探索。在本文中,我们实证研究了LLM-as-a-judge方法在SE任务评估中的应用,重点考察了其与人类判断的一致性。我们选择了七种利用通用LLM的LLM-as-a-judge方法,以及两种专门为评估进行微调的LLM。在对三个近期的SE数据集(代码翻译、代码生成和代码总结)生成和手动评分LLM响应之后,我们要求这些方法评估每个响应。最后,我们将这些方法生成的分数与人类评估进行比较。结果表明,基于输出的方法在代码翻译和生成上的皮尔逊相关系数分别为81.32和68.51,达到了近乎人类的评估水平,显著优于最佳传统衡量标准ChrF++在代码翻译和生成上的得分34.23和64.92。这种基于输出的方法促使LLM直接输出判断,并展现出更为平衡的分数分布,更贴近人类评分模式。最后,我们提供了...