¿Pueden los lenguajes de programación potenciarse mutuamente mediante el ajuste por instrucciones?
Can Programming Languages Boost Each Other via Instruction Tuning?
August 31, 2023
Autores: Daoguang Zan, Ailun Yu, Bo Shen, Jiaxin Zhang, Taihong Chen, Bing Geng, Bei Chen, Jichuan Ji, Yafen Yao, Yongji Wang, Qianxiang Wang
cs.AI
Resumen
Cuando los programadores humanos dominan un lenguaje de programación, les resulta más fácil aprender un nuevo lenguaje de programación. En este informe, nos centramos en explorar si los lenguajes de programación pueden potenciarse mutuamente durante la fase de ajuste fino por instrucción de los modelos de lenguaje de gran escala para código. Realizamos experimentos exhaustivos con 8 lenguajes de programación populares (Python, JavaScript, TypeScript, C, C++, Java, Go, HTML) en StarCoder. Los resultados demuestran que los lenguajes de programación pueden mejorarse significativamente entre sí. Por ejemplo, CodeM-Python 15B, entrenado en Python, es capaz de aumentar el rendimiento de Java en un 17.95% absoluto en pass@1 en HumanEval-X. Más sorprendentemente, descubrimos que CodeM-HTML 7B, entrenado en el corpus de HTML, puede mejorar Java en un 15.24% absoluto en pass@1. Nuestros datos de entrenamiento están disponibles en https://github.com/NL2Code/CodeM.
English
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.