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)進行了廣泛的實驗。結果顯示,程式語言可以顯著地相互改善。例如,在HumanEval-X上,CodeM-Python 15B在Python上訓練後,能夠使Java的pass@1絕對值提高了17.95%。更令人驚訝的是,我們發現CodeM-HTML 7B在HTML語料庫上訓練後,可以使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