下一代研发大模型需要哪些关键能力?

简介: CodeFuse 支持从设计到运维的整个软件开发生命周期。项目已开源多个项目,欢迎社区共建。其中Rodimus作为 CodeFuse 的重要组成部分,旨在降低推理复杂度,优化大模型性能,支持低资源设备上的高效运行。

Rodimus,在《变形金刚》里是擎天柱的继任者,新一代汽车人领导人。

在大模型的世界里,它有了新的身份。

“希望这个模型成为低推理复杂度下的下一代 LLM 架构。”现在,Rodimus 正作为蚂蚁自研的大型代码语言模型 CodeFuse 中的一个重要组成部分,支撑 CodeFuse 的飞速发展。

12月28日,在「AI 为伍 开源同行」2024 OSC 源创会年终盛典上,蚂蚁集团高级算法专家余航发表了《CodeFuse 基座模型系列介绍》主题演讲,余航介绍,CodeFuse 的使命是开发专门设计用于支持整个软件开发生命周期的大型代码语言模型(Code LLMs),涵盖设计、需求、编码、测试、部署、运维等关键阶段。

图片1.png

随着垂域大模型的普及,以及 AI 辅助编程能力的提升,代码大模型应运而生,从早期的代码补全工具到具备高度智能的编程助手,再到如今的代码大模型。一方面,模型能力不断提升,能够处理更复杂的推理需求,具备逻辑推理和问题解决能力。另一方面,业务侧也在要求大模型写出的代码能够适应复杂业务的需求,同时具备安全性,真正可被用到工程中。

基于业务的需求,以及自身技术的积淀。2023年年初,CodeFuse 在蚂蚁内部立项,定位是代码大模型。历经将近两年的发展,CodeFuse 已经形成了一个较为完整的生态。余航在本次大会上,着重介绍了 Rodimus、代码向量搜索模型 CGE、仓库理解模型 CGM 三大部分。

下一代LLM: Rodimus

余航指出,现有的 Transfomer 架构的大模型虽然具备建模能力强和并行化训练的优点,但也存在许多缺点,如推理一个 token 的复杂度为 O(T),T 为生成这个 token 之前的上下文长度;整体的推理复杂度为序列长度的平方级,用 1 张 A10 推理卡,Llama-7B 在没有任何推理优化的情况下,生成一个 2K 长度序列,需要 1 分钟以上。

因此,Rodimus 希望在保持 Transfomer 优点的前提下,解决推理复杂度的问题,把平方级的推理难度降低到限行次方,实现推理优化加速。此外,Rodimus 还希望缩小模型体积,实现端侧部署可用。

具体实现路径上,Rodimus 的计算公司从 Softmax Attention 变更为 Linear Attention。训练可并行,但复杂度为sub-quadratic。推理可串行,复杂度为 linear。其自回归的架构,相比传统的Transformer 和 Llama 架构,推理复杂度更低,但也可以适配并行训练。

同时,在推理每个 token 的过程中,Rodimus 架构能够保持较低的常量内存占用,这意味着在处理代码生成等任务时,它可以更高效地利用硬件资源,从而在资源有限的设备上更流畅地运行。

幻灯片9.PNG

目前,1B 尺寸的 Rodimus 架构模型在性能上已超越同等大小的 Mamba2 和 LLaMA2 等模型。

幻灯片11.PNG

Rodimus 开源仓库地址:

https://github.com/codefuse-ai/rodimus

代码搜索模型 CGE

CodeFuse 也自研了代码向量搜索模型——CGE (Code General Embedding),把 Code LLM 改造成 Code Embedding 模型。

余航指出,Code Embedding 是仓库级别的代码任务中很重要的一个步骤,而现在的所有的 Code Embedding 模型都是从零开始训的 Encoder 架构 (BERT) 的 Embedding 模型。Decoder 架构的 LLM 一般训练的语料更多,存储的知识也更多,在各项任务上已经超过 Encoder 架构的模型,包括分类任务。

此外,Decoder 架构的 LLM 每个月都有更强大的模型开源,然而 Encoder 架构的模型更新速度明显不如 Decoder 架构。

因此,CodeFuse 提出了一个新的方式。余航介绍,CodeFuse 将 Decoder only 的架构改成 Embedding 模型,“我们希望将 Code LLM 改成一个 Code Embedding 模型,充分利用起 LLM 中的知识,在 Code Embedding 任务中表现得更好。”

幻灯片16.PNG

