中文

RepoQA:评估长上下文代码理解能力

软件工程 2024-06-11 v1 计算与语言 机器学习

摘要

近期进展不断改善大语言模型(LLM)的上下文窗口。为了量化LLM的真实长上下文能力,研究者开发了诸如流行的“大海捞针”等评估器,用于在大量原始文本上测试LLM。这些方法虽然有效,但忽略了LLM如何处理长上下文代码(即代码仓库)的洞察。为此,我们提出了RepoQA基准测试,用于评估LLM在长上下文代码理解方面的表现。传统的“捞针”测试要求LLM直接从上下文中检索答案,无需必要的深度理解。在RepoQA中,我们构建了初始任务,即搜索目标函数(SNF),该任务要求LLM根据自然语言描述搜索函数——也就是说,如果LLM无法理解描述和代码,就无法找到所需函数。RepoQA是多语言且全面的:它包含500个代码搜索任务,这些任务来自5种现代编程语言的50个流行代码仓库。通过在RepoQA上评估26个通用和代码专用LLM,我们展示了:(i) 最佳开源模型与专有模型之间仍存在微小差距;(ii) 不同模型擅长不同语言;(iii) 模型在没有注释的情况下可能更好地理解代码。

关键词

引用

@article{arxiv.2406.06025,
  title  = {RepoQA: Evaluating Long Context Code Understanding},
  author = {Jiawei Liu and Jia Le Tian and Vijay Daita and Yuxiang Wei and Yifeng Ding and Yuhan Katherine Wang and Jun Yang and Lingming Zhang},
  journal= {arXiv preprint arXiv:2406.06025},
  year   = {2024}
}