Les langages de programmation peuvent-ils s'améliorer mutuellement via l'ajustement par instructions ?
Can Programming Languages Boost Each Other via Instruction Tuning?
August 31, 2023
Auteurs: Daoguang Zan, Ailun Yu, Bo Shen, Jiaxin Zhang, Taihong Chen, Bing Geng, Bei Chen, Jichuan Ji, Yafen Yao, Yongji Wang, Qianxiang Wang
cs.AI
Résumé
Lorsque les programmeurs humains maîtrisent un langage de programmation, il leur est plus facile d'en apprendre un nouveau. Dans ce rapport, nous nous concentrons sur l'exploration de la possibilité que les langages de programmation puissent s'entraider pendant la phase de réglage fin par instruction des grands modèles de langage pour le code. Nous menons des expériences approfondies sur 8 langages de programmation populaires (Python, JavaScript, TypeScript, C, C++, Java, Go, HTML) avec StarCoder. Les résultats démontrent que les langages de programmation peuvent s'améliorer mutuellement de manière significative. Par exemple, CodeM-Python 15B, entraîné sur Python, est capable d'augmenter les performances de Java de 17,95% en pass@1 absolu sur HumanEval-X. Plus étonnamment, nous avons constaté que CodeM-HTML 7B, entraîné sur le corpus HTML, peut améliorer Java de 15,24% en pass@1 absolu. Nos données d'entraînement sont disponibles à l'adresse suivante : 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.