这样便有两个优势,一是只需要少量的微调数据就能产出一个 SOTA 级别的 Code Embedding 模型,实际中 CGE 在多项评测上都超过了现在其他的 Code Embedding 模型,比如 CodeSage,Jina 等;二是每个月 Decoder 模型案例都有更新,基于这些更好的模型,也能逐步提升 Embedding 模型的表现。

幻灯片17.PNG

CGE开源仓库地址https://github.com/codefuse-ai/CodeFuse-CGE

仓库理解模型CGM

最后压轴介绍的模型是 CGM (Code Graph Model)——理解仓库级别代码图的大模型,用于完成仓库级别代码任务。

“仓库级别的任务才是代码模型面对的常态,比如 issue fix,CR等,”余航介绍,业界现行方法通常是基于LLM agent去完成仓库级别的任务,因为任务的复杂性,agent一般比较复杂,里面的节点一般比较多。而节点越多,越不可控,越可能出现 error accumulation,同时耗时也会越长。并且现有的可以收集到的数据(比如 issue fix)是端到端的数据,没法很好的用于增强 agent 中的所有节点。

因此,CodeFuse 希望采用“Agentless”的方法,甚至是端到端的框架,让收集到的数据可以被使用,同时耗时缩短,可控性增强。

此外,仓库级别的代码任务通常面临长文本问题。因此模型也需要具备理解长文本的能力。具体而言,仓库里的方法与方法之间,文件与文件之间,有显式的依赖关系,如何充分的利用这些依赖关系来更好的完成仓库级别的代码任务?可行的实现路径便是让 LLM 理解 graph。首先,我们可以基于方法的调用关系,以及方法从属的类、文件、模块等关系,构建一张 Code Graph。在 Code Graph 中,每个节点有对应的代码和文本,每条边表达了节点的关系。我们将每个节点做好 text embedding,并通过 adapter 对齐到 LLM 的输入空间中。同时,图结构对应的邻接矩阵通过 attention mask 的方式输入 LLM。

幻灯片20.PNG

目前,CGM 在 SWE-Bench Lite 评测中表现卓越,两次位列开源榜单第一。SWE-Bench 是由普林斯顿大学提出的一个极具挑战性的、针对大模型解决真实 GitHub Issue 的评测集,是目前该领域最受关注和认可的评测。

在 2024 年 10 月底的首次评测中,CGM 以 35.67% 的解决问题率位居开源榜单第一。随后,在 12 月底的第二次评测中,CGM 进一步提升了表现,解决问题率达到 41.67%,再次跃居开源榜单首位。后续代码和 CGM 模型都会开源。

CGM开源仓库地址https://github.com/codefuse-ai/CodeFuse-CGM

自 2023 Q1 蚂蚁发布 1.3B-2K 模型,实现多语言代码补全,上线编程开发助手以来,CodeFuse 目前已进入 VAT(Virtual Agent Team)内测版本内测阶段,实现了仓库级别代码补全,IDE 插件对外开放,可支持数十种研发下游任务等能力。并且,CodeFuse 也已经在 2023 年 9 月开源,接下来,CodeFuse 也将继续探索更多新的能力。

“在小模型或是多模态模型的融合方面,社区还可以共同做许多事情。”未来,余航也希望 CodeFuse 能与开源社区、更多技术社区联合,一起共建 CodeFuse 生态。

