中文

面向预训练代码模型的高效微调:实验研究及超越

软件工程 2023-04-12 v1 人工智能 计算与语言

摘要

近来,在下游任务上对 CodeBERT 等预训练代码模型进行微调,在许多软件测试与分析任务中取得了巨大成功。尽管有效且普遍,微调预训练参数会带来巨大的计算成本。本文开展广泛的实验研究,探究微调过程中逐层预训练表示及其编码的代码知识发生了什么变化。我们随后基于上述发现提出高效替代方案以微调大型预训练代码模型。我们的实验研究表明:(1) 源代码的词法、语法与结构属性分别编码于较低、中间与较高层,而语义属性跨越整个模型。(2) 微调过程保留了大部分代码属性。具体而言,较低与中间层所捕获的基本代码属性在微调期间仍被保留。此外,我们发现对于各类下游任务,仅最顶部两层的表示在微调中变化最大。(3) 基于上述发现,我们提出 Telly,通过层冻结高效微调预训练代码模型。在五个不同下游任务上的广泛实验结果表明,训练参数与相应时间成本大幅降低,而性能相近或更好。包含源代码、数据集与在线附录的复现包可在:\url{https://github.com/DeepSoftwareAnalytics/Telly} 获取。

关键词

引用

@article{arxiv.2304.05216,
  title  = {Towards Efficient Fine-tuning of Pre-trained Code Models: An Experimental Study and Beyond},
  author = {Ensheng Shi and Yanlin Wang and Hongyu Zhang and Lun Du and Shi Han and Dongmei Zhang and Hongbin Sun},
  journal= {arXiv preprint arXiv:2304.05216},
  year   = {2023}
}

备注

Accepted by ISSTA 2023 (The 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis)