arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2308.07124cs.CLcs.AI
收藏

OctoPack:指令微调代码大型语言模型

OctoPack: Instruction Tuning Code Large Language Models

Niklas Muennighoff, Qian Liu, Armel Zebaze, Qinkai Zheng, Binyuan Hui, Terry Yue Zhuo, Swayam Singh, Xiangru Tang, Leandro von Werra, Shayne Longpre

AI总结:

通过构建4TB的Git提交数据集CommitPack进行指令微调,显著提升了代码大模型在多语言和多种编码任务上的性能。

摘要:

在指令上微调大型语言模型(LLMs)能在自然语言任务上带来巨大的性能提升。我们应用使用代码的指令微调,利用 Git 提交的自然结构,将代码更改与人类指令配对。我们编译了 CommitPack:涵盖 350 种编程语言的 4 太字节的 Git 提交。我们在 16B 参数的 StarCoder 模型上,将 CommitPack 与其他自然和合成代码指令(xP3x、Self-Instruct、OASST)进行基准测试,并在未基于 OpenAI 输出训练的模型中,于 HumanEval Python 基准上实现了最先进的性能(46.2% pass@1)。我们进一步引入 HumanEvalPack,将 HumanEval 基准扩展至共计 3 项编码任务(代码修复、代码解释、代码合成),涵盖 6 种语言(Python、JavaScript、Java、Go、C++、Rust)。我们的模型 OctoCoder 和 OctoGeeX 在所有宽松许可模型中于 HumanEval 上取得了最佳性能,证明了 CommitPack 在泛化到更广泛语言和自然编码任务方面的优势。代码、模型和数据可在 https://github.com/bigcode-project/octopack 免费获取。

英文摘要:

Finetuning large language models (LLMs) on instructions leads to vast performance improvements on natural language tasks. We apply instruction tuning using code, leveraging the natural structure of Git commits, which pair code changes with human instructions. We compile CommitPack: 4 terabytes of Git commits across 350 programming languages. We benchmark CommitPack against other natural and synthetic code instructions (xP3x, Self-Instruct, OASST) on the 16B parameter StarCoder model, and achieve state-of-the-art performance among models not trained on OpenAI outputs, on the HumanEval Python benchmark (46.2% pass@1). We further introduce HumanEvalPack, expanding the HumanEval benchmark to a total of 3 coding tasks (Code Repair, Code Explanation, Code Synthesis) across 6 languages (Python, JavaScript, Java, Go, C++, Rust). Our models, OctoCoder and OctoGeeX, achieve the best performance across HumanEvalPack among all permissive models, demonstrating CommitPack's benefits in generalizing to a wider set of languages and natural coding tasks. Code, models and data are freely available at https://github.com/bigcode-project/octopack.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