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以支持我们。

目录
相关文章
|
SQL 存储 NoSQL
论文解读|TuGraph Analytics 流式图计算论文入选国际顶会 SIGMOD
蚂蚁流式图计算团队本次的论文 《GeaFlow: A Graph Extended and Accelerated Dataflow System》 被 SIGMOD 2023 收录,代表蚂蚁流式图计算团队的成果不仅在工业界有界广泛的应用,同时也在学术界得到进一步认可。
论文解读|TuGraph Analytics 流式图计算论文入选国际顶会 SIGMOD
|
7月前
|
机器学习/深度学习 人工智能 计算机视觉
找论文参考:机器视觉会议和期刊
这里分享下机器学习和人工智能的顶会和期刊,可以在这些会议和期刊上找与你相关的paper。【2月更文挑战第3天】
139 2
|
数据采集 物联网 大数据
阿里云在ECOC2023会议上发表多个报告和论文
阿里云在ECOC2023会议上发表多个报告和论文
|
达摩院 算法 调度
阿里达摩院KDD 2022最佳论文线上分享:核心作者解读FederatedScope-GNN
阿里达摩院KDD 2022最佳论文线上分享:核心作者解读FederatedScope-GNN
162 0
|
机器学习/深度学习 人工智能 编解码
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展(1)
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展
200 0
|
人工智能 算法 计算机视觉
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展(2)
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展
249 0
|
机器学习/深度学习 人工智能 算法
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展(3)
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展
208 0
|
机器学习/深度学习 人工智能 算法
一览端到端人脸识别最新进展,上大&京东AI研究院综述被ACM旗舰期刊接收
一览端到端人脸识别最新进展,上大&京东AI研究院综述被ACM旗舰期刊接收
291 0
|
机器学习/深度学习 人工智能 编解码
最新更新的 CVPR 2022 论文66篇
以下是最新更新的 CVPR 2022 论文,包括的研究方向有:目标检测、预训练语言模型、Transformer、图像修复、模型训练、视觉语言表征学习、对比学习、深度估计、语义分割、动作检测、人脸防伪、长尾识别、神经网络架构设计、异常检测、三维视觉、姿态估计、机器人等66篇最新录用论文信息。● 论文摘要:提出了一种新的无监督活动分割方法,它使用视频帧聚类作为前置任务,同时执行表示学习和在线聚类。这与通常按顺序执行表示学习和聚类的先前工作形成对比。作者通过采用时间最优传输来利用视频中的时间信息,将保留活动时间顺
547 0
|
机器学习/深度学习 人工智能
ICLR 2022论文列表公布,接收率高达32%
ICLR 2022论文列表公布,接收率高达32%
602 0
ICLR 2022论文列表公布,接收率高达32%