Kunnen programmeertalen elkaar versterken via instructie-afstemming?
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
Samenvatting
Wanneer menselijke programmeurs een programmeertaal beheersen, wordt het gemakkelijker om een nieuwe programmeertaal te leren. In dit rapport richten we ons op het onderzoeken of programmeertalen elkaar kunnen versterken tijdens de instructie-finetuningfase van grote taalmodellen voor code. We voeren uitgebreide experimenten uit met 8 populaire programmeertalen (Python, JavaScript, TypeScript, C, C++, Java, Go, HTML) op StarCoder. De resultaten tonen aan dat programmeertalen elkaar aanzienlijk kunnen verbeteren. Zo kan CodeM-Python 15B, getraind op Python, Java verbeteren met een absolute stijging van 17,95% pass@1 op HumanEval-X. Nog verrassender is dat CodeM-HTML 7B, getraind op het HTML-corpus, Java kan verbeteren met een absolute stijging van 15,24% pass@1. Onze trainingsdata is vrijgegeven op 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.