面向预训练编程语言模型的与模型无关的句法信息
软件工程
2023-03-14 v1
摘要
预训练编程语言模型(PPLMs)在许多代码相关的软件工程任务中取得了近期多项最优结果。尽管一些研究使用数据流或提出利用抽象语法树(AST)的基于树的模型,大多数 PPLMs 并未充分利用源代码丰富的句法信息。输入仍被视为 token 序列。这存在两个问题:其一是由于输入长度与注意力复杂度之间的二次关系导致的计算低效;其二是当需要将任何句法信息作为当前 PPLMs 的额外输入时,必须从零开始预训练模型,浪费了已用于预训练当前模型的所有计算资源。在本工作中,我们提出命名实体识别(NER)适配器,即可插入 Transformer 模块以学习从 AST 提取的类型信息的轻量级模块。这些适配器可与当前的 PPLMs(如 CodeBERT、GraphCodeBERT 和 CodeT5)配合使用。我们使用一种新颖的 Token 类型分类目标函数(TTC)训练 NER 适配器。我们将所提工作插入 CodeBERT 中,构建 CodeBERTER,并在代码精化与代码摘要两项任务上评估性能。与全微调方法相比,CodeBERTER 在仅使用 20% 训练参数预算的情况下将代码精化准确率从 16.4 提升至 17.8,并在减少 77% 训练参数的情况下将代码摘要的 BLEU 分数从 14.75 提升至 15.90。
引用
@article{arxiv.2303.06233,
title = {Model-Agnostic Syntactical Information for Pre-Trained Programming Language Models},
author = {Iman Saberi and Fatemeh H. Fard},
journal= {arXiv preprint arXiv:2303.06233},
year = {2023}
}
备注
11 pages, 5 Figures, Has been accepted on ICSE 2023