Can Programming Languages Boost Each Other via Instruction Tuning?
This addresses the problem of efficient multi-language code generation for developers, showing incremental gains in cross-lingual transfer.
The study investigates whether instruction tuning on one programming language can improve a code large language model's performance on another language, finding significant cross-language boosts, such as a 17.95% absolute increase in pass@1 for Java after training on Python.
When human programmers have mastered a programming language, it would be easier when they learn a new programming language. In this report, we focus on exploring whether programming languages can boost each other during the instruction fine-tuning phase of code large language models. We conduct extensive experiments of 8 popular programming languages (Python, JavaScript, TypeScript, C, C++, Java, Go, HTML) on StarCoder. Results demonstrate that programming languages can significantly improve each other. For example, CodeM-Python 15B trained on Python is able to increase Java by an absolute 17.95% pass@1 on HumanEval-X. More surprisingly, we found that CodeM-HTML 7B trained on the HTML corpus can improve Java by an absolute 15.24% pass@1. Our training data is released at https://github.com/NL2Code/CodeM.