专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
程序员小灰  ·  上海微软大裁员,赔偿达N+8,12年老员工感 ... ·  2 天前  
程序猿  ·  L5级自动驾驶 ·  5 天前  
程序员小灰  ·  OpenAI正式发布o3:通往AGI的路上, ... ·  6 天前  
程序员的那些事  ·  NPM 作者推出全新的 ... ·  5 天前  
51好读  ›  专栏  ›  OSC开源社区

CodeFuse:让研发变得更简单

OSC开源社区  · 公众号  · 程序员  · 2024-12-26 15:35

正文

OSCHINA

↑点击蓝字 关注我们

2023 年 9 月,蚂蚁集团首次开源了代码大模型 CodeFuse

CodeFuse 是蚂蚁自研的代码生成专属大模型,根据开发者的输入提供智能建议和实时支持,帮助开发者自动生成代码、自动增加注释、自动生成测试用例,以及修复和优化代码等。

“让研发变得更简单”,成为了当年百模大战中,CodeFuse 向市场提交的一份答卷。

经过 1 年的不断努力,CodeFuse-DeepSeek-33b 模型在 Big Code 上以 43.58% WinRate 成为新晋榜首。

今天,我们有幸请到了蚂蚁集团高级算法专家余航 ,就 CodeFuse 的创新架构、特色功能,以及未来发展,带大家一起去聊聊:LLM 接入后的“研发 2.0”时代

CodeFuse 开源官网:https://codefuse.ai

以下为采访内容整理。

  • 受访人:余航

  • Title :蚂蚁集团高级算法专家

  • 介绍:新加坡南洋理工大学博士,于 2020 年底加入蚂蚁集团。利用时序、图、NLP 算法助力技术风险领域智能化。2023 年开始从事 CodeFuse 代码大模型相关工作,负责底座模型建设。

架构先行:Rodimus 到底解决了什么?

时间回溯至去年百模大战的时候,市面上一众 LLM 虽说表现强劲,但对于国内广大厂商或开发者来说,其高昂的成本和相对低下的效率成为了 “术” 与 “用” 之间难以逾越的鸿沟。

蚂蚁意识到,若要在大模型领域真正实现广泛的应用,就必须找到一种创新的解决方法 ——“小 Size ,大 Prod.”(小体量,大能量)迅速被提上日程。在 CodeFuse 内部,一个名为“Rodimus”的架构应运而生。

CodeFuse 开源网站

Rodimus 是一个怎样的架构呢?

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

其自回归的架构,相比传统的 Transformer 和 Llama 架构,推理复杂度更低,但也可以适配并行训练。值得一提的是,1.6B 尺寸的 Rodimus 架构模型在性能上已超越同等大小的 Mamba2 和 Qwen2 等模型。

如此看来,CodeFuse 更像是基于自研 Rodimus,致力于让更多人、更多厂商都能用的端侧 “小模型”,落地于程序员最常见的应用场景,更快响应代码需求,更优秀的编程辅助,让人人可编程、可创新成为现实。

特色功能:“图生代码” 如何工作,以及它在实际应用中的表现如何?

“图生代码” 功能是 CodeFuse 推出的一项新功能,旨在支持开发人员使用产品设计图一键生成代码,能够将网页、小程序、APP 的设计图片直接转化成相应的代码,大幅提升前端页面的开发效率。

余航介绍,通过不断的升级优化,目前 “图生代码” 对于单组件的代码输出,准确率已经超过 90% ,今年更是实现 “整稿输出” 功能,涵盖了从设计理念的理解、功能规划的代码实现,再到后端联测的完整工作流。

值得一提的是,“图生代码” 功能自带大前端属性,能够输出适用于 PC 端和移动端的代码,适应了当下多终端设备的开发需求。

比如,在一个电商网站前端界面的开发中,对于商品展示组件的设计图,“图生代码” 功能可以快速生成包括 HTML (超文本标记语言)用于构建页面结构、 CSS (层叠样式表)用于页面样式设计和 JavaScript (脚本语言)用于实际交互效果的代码,并且这些代码能够准确地还原设计图中的功能和样式需求。

