中文

LLM 代码智能任务中何种上下文演示为佳?

软件工程 2024-01-11 v2

摘要

源代码预训练模型已在众多代码智能任务中广受欢迎。近来,随着模型与语料规模扩大,大语言模型(LLM)展现出上下文学习(ICL)能力。ICL 利用任务指令与若干示例作为演示,再将演示输入语言模型以进行预测。这一新学习范式无需训练,并在各类自然语言处理与代码智能任务中表现出令人印象深刻的性能。然而,ICL 的性能严重依赖演示质量,如所选示例。系统性探究如何为代码相关任务构建良好演示十分重要。本文中,我们从经验上探索三个关键因素对代码智能任务中 ICL 性能的影响:演示示例的选择、顺序与数量。我们在代码摘要、缺陷修复与程序合成三个代码智能任务上开展广泛实验。实验结果表明,上述三因素均剧烈影响代码智能任务中 ICL 的性能。此外,我们总结发现并给出关于如何从这三方面构建有效演示的建议。我们还展示,基于我们发现精心设计的演示相较广泛使用的演示构建方法可带来显著提升,例如在代码摘要、缺陷修复与程序合成上分别至少提升 BLEU-4、EM 与 EM 达 9.90%、175.96% 与 50.81%。

关键词

引用

@article{arxiv.2304.07575,
  title  = {What Makes Good In-context Demonstrations for Code Intelligence Tasks with LLMs?},
  author = {Shuzheng Gao and Xin-Cheng Wen and Cuiyun Gao and Wenxuan Wang and Hongyu Zhang and Michael R. Lyu},
  journal= {arXiv preprint arXiv:2304.07575},
  year   = {2024}
}

备注

This paper is accepted by ASE 2023