MultiCoder:面向低资源代码补全的多编程语言预训练
计算与语言
2022-12-20 v1
摘要
代码补全是学术界和工业界均极具价值的研究课题。近期,大规模单编程语言(MonoPL)预训练模型已被提出以提升代码补全的性能。然而,对于数据驱动的范式而言,低资源编程语言(PL)的代码补全十分困难,而使用低资源编程语言的开发者却不在少数。另一方面,鲜有研究探索多编程语言(MultiPL)预训练对代码补全的影响,尤其是对低资源编程语言的影响。为此,我们提出 MultiCoder,通过多编程语言预训练和多编程语言混合专家(MoE)层来增强低资源代码补全。我们进一步提出一种新颖的编程语言级 MoE 路由策略(PL-MoE),以提升所有编程语言的代码补全效果。在 CodeXGLUE 和 MultiCC 上的实验结果表明:1)所提出的 MultiCoder 在低资源编程语言上显著优于单编程语言基线模型;2)PL-MoE 模块进一步提升了在六种编程语言上的性能。此外,我们详细分析了所提方法的效果,并探索了该方法在多种场景下的有效性。
引用
@article{arxiv.2212.09666,
title = {MultiCoder: Multi-Programming-Lingual Pre-Training for Low-Resource Code Completion},
author = {Zi Gong and Yinpeng Guo and Pingyi Zhou and Cuiyun Gao and Yasheng Wang and Zenglin Xu},
journal= {arXiv preprint arXiv:2212.09666},
year = {2022}
}