中文

从小规模本地数据集学习代码摘要

软件工程 2022-06-03 v1 机器学习

摘要

基础模型(例如 CodeBERT、GraphCodeBERT、CodeT5)在许多软件工程任务上表现良好。这些模型使用数十亿代码词元进行预训练(自监督),随后用通常抽取自多个项目的数十万标注样本进行微调。然而,软件现象可能极具项目特异性。词汇表及其他现象随每个项目而有显著差异。因此,在项目特定数据上训练并在同一项目上测试是一个有前景的思路。该假设须谨慎评估,例如在时间序列设定中,以防止训练-测试泄漏。我们比较了若干模型与训练方法,包括同项目训练、跨项目训练、训练一个专为样本高效而设计(因而表面上非常适于有限样本同项目设定下的学习)的模型,以及一种最大化混合方法——先在多语言多项目上微调,再在同项目上训练。我们发现,在 Java 与 Python 的多个不同项目上,最大化混合设定相较最先进水平带来了持续且显著的提升。

关键词

引用

@article{arxiv.2206.00804,
  title  = {Learning code summarization from a small and local dataset},
  author = {Toufique Ahmed and Premkumar Devanbu},
  journal= {arXiv preprint arXiv:2206.00804},
  year   = {2022}
}