乐视网发起设立规模5亿至10亿元的投融资并购基金
06-18
4月9日,北大软件工程学院开源了其aiXcoder全新自研7B代码大模型团队。
作为“AI+软件开发”领域的专业团队,aiXcoder开源的7B大代码模型或将给企业“软件工程”带来新的可能。
在美国,AI软件开发工具GitHub Copilot的ARR(年度经常性收入)已达到1亿美元,成为AI向开发者应用的里程碑产品。
纳德称其为“微软最成熟的GenAI产品”,“对程序员来说,它就像微软Word中的拼写和语法检查一样必要”。
但事实上,如果AI要真正帮助开发者解决问题,“拼写和语法检查”只是表面现象。
从“软件工程”的角度来看,帮助开发者解决真实软件开发场景中的问题是根本。
aiXcoder团队来自北京大学软件工程研究所。
他们不仅是全球第一个利用深度学习技术进行程序代码处理的团队,也是第一个推出基于深度学习的编程产品的团队。
aiXcoder团队新一代自研7B大代码模型此次开源,聚焦真实企业开发场景,致力于解决企业私有化部署场景下的软件开发问题。
该模型的Base版本已在Github、Gitee、Gitlink等平台开源。
多个主流评估集的评估结果表明,aiXcoder-7B模型在代码生成和补全能力方面展现了百亿级大型代码模型的效果。
它更快、更准确。
而且,由于它充分考虑了企业私有化部署的需求,更适合企业的真实发展场景。
在如今的AIGC创业浪潮中,aiXcoder团队的先发优势是否会使其脱颖而出?我们距离软件开发自动化的美好愿景还有多远? 01 aiXcoder团队“探路”十年来,北京大学软件工程研究所(aiXcoder团队前身)的研究人员发表了《Building program vector representations for deep learning》(译为《构建深度学习的程序向量表示》)等多篇里程碑式的研究论文。
全球首次验证了深度学习路线在代码处理领域的作用。
但当这项研究提出时,使用深度神经网络来处理程序代码仍然是一个极其大胆的假设。
当时,软件从业者普遍认为“软件自动化只是一个长远而美好的愿景”,而AI领域只抱着“可以尝试一下”的态度。
当时,随着图灵奖得主Geoffrey Hinton解决了多层神经网络训练问题,深度学习技术相继在语音、视觉、自然语言领域大放异彩。
相关技术在行业中正在迅速变化,但尚未有人与程序代码的处理绑定在一起。
计算机可以编译和运行程序,那么为什么我们需要计算机来学习理解程序呢? 但对于北京大学软件工程研究所的研究人员来说,这个问题是从研究第一天就被“种草”的课题。
在他们看来,人们之所以编写程序,是因为计算机只能“理解”编程语言。
“人们编写程序来为机器提供服务。
”研究人员的使命是将人们从“服务机器”的困境中解放出来。
然而,为了让计算机能够编写自己的程序,它必须首先学会理解程序。
换句话说,计算机不仅必须能够运行程序,而且还必须能够理解其运行的程序的语义。
基于这样的信念,他们做出了一个大胆的猜想:如果你在互联网上“抓取”程序,并训练一个“深度学习引擎”来处理该程序,那么就可以实现。
给这个引擎一段程序代码,它就能自动分析程序的意图。
反过来,如果你给引擎一个意图描述,它就可以生成代码。
那年冬天,他们在课题组长李革教授的带领下,开始了将深度学习技术应用于程序处理领域的研究。
当时还没有今天大家熟悉的TensorFlow、Pytorch等深度学习框架,所以一群人选择使用C++编程语言从最底层开始构建神经网络,包括反向传播算法、求导算法等。
作为一项探索性研究,团队面临的第二个挑战是缺乏 GPU。
当时,他们从北京大学软件工程研究所找到了17台“退役”的PC,将它们分布在北京大学的机房各处,并将这些计算机与本地网络连接起来,完成训练深度神经网络的任务。
训练效率可想而知。
跑了一个多月,跑了5万条数据。
幸运的是,结果令人欣喜。
根据上面的论文提到:在程序分析任务——程序功能分类、程序模式检测中,深度学习比以前的方法更加准确。
这让团队看到了深度学习技术应用于程序处理的前景,并坚定地踏上了十年的征程。
2016年,他们发表了最早的程序生成论文《On End-to-End Program Generation from User Intention by Deep Neural Networks》(译为《基于用户意图的端到端程序生成的深度神经网络》),开创了利用深度学习技术生成程序代码的先河。
今年5月,aiXcoder初始实验室版本deep-autocoder上线,开启了不断完善代码补全模型参数、完善产品交互形态的探索,代码补全和生成效果正在取得成效越来越好。
2017年,随着产品的打磨和成熟,实验室产品也开始面向行业。
6月,aiXcoder原型版发布,并继续与华为、百度、腾讯等多家领先公司合作,做代码生成和补全、代码分析概念验证等技术。
随后,针对不同领域,aiXcoder团队开始探索不同模型驱动不同任务的方式,推出了Android版、Python版等不同领域的模型版本。
直到 2018 年 OpenAI 的 Codex 出现,业界才开始相信在更大更深的神经网络上训练大型代码模型正在变得越来越好。
不久之后,aiXcoder团队在鹏城实验室计算能力的支持下,开发出了第一个代码量超过10亿的大规模模型——aiXcoder L版本。
2020年6月,aiXcoder团队发布了国内首个完全自主知识产权的方法级代码生成模型aiXcoder XL。
该模型拥有数百亿个参数,可以根据自然语言函数描述一键生成完整的程序代码(NL to Code)。
2020年8月,专注企业适配的aiXcoder Europa版本上线。
除了自动代码补全、生成、缺陷检测和修复等常规功能外,aiXcoder Europa 还针对企业场景量身定制,能够满足企业数据安全和算力需求。
,提供私有化部署和个性化培训服务,在提高研发效率的同时有效降低大型代码模型的应用成本。
在产品不断升级、突破一个又一个评测基准的同时,aiXcoder团队也在积极帮助银行、证券、高科技、军工等领域的领先企业客户实现真正的大代码模型应用。
同时,资本市场也看好aiXcoder的发展前景,高瓴、清流、缤富等行业领先的明星股东纷纷对其进行投资。
今天,当ChatGPT点燃了人们对AI的热情时,回顾aiXcoder团队过去十年的探索,他们是先驱者,积累了深厚的算法、工程能力和市场诀窍。
在大模型技术尚未成熟到“用就用”的情况下,aiXcoder团队将深度学习技术与软件领域的专业能力相结合,有效帮助企业实现软件自动化。
02 开源aiXcoder-7B,加速“软件开发自动化” 4月9日开源发布的aiXcoder 7B也秉承了产品服务企业的核心理念。
aiXcoder 7B不仅在基本代码生成能力上超越了同级别的现有模型,甚至在某些特定任务上的表现也比参数更大的15B和34B的大型代码模型更好。
如下图所示,aiXcoder-7B在HumanEval、MBPP、MultiPL-E这三个主流代码生成效果评估集上表现出了明显的优势。
事实上,在真实的开发环境中,上述NL to Code基于自然语言生成相应代码的能力只是基础。
目前主流的评估方法与真实场景相差甚远。
编写程序或代码需要各种集成、扩展和调用关系。
NL to code提供了基于自然语言的方法,在实际场景问题中是碎片化的。
为此,aiXcoder-7B在模型构建过程中特别考虑了与实际开发场景相符的项目级代码的处理能力。
因此,它比其他模型更好地考虑到软件项目中包含的其他相关代码文件。
重要信息,例如类定义、类属性、方法定义等。
在专门考虑项目级信息的代码生成评估数据集CrossCodeEval(Ding等人)上,aiXcoder-7B表现出明显优于其他模型的准确性。
(下图)同时,在代码补全场景下,开发者不仅期望模型生成具有完整语法结构、完整处理逻辑的完整代码块,还需要调用上下文中已经实现的函数尽可能的,这样才符合实际的开发风格。
为了评估实际开发场景中的完成效果,aiXcoder还在开源评估数据集上用0多个真实开发场景代码展示了最优结果。
而且,与其他型号相比,aiXcoder 7B更喜欢使用较短的代码来完成用户指定的任务。
为什么aiXcoder-7B能够在接近真实企业开发场景的数据集上取得如此优异的成绩呢? aiXcoder团队向极客公园透露,其从客户需求中“生长”出来的代码模型技术,使得aiXcoder系列模型,包括7B-base模型,易于部署、定制和组合,更适合实际的软件开发。
任务与企业应用场景深度结合,更适合落地。
去年年初ChatGPT火爆的时候,大家对大规模模型技术的期待相当高,通用人工智能似乎就差一步之遥了。
热情回归理性,随着大模型在千行百业的应用,许多现实需求涌现。
例如,在实现AI应用的第一步,虽然排行榜上有很多SOTA大型模型,但客户首先必须根据自身场景的现场评估来选择模型。
同时,企业在评估如此大的代码模型时,特别注重有效的个性化训练,以确保模型能够满足企业的特定需求。
这里的困难在于,大多数大型模型都是基于开源数据集进行训练的。
当它们在企业内部应用时,面临新的业务逻辑和编程规范,这往往会导致模型性能的下降。
因此,如何做个性化训练,让模型能够学习并适应公司特定的领域知识是关键。
在实际应用方面,aiXcoder在大模型技术流行之前始终符合客户需求,积累了许多实用且独特的技术方法论。
以推理速度为例。
这是大代码模型与一般大模型在实现上最显着的区别。
大型代码模型需要提供更快的反馈速度,并在集成开发环境(IDE)中实现“无感知服务”。
,当程序员编写代码时,它会提供即时反馈,而不会打断他们的思路。
在这个目标下,团队从算法和部署的角度积累了大量的经验。
当被问及近十年来市场需求的变化时,aiXcoder团队表示:“最明显的趋势是,开发者对AI辅助软件开发的态度逐渐从陌生和观望转变。
开始积极拥抱变革。
” 。
对于AI领域来说,通过大型代码模型实现软件开发自动化已经出现了曙光。

