精简代码有益健康:面向代码预训练模型的程序简化
软件工程
2022-11-22 v5
摘要
CodeBERT 等预训练代码表示模型在多种软件工程任务中展现出优越性能,但其复杂度常随输入序列长度呈二次增长。我们对 CodeBERT 注意力的实证分析表明,CodeBERT 更关注特定类型的词元与语句,如关键字和数据相关语句。基于这些发现,我们提出 DietCode,旨在轻量地利用大型预训练代码模型。DietCode 通过三种策略简化 CodeBERT 的输入程序,即词丢弃、频率过滤以及一种基于注意力的策略——该策略选取预训练期间获得最高注意力权重的语句与词元。由此,它在不损害模型性能的前提下大幅降低计算成本。在两个下游任务上的实验结果表明,DietCodeBERT 以微调与测试阶段少 40% 的计算成本提供了与 CodeBERT 相当的结果。
引用
@article{arxiv.2206.14390,
title = {Diet Code Is Healthy: Simplifying Programs for Pre-trained Models of Code},
author = {Zhaowei Zhang and Hongyu Zhang and Beijun Shen and Xiaodong Gu},
journal= {arXiv preprint arXiv:2206.14390},
year = {2022}
}
备注
Accepted to be published in ESEC/FSE 2022