MFTCoder论文被KDD 2024接收,开源v0.4.2版发布

简介: CodeFuse在2023年9月开源了一种多任务微调框架——MFTCoder,它可以实现在多个任务上同时并行地进行微调。通过结合多种损失函数,我们有效地解决了多任务学习中常见的任务间数据量不平衡、难易不一和收敛速度不一致等挑战。大量实验结果显示,相较于单独对单个任务进行微调或者多任务混合为一后进行微调,我们的多任务微调方法表现更优。此外,MFTCoder具备高效训练特征,包括提供高效的数据Tokenization模式,支持PEFT微调和全量微调,能有效提升微调训练速度并降低对资源的需求。MFTCoder是轻量的,简单清晰的,易于二次开发的,持续跟进Cutting-Edge技术的开源微调框架。

蓝绿色现代几何安全提醒微信公众号封面.png

1. MFTCoder 简介

CodeFuse在2023年9月开源了一种多任务微调框架——MFTCoder,它可以实现在多个任务上同时并行地进行微调。通过结合多种损失函数,我们有效地解决了多任务学习中常见的任务间数据量不平衡、难易不一和收敛速度不一致等挑战。大量实验结果显示,相较于单独对单个任务进行微调或者多任务混合为一后进行微调,我们的多任务微调方法表现更优。此外,MFTCoder具备高效训练特征,包括提供高效的数据Tokenization模式,支持PEFT微调和全量微调,能有效提升微调训练速度并降低对资源的需求。MFTCoder是轻量的,简单清晰的,易于二次开发的,持续跟进Cutting-Edge技术的开源微调框架。

目前MFTCoder迭代到v0.4.2, 新增了对QLoRA + Deepspeed ZeRO3/FSDP的支持,可以使用更少的GPU,对更大模型(比如70B, 110B等)进行多任务微调

MFTCoder已适配支持了更多的主流开源LLMs,如Qwen2, Qwen2-moe, Gemma, Starcoder2, Mixtral、Mistral、Deepseek、 Llama、CodeLlama、Qwen、CodeGeeX2、StarCoder、Baichuan2、ChatGLM2/3、GPT-Neox等。

MFTCoder的详细介绍在我们之前的公众号文章中:干货!MFTCoder论文多任务微调技术详解

MFTCoder技术细节的论文已经被 KDD 2024 (ADS) 接收https://arxiv.org/pdf/2311.02303.pdf

新升级代码也已经开源到GitHubhttps://github.com/codefuse-ai/MFTCoder/tree/main/mftcoder_accelerate


2. v0.4.2新特性Hightlights

  • 首先,新版本已经适配到transformers v4.40.2,因此也支持了众多新的开源模型, 比如Qwen2,Qwen2-moe,Starcoder2, Gemma等新的主流开源模型;
  • 同时,MFTCoder当前适配新模型的成本很低,只需要对transformers进行适当的版本升级,并将对应模型添加到训练支持的池子即可,欢迎广大同学通过PR提交后续新模型的支持
  • 然后,MFTCoder-accelerate框架新增支持了QLoRA + Deepspeed ZeRO3/FSDP,可以使用更少的GPU,对更大模型(比如70B, 110B等)进行多任务微调MFT;
  • 最后,我们也同时用新的MFTCoder微调并开源了一个新的代码模型CodeFuse-StarCoder2-15B


3. MFTCoder提升Starcoder2-15b混合专家模型的代码能力实践

CodeFuse-StarCoder2-15B 模型地址:

魔搭:https://modelscope.cn/models/codefuse-ai/CodeFuse-StarCoder2-15B/summary
HuggingFace: https://huggingface.co/codefuse-ai/CodeFuse-StarCoder2-15B


3.1. MFTCoder 多任务微调Starcoder2-15b

借助MFTCoder(v0.4.2)的多任务微调能力,我们可以使用多个代码任务数据集对Starcoder2-15b进行多任务微调(MFT)。在任务选择上,我们精选了4个核心代码任务数据,一共40w条指令问答数据。用基础任务微调对齐过的模型,在各类未训练过的代码任务上也有不错的泛化能力。

