Mix-of-Language-Experts Architecture for Multilingual Programming
Large language models (LLMs) have demonstrated impressive capabilities in aiding developers with tasks like code comprehension, generation, and translation. Supporting multilingual programming—i.e., coding tasks across multiple programming languages)—typically requires either (1) finetuning a single LLM across all programming languages, which is cost-efficient but sacrifices language-specific specialization and performance, or (2) finetuning separate LLMs for each programming language, which allows for specialization but is computationally expensive and storage-intensive due to the duplication of parameters. This paper introduces MOLE (Mix-of-Language-Experts), a novel architecture that balances efficiency and specialization for multilingual programming. MOLE is composed of a base model, a shared LoRA (low-rank adaptation) module, and a collection of language-specific LoRA modules. These modules are jointly optimized during the finetuning process, enabling effective knowledge sharing and specialization across programming languages. During inference, MOLE dynamically routes to the language-specific LoRA module corresponding to the programming language of the code token being generated. Our experiments demonstrate that MOLE achieves greater parameter efficiency compared to training separate language-specific LoRAs, while outperforming a single shared LLM finetuned for all programming languages in terms of accuracy.