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

초록

인간 프로그래머가 한 프로그래밍 언어를 숙달하면, 새로운 프로그래밍 언어를 배우는 것이 더 쉬워집니다. 본 보고서에서는 코드 대형 언어 모델의 지시 미세 조정 단계에서 프로그래밍 언어들이 서로를 촉진할 수 있는지 탐구하는 데 초점을 맞춥니다. 우리는 StarCoder에서 8개의 인기 있는 프로그래밍 언어(Python, JavaScript, TypeScript, C, C++, Java, Go, HTML)에 대한 광범위한 실험을 수행했습니다. 결과는 프로그래밍 언어들이 서로를 상당히 개선할 수 있음을 보여줍니다. 예를 들어, Python으로 훈련된 CodeM-Python 15B는 HumanEval-X에서 Java의 pass@1을 절대적으로 17.95% 증가시킬 수 있었습니다. 더 놀라운 점은 HTML 코퍼스로 훈련된 CodeM-HTML 7B가 Java의 pass@1을 절대적으로 15.24% 개선할 수 있다는 사실을 발견했다는 것입니다. 우리의 훈련 데이터는 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