变换模型对不同长度代码补全的可泛化性研究
软件工程
2025-01-10 v1
摘要
编程世界正被大型语言模型(Large Language Models, LLMs)所重塑,这些模型能够自动化与代码实现相关的任务(如代码补全)以及代码理解相关的任务(如代码摘要)。这种范式转变带来了诸多影响,关于软件将如何编写、维护和演变都有所涉及。此外,这些 LLM 的训练成本极高,引发了其长期可持续性的问题。鉴于其训练成本,这些模型的可泛化性——即其在与训练时不同实例上的工作能力——值得进行调查。以前的工作已经表明,变换模型可以在跨项目设置中成功支持代码补全。然而,是否能够对长度未见过的输入进行泛化尚不清楚。例如,已知在短实例上训练模型可显著降低训练成本,但这种模型在处理训练时未见过的长度序列时是否能提供良好性能尚未知晓。近期许多自然语言处理(NLP)领域的工作针对解码器-only LLM 解决了这个问题,包括 xPOS 和 ALiBi。为了评估这些解决方案是否适用于通常用于代码相关任务的编码器-解码器 LLM,我们提出了一项大型实证研究,评估了这些和其他编码方案(包括 Sinusoidal、xPOS、ALiBi 和 T5)的泛化能力。我们发现,这些解决方案都未能成功地针对未见长度进行泛化,唯一安全的解决方案是确保训练集中代表了推理时可能遇到的所有长度。
引用
@article{arxiv.2501.05051,
title = {On the Generalizability of Transformer Models to Code Completions of Different Lengths},
author = {Nathan Cooper and Rosalia Tufano and Gabriele Bavota and Denys Poshyvanyk},
journal= {arXiv preprint arXiv:2501.05051},
year = {2025}
}
备注
Accepted for publication at ICSME 2024