- 简介在过去的几年中,我们见证了代码预训练模型(CodePTMs)方面的显著进展。这些模型通过为代码设计基于结构的预训练任务,实现了出色的表示能力。然而,在微调CodePTMs时如何增强结构知识的吸收仍然是一个重大挑战。为了填补这一空白,本文提出了一种新的结构增强和即插即用的CodePTMs微调方法——结构感知微调(SAT)。我们首先提出了一个结构损失来量化CodePTMs学到的信息和从代码结构中提取的知识之间的差异。具体地,我们使用从Transformer层提取的注意力分数作为学习到的结构信息,使用抽象语法树中叶子节点之间的最短路径长度作为结构知识。随后,引入多任务学习来提高微调的性能。在四个预训练模型和两个生成任务上进行的实验表明,我们提出的方法作为即插即用的解决方案是有效的。此外,我们观察到在有限的训练数据下,SAT可以更好地提高CodePTMs的性能。
-
- 图表
- 解决问题论文旨在解决CodePTMs fine-tuning中如何增强结构知识吸收的问题。
- 关键思路提出了一种结构增强的plug-and-play fine-tuning方法,使用Transformer层中的注意力得分作为学习到的结构信息,使用抽象语法树中叶子节点之间的最短路径长度作为结构知识,并引入多任务学习来提高fine-tuning的性能。
- 其它亮点实验结果表明该方法在四个预训练模型和两个生成任务上都表现出了有效性,尤其在有限的训练数据下更为明显。该论文的亮点包括提出了一种新的结构增强方法,使用了多任务学习,实验设计合理,论文提供了开源代码。
- 该领域的相关研究包括CodePTMs的预训练方法,以及fine-tuning方法的改进。例如,CodeBERT和RoBERTa for Code都是常见的预训练模型,而本论文提出的SAT方法则是一种新的fine-tuning方法。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流