ALPINE:面向代码语言模型的自适应语言无关剪枝方法
软件工程
2025-02-12 v2
摘要
代码语言模型在 various software engineering 和 source code分析任务中展现了领先性能。然而,其对计算资源的严格需求以及随之而来的环境足迹,仍是显著挑战。本文引入 ALPINE,这是一种自适应编程语言无关剪枝技术,旨在大幅降低这些模型的计算开销。该方法提供了一个可插拔的层,可集成到所有基于 Transformer 的模型中。通过 ALPINE,输入序列在整个管道过程中进行自适应压缩,最终缩小至初始大小的 ,显著降低计算负载。我们在两个软件工程任务(缺陷预测和代码克隆检测)上对三种语言模型 CodeBERT、GraphCodeBERT 和 UniXCoder 进行实验,结果显示 ALPINE 在 FLOPs 上降低最高可达 50%,内存占用降低 58.1%,吞吐量提升 28.1%。这导致 CO2 排放降低最高可达 。重要的是,在保持最高可达 98.1% 原有预测性能的前提下,ALPINE 实现了计算资源的降低。这一发现凸显了 ALPINE 在使代码语言模型更具资源效率、更易于获取的潜力,同时保持其性能,从而促进了软件开发中采用语言模型的整体可持续性。此外,ALPINE 所实现的显著序列压缩也揭示了源代码分析语料库中冗余和噪声信息。
关键词
引用
@article{arxiv.2407.04147,
title = {ALPINE: An adaptive language-agnostic pruning method for language models for code},
author = {Mootez Saad and José Antonio Hernández López and Boqi Chen and Dániel Varró and Tushar Sharma},
journal= {arXiv preprint arXiv:2407.04147},
year = {2025}
}
备注
Accepted to the The ACM International Conference on the Foundations of Software Engineering (FSE) (FSE 2025)