CLDec 19, 2022

MultiCoder: Multi-Programming-Lingual Pre-Training for Low-Resource Code Completion

arXiv:2212.09666v110 citationsh-index: 34
Originality Incremental advance
AI Analysis

It addresses the problem of code completion for developers using low-resource programming languages, representing an incremental improvement over existing methods.

The paper tackles code completion for low-resource programming languages by proposing MultiCoder, a multi-programming-lingual pre-training model with mixture-of-experts layers, which significantly outperforms mono-lingual baselines on low-resource languages and boosts performance across six languages.

Code completion is a valuable topic in both academia and industry. Recently, large-scale mono-programming-lingual (MonoPL) pre-training models have been proposed to boost the performance of code completion. However, the code completion on low-resource programming languages (PL) is difficult for the data-driven paradigm, while there are plenty of developers using low-resource PLs. On the other hand, there are few studies exploring the effects of multi-programming-lingual (MultiPL) pre-training for the code completion, especially the impact on low-resource programming languages. To this end, we propose the MultiCoder to enhance the low-resource code completion via MultiPL pre-training and MultiPL Mixture-of-Experts (MoE) layers. We further propose a novel PL-level MoE routing strategy (PL-MoE) for improving the code completion on all PLs. Experimental results on CodeXGLUE and MultiCC demonstrate that 1) the proposed MultiCoder significantly outperforms the MonoPL baselines on low-resource programming languages, and 2) the PL-MoE module further boosts the performance on six programming languages. In addition, we analyze the effects of the proposed method in details and explore the effectiveness of our method in a variety of scenarios.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes