Können Programmiersprachen sich gegenseitig durch Instruction Tuning verbessern?
Can Programming Languages Boost Each Other via Instruction Tuning?
August 31, 2023
Autoren: Daoguang Zan, Ailun Yu, Bo Shen, Jiaxin Zhang, Taihong Chen, Bing Geng, Bei Chen, Jichuan Ji, Yafen Yao, Yongji Wang, Qianxiang Wang
cs.AI
Zusammenfassung
Wenn menschliche Programmierer eine Programmiersprache beherrschen, fällt es ihnen leichter, eine neue Programmiersprache zu erlernen. In diesem Bericht konzentrieren wir uns darauf, zu untersuchen, ob Programmiersprachen sich während der Instruktions-Fine-Tuning-Phase von Code-Großsprachmodellen gegenseitig fördern können. Wir führen umfangreiche Experimente mit 8 beliebten Programmiersprachen (Python, JavaScript, TypeScript, C, C++, Java, Go, HTML) auf StarCoder durch. Die Ergebnisse zeigen, dass Programmiersprachen sich signifikant gegenseitig verbessern können. Beispielsweise kann CodeM-Python 15B, das auf Python trainiert wurde, Java um einen absoluten Wert von 17,95 % pass@1 auf HumanEval-X steigern. Noch überraschender ist, dass wir festgestellt haben, dass CodeM-HTML 7B, das auf dem HTML-Korpus trainiert wurde, Java um einen absoluten Wert von 15,24 % pass@1 verbessern kann. Unsere Trainingsdaten sind unter https://github.com/NL2Code/CodeM veröffentlicht.
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.