ChatPaper.aiChatPaper

Могут ли языки программирования усиливать друг друга с помощью настройки на инструкциях?

Can Programming Languages Boost Each Other via Instruction Tuning?

August 31, 2023
Авторы: Daoguang Zan, Ailun Yu, Bo Shen, Jiaxin Zhang, Taihong Chen, Bing Geng, Bei Chen, Jichuan Ji, Yafen Yao, Yongji Wang, Qianxiang Wang
cs.AI

Аннотация

Когда программисты осваивают один язык программирования, им становится проще изучать новый. В данном отчете мы сосредоточились на исследовании того, могут ли языки программирования взаимно усиливать друг друга в процессе тонкой настройки инструкций для крупных языковых моделей, специализирующихся на коде. Мы провели обширные эксперименты с 8 популярными языками программирования (Python, JavaScript, TypeScript, C, C++, Java, Go, HTML) на модели StarCoder. Результаты показывают, что языки программирования действительно могут значительно улучшать друг друга. Например, модель CodeM-Python 15B, обученная на Python, способна повысить показатель pass@1 для Java на абсолютные 17,95% на тесте HumanEval-X. Еще более удивительно, что модель CodeM-HTML 7B, обученная на корпусе HTML, может улучшить Java на абсолютные 15,24% pass@1. Наши данные для обучения опубликованы по адресу 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.
PDF110December 15, 2024