SparseCoder:结合稀疏注意力与可学习令牌剪枝推进源代码分析
软件工程
2024-09-13 v2
摘要
随着软件项目快速演进,软件制品变得愈发复杂,其背后的缺陷也更难识别。新兴的基于Transformer的方法虽取得了卓越性能,却因其自注意力机制(随序列长度呈二次方扩展)而难以处理长代码序列。本文提出SparseCoder,一种融合稀疏注意力与可学习令牌剪枝(LTP)方法(改编自自然语言处理)的创新方案,以应对该局限。相较此前最先进的模型CodeBERT、RoBERTa与CodeT5,我们的实验表明SparseCoder能处理显著更长的输入序列——在硬件资源与数据统计量限制下至少长达两倍。此外,SparseCoder在运行时间上比其他方法快四倍,相较使用稀疏注意力的Transformer(Sparse Atten)实现了每秒浮点运算数(FLOPs)降低50%,而性能下降可忽略(小于1%)。绘制模型推理FLOPs随令牌长度的变化曲线显示,SparseCoder呈线性扩展,而其他方法(包括当前最先进模型CodeT5)呈二次方扩展。而且,SparseCoder通过逐层可视化非平凡令牌增强了可解释性。
引用
@article{arxiv.2310.07109,
title = {SparseCoder: Advancing Source Code Analysis with Sparse Attention and Learned Token Pruning},
author = {Xueqi Yang and Mariusz Jakubowski and Li Kang and Haojie Yu and Tim Menzies},
journal= {arXiv preprint arXiv:2310.07109},
year = {2024}
}
备注
34 pages, 9 figures, pre-print