由此可见,前端开发的未来式,一些基础固有组件几乎都可以交给 AI 来完成,解放开发者更多时间于创新功能与艺术交互之上,生产出更多跨时代意义的产品。 

代码提质:策略、技术、场景

上面简述了 CodeFuse 的架构以及特色功能,溯源本真,它产出的代码质量如何?好用与否?

先讲策略,余航表示,CodeFuse 服务的对象大多是开发者、程序员,那么这就意味着:CodeFuse 必须要以“程序员的思维”去解决“程序员的问题”

图源:网络

就拿解决 “仓库级别代码任务” 来说,常规的解决方法是利用 LLM 构建代码 Agent ,因为仓库级别任务的复杂性,Agent 不得不增加节点来完成输出任务,但节点一多,可能会导致输出结果失准,同时,节点过多,交互耗时也会变长。

对此,CodeFuse 引入了一个概念 ——“Code Graph”(代码图),通过学习程序分析构建的代码图,并对齐 Graph 和 Code 两个模态,使得 LLM 能够更好地捕捉仓库级结构和依赖关系,从而解决开发者的实际需求。

这不就是开发者思维吗?CodeFuse 旗下仓库级别代码理解模型 CGM 的工作原理正是如此。CGM 不仅可以端到端地将整个仓库输入进 LLM 中,方便 LLM 完成仓库级别的代码任务,并且,由于只关系到 “输入” 与 “输出” 两个环节,给出答案的时间也大大缩短。

除此之外,CodeFuse 在模型训练过程中,还使用了程序分析校验技术,对高质量代码数据进行筛选,并构建了代码领域专用字典,使得编码平均长度低 10%+。

“目前,在蚂蚁内部,最常用的功能依旧是代码生成,和写测试用例,但 CodeFuse 未来绝不单单只聚焦于这些,而是全生命周期的功能支持。”

码之艺术:全生命周期的研发支持

就实际工作场景而言,一个需求对应一个功能实现,意味着一份 PRD 文档,进入代码搭建,最后到产品上线、运维、迭代,未来的研发周期将被不断缩短。

而 CodeFuse 的剑锋所指,正是全生命周期的研发支持。

依托于 CodeFuse 的强大底座,已能在需求分析阶段为开发者提供智能辅助,帮助梳理项目脉络,进入研发阶段,无论是代码补全、代码生成,抑或是图生代码功能,均可大大减少开发者的重复劳动。

当产品上线后,CodeFuse 又可以实时监测系统运行状态,智能预警潜在风险,帮助跨仓业务的稳定运行,将运维工作交给 AI 来完成,真正实现全生命周期的无缝衔接与高效流转。

目前,在开源领域,CodeFuse 已取得了令人瞩目的成就,先后推出 MFTCoder 系列,DevOps 系列,CodeFuse-Query 代码分析引擎,Test-Agent 、CodeFuse IDE 等产品,此外还有超多数据集和模型,不仅为全球开发者提供了丰富的技术资源,更推动了整个行业的技术迭代和创新浪潮。

今年,CodeFuse 还将亮相于 12 月 28 日由开源中国( oschina.net )举办的 2024 源创会年终盛典,为广大开发者带来最新的开源技术、前沿的技术视角以及实战的落地经验,敬请期待!



关于大会:作为年度的压轴盛典,2024 源创会年终盛典将于 2024 年 12 月 28 日隆重举行。

本周六,源创会老友们,珠海见!

本届盛典以“AI为伍,重启征程”为主题,邀请开源领域的顶尖专家、技术领袖和一线开发者齐聚一堂,共同回顾过去一年的辉煌成就,探讨未来技术发展的无限可能。

2024  源创会年终盛典报名通道现已开启,诚邀全球开源技术爱好者齐聚珠海共襄盛举。

▲扫码即可报名


↓点击「阅读原文」
一键报名2024 OSC源创会年终盛典