中文

MFTCoder:以多任务微调提升代码LLM

机器学习 2023-11-07 v1 人工智能

摘要

代码LLM已成为一个专门的研究领域,已有显著研究致力于通过在预训练模型上微调来增强模型的编码能力。以往的微调方法通常针对特定下游任务或场景定制,意味着每个任务需单独微调,耗费大量训练资源且带来部署与维护难题。此外,这些方法未能利用不同代码相关任务间固有的互联性。为克服这些局限,我们提出一个多任务微调框架MFTcoder,支持在多个任务上同时并行微调。通过引入多种损失函数,我们有效解决了多任务学习中的常见挑战,如数据不平衡、难度差异与收敛速度不一致。大量实验确证我们的多任务微调方法优于单任务独立微调及混合任务集微调。此外,MFTcoder提供高效训练能力,包括高效数据分词模式与PEFT微调,相较传统微调方法速度显著提升。MFTcoder无缝集成多个主流开源LLM,如CodeLLama与Qwen。基于CodeLLama基础,我们的MFTcoder微调模型 \textsc{CodeFuse-CodeLLama-34B} 在HumaneEval基准上取得74.4%的pass@1分数,超越GPT-4表现(67%,零样本)。MFTcoder已于 \url{https://github.com/codefuse-ai/MFTCOder} 开源。

关键词

引用

@article{arxiv.2311.02303,
  title  = {MFTCoder: Boosting Code LLMs with Multitask Fine-Tuning},
  author = {Bingchang Liu and Chaoyu Chen and Cong Liao and Zi Gong and Huan Wang and Zhichao Lei and Ming Liang and Dajun Chen and Min Shen and Hailian Zhou and Hang Yu and Jianguo Li},
  journal= {arXiv preprint arXiv:2311.02303},
  year   = {2023}
}