Can Programming Languages Boost Each Other via Instruction Tuning?
Authors: name: Daoguang Zan; name: Ailun Yu; name: Bo Shen; name: Jiaxin Zhang; name: Taihong Chen; name: Bing Geng; name: Bei Chen; name: Jichuan Ji; name: Yafen Yao; name: Yongji Wang; name: Qianxiang Wang
Published: 2023-08-31 15:53:51

Abstract: 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.