目录
相关文章
|
大数据 开发者 程序员
连接真实世界,高德地图背后的算法演进和创新
出行是生活的重要部分。我们都习惯了出门用导航,但一个导航App背后,需要什么样的数据和算法来支撑呢?算法又如何来推动出行体验的进步和创新呢?在阿里CIO学院攻“疫”技术公益大咖说的第十四场直播中高德地图首席科学家任小枫将为大家讲解高德地图背后的算法的演进和创新,分别从地图制作、搜索推荐、路径规划、时
11446 1
conda常用操作和配置镜像源
conda常用操作和配置镜像源
29772 0
|
10月前
|
运维 前端开发 算法
开源中国【专访】 | CodeFuse:让研发变得更简单
CodeFuse 是蚂蚁集团自研的代码生成大模型,旨在简化研发流程,提供智能建议和实时支持。它能自动生成代码、添加注释、生成测试用例并优化代码。通过创新的 Rodimus 架构,CodeFuse 实现了“小体量,大能量”,显著提升了资源利用效率。其特色功能“图生代码”可将设计图一键转换为代码,准确率超过90%,大幅提高前端开发效率。此外,CodeFuse 还引入了“Code Graph”概念,帮助 LLM 更好地理解仓库级代码结构,缩短任务处理时间。未来,CodeFuse 将致力于全生命周期的研发支持,涵盖需求分析、代码生成到运维监测,推动行业技术迭代与创新。
438 3
|
存储 机器学习/深度学习 物联网
CGE:基于Causal LLM的Code Embedding模型
CodeFuse-CGE 项目在外滩大会展出,吸引众多技术与产品从业者的关注。“文搜代码”功能备受好评,模型表现令人期待。CodeFuse-CGE 采用大语言模型,通过 LoRA 微调提取文本与代码嵌入,实现在多个 NL2Code 基准测试中超越现有 SOTA 模型。现已开源 CGE-Large 与 CGE-Small 两种模型,欢迎访问 GitHub 页并支持本项目。[项目地址](https://github.com/codefuse-ai/CodeFuse-CGE)
657 2
|
9月前
|
机器学习/深度学习 人工智能 运维
CodeFuse团队2024年10篇论文总结
CodeFuse 是蚂蚁集团开发的多语言代码大型语言模型(LLM),基于海量高质量代码数据和多任务微调技术,已在内部研发人员的编码、测试、运维等场景中广泛应用。2024年,CodeFuse 在国际顶会如ICSE、ICDE、KDD等发表多篇论文,涵盖CodeLLM、机器学习、AI等领域,并开源多个自研大模型,总下载量近200万。项目持续迭代,欢迎贡献和建议。
366 11
|
5月前
|
人工智能 编解码 测试技术
云电脑显卡性能终极对决:ToDesk云电脑/顺网云/海马云,谁才是4K游戏之王?
本文对比了ToDesk云电脑、顺网云和海马云三大平台的性能表现,涵盖游戏实战与AI模型测试。ToDesk云电脑搭载RTX 5090显卡,在4K游戏与大模型支持上表现卓越;顺网云适合中轻度游戏玩家,强调即开即用的便捷性;海马云面向企业用户,提供稳定算力与多任务支持。评测从显卡、处理器、压力测试到网络传输技术全面展开,最终推荐:硬核玩家首选ToDesk云电脑,内容创作者可选ToDesk云电脑或海马云,企业用户则更适合海马云。
1070 23
|
8月前
|
存储 算法 测试技术
CodeFuse-AAIS:改进低智能体框架助力高效程序修复
本文提出了一种基于低智能体框架的自适应自动化程序修复(APR)解决方案——AAIS。该方案结合了智能体的自适应性和低智能体的高效控制流,通过引入交互式缺陷定位和多模型辅助生成,显著提升了程序修复的准确性和多样性。实验结果表明,AAIS在SWE-Bench基准测试中表现出色,函数级定位准确率提升了46.94%-113.32%,Issue Solving任务上达到了35.67%的性能,展示了其在未来软件开发中的应用潜力。
196 0
CodeFuse-AAIS:改进低智能体框架助力高效程序修复
|
9月前
|
JSON Devops 决策智能
muAgent v2.2版本发布,支持ekg-sdk使用
CodeFuse-muAgent 是一款创新的 Agent 框架,将知识图谱(KG)直接升级为 Agent 编排引擎。它基于大语言模型(LLM)和事理图谱(EKG),结合多智能体、工具学习等技术,通过拖拽式画布和轻量级文本编辑,实现复杂 SOP 流程的自动化。支持复杂推理、在线协同、人工交互和即时知识应用。该框架已在蚂蚁集团多个 DevOps 场景中成功落地。
281 1
muAgent v2.2版本发布,支持ekg-sdk使用
|
11月前
EMNLP 2024 Oral | CoBa:均衡多任务收敛之道
我们提出了一种满足了以上两种需求的新的 MTL 方法——CoBa,旨在以最小的计算开销有效控制多任务收敛的平衡。CoBa 利用相对收敛分数(RCS)、绝对收敛分数(ACS)和发散因子(DF),在训练过程中动态地调整任务权重,确保所有任务的验证集损失以均匀的速度朝向收敛推进,同时缓解了个别任务提前发散的问题。本文在四个不同的多任务数据集上进行实验,结果表明,CoBa 不仅促进了任务收敛的平衡,而且与最佳基线方法相比,还使 LLMs 的性能至多提升了 13%。
176 3
|
10月前
|
人工智能 自然语言处理 IDE
CodeFuse IDE 0.7 版本发布,支持 Lint Error 智能改写
CodeFuse IDE 0.7 版本发布,支持 Lint Error 智能改写和 zsh 终端自然语言生成命令。它基于蚂蚁自研大模型和 OpenSumi 框架开发,提供代码编写建议、解释、单测生成等功能,提升开发效率。内置插件升级至 VS Code 1.88.1,未来将支持更多模型服务。下载地址:[GitHub](https://github.com/codefuse-ai/codefuse-ide/releases)。
198 4