中文

InverseCoder:基于 Inverse-Instruct 的自改进指令调优代码 LLM

计算与语言 2024-12-17 v2 人工智能 软件工程

摘要

近期,开源代码大型语言模型(LLM)的进展是由针对来自强大封闭源 LLM 生成的数据进行微调推动的,这些数据昂贵且难以获取。本文探讨了是否可以利用微调后的开源模型生成额外数据来增强其指令调优数据集的可能性。我们做出了两个观察:(1)代码片段可以作为不同指令的响应。(2)指令调优代码 LLM 在将代码翻译为指令方面优于反向操作。基于这些观察,我们提出了Inverse-Instruct,这是一种数据增强技术,使用微调后的 LLM 生成来自其自身训练数据集中代码响应的额外指令。额外的指令-响应对被添加到原始数据集中,经过增强数据集微调后可以获得更强大的代码 LLM。我们在多个开源代码模型(例如 CodeLlama-Python 和 DeepSeek-Coder)和基准测试(例如 HumanEval(+), MBPP(+), DS-1000 和 MultiPL-E)上进行了实证验证,结果表明它一致改进了基础模型。

关键词

引用

@article{arxiv.2407.05700,
  title  = {InverseCoder: Self-improving Instruction-Tuned Code LLMs with Inverse-Instruct},
  author = {Yutong Wu and Di Huang and Wenxuan Shi and Wei Wang and Lingzhe Gao and Shihao Liu and Ziyuan Nan and Kaizhao Yuan and Rui Zhang and Xishan Zhang and Zidong Du and Qi Guo and Yewen Pu and Dawei Yin and Xing Hu and Yunji Chen},
  journal= {arXiv preprint arXiv:2407.05700},
  year   = {2024}
}

备注

Accepted for publication at AAAI 2025. Extended version with full appendix, 18 pages