2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,于2023年12月1-3日在上海国际会议中心举行。
本次大会主题是“智能化软件创新推动数字经济与社会发展”,学术、工业、教育、竞赛等分论坛活动40余场。
目前大会已圆满结束!
CCF ChinaSoft 2023官方首页:
http://chinasoft.ccf.org.cn/
蚂蚁CodeFuse:开源介绍与论文解读
(蚂蚁集团)
✦ +
+
引言
官网:
https://codefuse.alipay.com/
CodeFuse IDE 插件目前已对全体开发者开放邀请测试。蚂蚁很早就开始在代码智能生成领域发力,从零到一,最终打造了 CodeFuse。CodeFuse 已经率先在蚂蚁内部广泛使用,汲取工程师们的反馈不断成长,这些积累多年的实战经验也融合在 CodeFuse 的每一行代码里。
本次开放的 IDE 插件能力包括:
1. 代码补全,基于海量数据提供实时地代码补全服务,提升编码效率。
2. 代码优化,基于代码理解能力和静态源码分析能力,对选定代码段进行分析理解,提出优化和改进建议。
3. 代码注释,通过智能分析,CodeFuse 可以准确解释代码含义、添加代码注释。
4. 解释代码,基于大量高质量的代码数据训练,准确解释代码含义。
5. 生成单测,智能生成具备业务语义的测试用例。
✦ +
+
CodeFuse 开源
CodeFuse的使命是开发专门设计用于支持整个软件开发生命周期的代码大语言模型(Code LLMs),涵盖设计、需求、编码、测试、部署、运维等关键阶段。我们致力于打造创新的解决方案,让软件开发者们在研发的过程中如丝般顺滑。
✦ +
+
CodeFuse 开源
MFTCoder:多任务微调框架
https://github.com/codefuse-ai/MFTCoder
MFTCoder 是蚂蚁自研的高精度、高效率、多任务、多模型支持、多训练算法的大模型代码能力微调框架。
1. 多任务:一个模型同时支持多个任务,会保证多个任务之间的平衡,甚至可以泛化到新的没有见过的任务上去;
2. 多模型:支持最新的多个开源模型,包括gpt-neox,llama,llama-2,baichuan,Qwen,chatglm2等;
3. 多框架:同时支持HuggingFace 和 ATorch 框架;
4. 高效微调:支持LoRA和QLoRA,可以用很少的资源去微调很大的模型,且训练速度能满足几乎所有微调场景;
本项目主要内容如下:
1. 同时支持单任务SFT(Supervised FineTuning)和MFT(Multi-task FineTuning), 当前开源支持数据均衡,未来将持续开源难易均衡,收敛均衡等。
2. 支持QLoRA低成本高效指令微调、LoRA高效指令微调。
3. 支持绝大部分主流的开源大模型,重点关注代码能力优秀的开源大模型,如Qwen, GPT-Neox, Starcoder, Codegeex2, Code-LLaMA等。
4. 支持lora与base model进行权重合并,推理更便捷。
针对业界的开源模型,团队利用 MFTCoder 对其进行微调,并成功提升它们的代码能力,详见:
CodeFuse-MFTCoder提升CodeGeeX2-6B代码能力
CodeFuse-MFTCoder提升Qwen-14B代码能力
FasterTransformer4CodeFuse:推理引擎
https://github.com/codefuse-ai/FasterTransformer4CodeFuse
基于社区版本开发而来,提供较为高性能的模型推理,主要支持蚂蚁CodeFuse模型。
与原版FasterTransformer相比增加了:
1. CodeFuse模型的int8量化
2. prompt结尾无需完整单词
3. python api
4. python流式输出
5. 模型加载提速
6. 一些bugfix
CodeFuseEval:代码类大模型多任务评估基准
https://github.com/codefuse-ai/codefuse-evaluation
在大模型研发过程中,模型能力评估已然成为必要环节。相比传统的系统架构,模型输出的内容是预测生成式,具有很大的不确定性,它可以基于已知的知识生成未知的知识,这些涌现的新知识证明了模型推理及泛化能力但也带来了不确定风险,特别是模型融入会话式产品,面对用户各类的问答,更容易激发能力涌现,如何及时发现这些新涌现的能力及如何保障模型的输出是有用的、无害的、真实的,是当前大模型评估面临的很大挑战,为此,代码大模型的评估基准必然需要多类多维。
进入23年以来,各个代码类大模型在HumanEval数据基准上pass@1表现提升显著,然而,我们发现代码领域打榜与实际用户体验,仍然存在一定的差异,这也说明靠单任务百十道题目证明模型的代码能力是远远不够的。在此背景下,我们基于蚂蚁代码大模型CodeFuse系列评测经验及众测反馈,探索并构建了适合企业项目的代码大模型的评测范式。
更多详情,欢迎阅读介绍文章。
TestAgent:智能测试助理
https://github.com/codefuse-ai/Test-Agent
TestAgent 旨在构建测试领域的“智能体”,融合大模型和质量领域工程化技术,促进质量技术代系升级。我们期望和社区成员一起合作,打造创新的测试领域解决方案,构建24小时在线的测试助理服务,让测试如丝般顺滑。
很高兴地宣布,我们本次开源了测试行业大模型及工具——TestAgent。本次版本包含了性能最强的7B测试领域大模型,以及配套的本地模型快速发布和体验工程化框架。
更多详情,欢迎阅读介绍文章。
DevOps-Model:DevOps领域的大语言模型
https://github.com/codefuse-ai/CodeFuse-DevOps-Model
DevOps-Model 是蚂蚁集团联合北京大学发布面向中文 DevOps 领域的大语言模型,通过收集 DevOps 领域相关的专业数据,再针对模型进行语言模型的加训和对齐训练,产出可以帮助工程师在整个开发运维生命周期提效的大模型。弥补当前大模型在 DevOps 领域的缺失。
当前我们已经开源了 7B 和 14B 两种规格的经过加训得 Base 模型和经过对齐后的 Chat 模型,同时还开源了对应的训练代码,欢迎大家一起合作建设。
更多详情,欢迎阅读介绍文章。
DevOps-Eval:DevOps领域的大语言模型评测基准
https://github.com/codefuse-ai/codefuse-devops-eval
大语言模型在各类NLP下游任务上取得了显著进展。然而在DevOps领域,由于缺乏专门用于大型语言模型的评测基准,在有效评估和比较该领域大语言模型的能力方面存在严重不足。
为弥补这一不足,蚂蚁集团联合北京大学发布了首个面向DevOps领域的大模型评测基准DevOps-Eval,以帮助开发者跟踪DevOps领域大模型的进展,并了解各个DevOps领域大模型的优势与不足。
DevOps-Eval根据DevOps全流程进行划分,包含计划、编码、构建、测试、发布、部署、运维和监控这8个类别,包含4850道选择题。此外,DevOps-Eval还特别对运维/监控类别做了细分,添加日志解析、时序异常检测、时序分类和根因分析等常见的AIOps任务。由于DevOps-Eval根据场景对评测样本做了详尽的细分,因此除了DevOps领域大模型,也方便对特定领域大模型进行评测,如AIOps领域等。
目前,我们已发布了第一期的评测榜单,首批评测大模型包含OpsGpt、Qwen、Baichuan、Internlm等开源大语言模型;同时,DevOps-Eval相关论文也在紧锣密鼓地撰写中。我们欢迎相关从业者一起来共建DevOps-Eval项目,持续丰富DevOps领域评测题目或大模型,我们也会定期更新题库和评测榜单。
更多详情,欢迎阅读介绍文章。
✦ +
+
CodeFuse 论文解读
MFTCoder论文多任务微调技术详解
https://arxiv.org/pdf/2311.02303.pdf
代码大模型(Code LLMs)已经成为一个专门的研究领域,通过使用代码相关数据对预训练模型进行微调来提升模型的编码能力。以往的微调方法通常针对特定的下游任务或场景进行定制,意味着每个任务需要单独进行微调,需要大量的训练资源,并且由于多个模型并存而难于维护和部署。此外,这些方法未能利用不同代码任务之间的内在联系。
为了克服这些限制,我们提出了一种多任务微调框架——MFTCoder,它可以实现在多个任务上同时并行地进行微调。通过结合多种损失函数,我们有效地解决了多任务学习中常见的任务间数据量不平衡、难易不一和收敛速度不一致等挑战。
大量实验结果显示,相较于单独对单个任务进行微调或者多任务混合为一后进行微调,我们的多任务微调方法表现更优。此外,MFTCoder具备高效训练特征,包括提供高效的数据Tokenization模式和支持PEFT微调,能有效提升微调训练速度并降低对资源的需求。
本文旨在对MFTCoder论文做一个详细技术解读,详情可查看文章。
最全代码大模型综述论文解读
https://arxiv.org/abs/2311.07989
近日,蚂蚁集团联合上海交通大学发布55页代码大模型综述,覆盖超过50个模型、30个下游任务、500篇参考文献,全方位总结大语言模型在代码相关应用中的最新进展与挑战。
与此前已有的多篇综述不同,本文从跨学科视角出发,全面调研 NLP 与软件工程(SE)两个学科社区的工作,既覆盖以 OpenAI GPT 系列与 Meta LLaMA 系列为代表的生成式大模型与代码生成任务,也覆盖 CodeBERT 等专业代码小模型及代码翻译等其他下游任务,并重点关注 NLP 与 SE 的融合发展趋势。
详细论文解读欢迎查看文章。