MFTCoder相应的关键配置如下:

{
    "lora_rank": 128,
  "lora_alpha": 32,
  "lora_dropout": 0.05,
  "targeting_modules": "all-linear",
    "learning_rate": "0.0001",
    "weight_decay": "0.01",
    "lr_scheduler_type": "linear"
}

训练过程loss情况如下图所示:

image.png

通过多任务微调,CodeFuse-StarCoder2-15B的各方面代码能力均有比较大的提升。


3.2. CodeFuse-StarCoder2-15B模型效果

对Starcoder2-15b进行多代码任务微调后,CodeFuse-StarCoder2-15B在HumanEval-X数据集中五种语言的Pass@1评测结果对比如下(用Greedy解码统一测试)

Model

Python

JavaScript

Java

C++

Go

CodeFuse-StarCoder2-15B

73.2%

67.8%

69.5%

61.0%

56.7%

Starcoder2-15b(base)

46.3%





Starcoder2-15b-instruct

72.6%





可以看出, CodeFuse-StarCoder2-15B比Starcoder2-15b 在HumanEval-python的pass@1提高27%, 达到73.2%,比Starcoder2-15b-instruct高;并且在其它语言代码能力(HumanEval-X)均有明显提高。


联系我们

MFTCoder最新版本v0.4.2已经开源,感兴趣的同学可以用版本tag或者持续跟踪main分支,本文中提到的模型和数据集也在陆续开源中,如果您喜欢我们的工作,欢迎试用、指正错误和贡献代码,可以的话请给我们的项目增加Star以支持我们。

目录
相关文章
|
13天前
|
人工智能
ACM最新论文戳破大公司开源谎言,GenAI时代到底如何定义开源模型
【7月更文挑战第2天】ACM论文揭示GenAI开源真相,指出开源模型常缺乏开放数据集、完整代码与功能,质疑大公司仅借开源名义吸引利益。论文倡导重新定义开源,提议全面评估框架、加强监管及教育,确保真开源,促进领域健康发展。[链接:https://dl.acm.org/doi/3630106.3659005]
27 16
|
SQL 存储 NoSQL
论文解读|TuGraph Analytics 流式图计算论文入选国际顶会 SIGMOD
蚂蚁流式图计算团队本次的论文 《GeaFlow: A Graph Extended and Accelerated Dataflow System》 被 SIGMOD 2023 收录,代表蚂蚁流式图计算团队的成果不仅在工业界有界广泛的应用,同时也在学术界得到进一步认可。
论文解读|TuGraph Analytics 流式图计算论文入选国际顶会 SIGMOD
|
8月前
|
机器学习/深度学习 人工智能 测试技术
三篇论文:速览GPT在网络安全最新论文中的应用案例
三篇论文:速览GPT在网络安全最新论文中的应用案例
148 0
|
8月前
|
机器学习/深度学习 自然语言处理 算法
2023无监督摘要顶会论文合集
2023无监督摘要顶会论文合集
139 0
|
12月前
|
机器学习/深度学习 人工智能 安全
隐语团队研究成果再创佳绩,两篇论文分别被USENIX ATC'23和IJCAI'23接收!
隐语团队研究成果再创佳绩,两篇论文分别被USENIX ATC'23和IJCAI'23接收!
166 0
|
人工智能 算法 计算机视觉
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展(2)
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展
194 0
|
机器学习/深度学习 人工智能 算法
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展(3)
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展
165 0
|
机器学习/深度学习 人工智能 编解码
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展(1)
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展
150 0
|
达摩院 算法 调度
阿里达摩院KDD 2022最佳论文线上分享:核心作者解读FederatedScope-GNN
阿里达摩院KDD 2022最佳论文线上分享:核心作者解读FederatedScope-GNN
114 0
|
机器学习/深度学习 人工智能 编解码
NeurIPS 2022-10大主题、50篇论文总结
2672篇主要论文,63场研讨会,7场受邀演讲,包括语言模型、脑启发研究、扩散模型、图神经网络……NeurIPS包含了世界级的AI研究见解,本文将对NeurIPS 2022做一个全面的总结。
423 1