中文

编程语言能否通过指令微调相互提升?

计算与语言 2023-09-06 v2 人工智能 编程语言 软件工程

摘要

当人类程序员掌握一门编程语言后,再学习一门新的编程语言会更容易。在本报告中,我们聚焦于探索在代码大语言模型的指令微调阶段,编程语言是否能够相互提升。我们在 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。

关键词

引用

@article{arxiv.2308.16824,
  title  = {Can Programming Languages Boost Each Other via Instruction Tuning?},
  author = {Daoguang Zan and Ailun Yu and Bo Shen and Jiaxin Zhang and Taihong Chen and Bing Geng and Bei Chen and Jichuan Ji and Yafen Yao and Yongji Wang and Qianxiang Wang},
  journal= {arXiv preprint arXiv:2308.16824},
  year   = {2023}
}

备注

Work in progress