对于aiXcoder团队来说,软件自动化的目标是软件工程学科的起点,最终目标是将人类从繁重的软件开发劳动中解放出来。
谈及编码领域未来的产品形态,aiXcoder团队认为,它是一个智能集成开发环境,从对话式需求出发,多智能体协作进行自动化软件开发。
至于端到端程序自动化能够实现到什么程度,团队用“铁钳模型”来说明其前景。
“整个软件开发过程夹在‘需求’和‘测试’两侧,中间是大模型主导的自动化流程。
这就是软件开发可以期待的未来。
” “沿着前人指明的道路向前迈进一步,是一件幸运而幸福的事业。
” “软件自动化”的使命不是下一代人的事。
#阿里云#创新创业#创业支持#创业资讯我们关注国内外最热门的创新创业动态,提供一站式资讯服务,实时传递行业热点新闻、深度评论和前瞻观点帮助企业家掌握新兴技术。
趋势和行业变化,以及对未来技术趋势的洞察。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-18
06-17
06-18
06-18
06-18
06-18
最新文章
Android旗舰之王的过去与未来
智能手表不被开发、AR眼镜被推迟,Meta的产品经历了一波三折
为什么Cybertruck是特斯拉史上最难造的车?
更新鸿蒙3后,文杰允许你在车里做PPT了
新起亚K3试驾体验:追求“性价比”,韩系汽车仍不想放弃
阿维塔15登场!汽车配备了增程动力,理想情况下会迎来新的对手吗?
马斯克宣布创建 ChatGPT 竞争对手! OpenAI的CEO给他泼了冷水, GPT-5可能会发生巨大变化
骁龙无处不在,是平台也是生态