国内首款“方法级”代码生成模型诞生,「aiXcoder」让程序员一键生成源代码

2022-06-22
打破国外垄断,国内也有智能编程机器人了!

图片

程序员们可能自己都想象不到,现在的AI智能编程机器人已经“能干”到这个程度了:程序员在aiXcoder的网页上输入想要实现功能的自然语言描述后,只需轻点按钮,就能得到满足该功能的完整代码。

比如输入文字“将byte数组转化为16进制字符串”,系统就会自动生成与之对应的方法级源代码,程序员可以直接取用,或者根据具体的需求对代码进行再修改。

是不是觉得有点熟悉?就跟我们日常使用的中英文在线翻译一样,这项技术就相当于程序界的“语言互译”。

此前,只有国外的GitHub原生AI代码生成工具Copilot可以做到上述功能。如今,国内初创团队aiXcoder即将上线的aiXcoder XL版智能编程助手,或许能打破国外垄断该技术的现状。

aiXcoder团队创始于2018年,是一家AI智能编程机器人研发商,目前已完成两轮融资。最近完成的A轮融资,融资数额为数千万元,由高瓴创投投资。

aiXcoder XL自动生成源代码GIF

有效提升编程效率

软件行业发展几十年,主要由工程师来编程的工作模式却并未发生太大变化。“Copilot和aiXcoder的出现让我们看到了人工智能代替或部分代替人类进行编程的可能。”aiXcoder CEO王振宇告诉创业邦。

智能化作为下一代软件开发变革的重要趋势,在高质量和高效率方面都具有显著优势,市场方面同样存在巨大潜力。以我国的行业数据为例,目前我国软件行业从业人员约为800万,智能编程辅助工具对生产力的提升若按平均20%计算,产生的市场规模也相当可观。

瞄准智能编程赛道,aiXcoder早期生产了一款基于深度学习模型的智能编程机器人,其包含代码自动补全、相似代码智能搜索两款功能。其中,代码补全是软件开发中最常用的开发辅助功能之一。

今年,在以前的版本基础上,aiXcoder团队结合鹏城实验室提供的计算资源,成功训练出了用于代码自动生成、代码自动补全、代码自动注解的大规模多任务预训练模型,模型产品化为aiXcoder XL版智能编程助手。

模型参数量越大,代码补全的效果就越好。但训练大模型耗时耗力,如果训练出的模型只能用于一个任务,比较浪费人力和金钱。“所以我们设计了一个多任务的预训练模型,通过使用模型并行和数据并行等技术加速训练,让它可以支撑更多的下游任务,从而实现一次训练、多任务使用的效果。”aiXcoder CTO郝逸洋表示。

多任务设计让aiXcoder XL大型预训练模型实现了三种功能:一是代码自动生成,即根据程序员输入的功能描述自动生成完整的代码段;二是代码自动补全,即依据程序员已经写下的代码自动预测并推荐后续代码;三是代码注释自动生成,即根据输入代码自动生成代码的注释。

“支持方法级的代码生成,可以根据自然语言功能描述生成完整程序代码,这是aiXcoder XL大模型最核心的特点。”郝逸洋强调,aiXcoder XL最大的作用是能够有效提高开发者的工作效率和工作质量,降低开发者的劳动负担,在提升经济效益的同时进一步释放开发者的潜能。

aiXcoder XL大型预训练模型概念图

多年深耕深度学习领域

采用深度学习技术是aiXcoder系列产品区别于其他竞争者的关键所在,事实上也是其项目研发的起点。

资料显示,aiXcoder孵化自高可信软件技术教育部重点实验室(北京大学),创始人李戈为教育部长江学者,首席科学家谢涛是国际知名计算机软件科学家、北京大学讲席教授。

联合创始人则有三位,其中,郝逸洋硕士毕业于早稻田大学计算机系,曾就职于微软亚洲工程院,是人工智能技术领域的专家;刘洋硕士则毕业于北京大学计算机系,曾就职于朗讯、黑莓等企业,具有多年创业经验和多年软件研发管理经验;王振宇毕业于清华大学经管学院EMBA,具有多年IT行业从业经验,以及10年以上企业高层管理、产品、市场、销售经验。

同时,aiXcoder团队在国际上率先开展了基于深度学习的程序分析与生成的研究和产业化应用,是全球知名的研究力量。

“我们是最早从事基于深度学习的程序、理解和生成的研究者之一,在代码生成方面有雄厚的技术积累。”aiXcoder 郝逸洋表示,“但训练模型需要大量的计算资源,aiXcoder XL大型预训练模型实际上是借助了鹏城实验室的海量计算资源才得以诞生。”

测试数据显示,aiXcoder XL作为大参数规模的模型,通过自然语言描述自动生成的代码在正确性、规范性等方面都达到了匹敌Copilot的效果。

除了性能优越,aiXcoder XL大型预训练模型还有另一个优势,即可以部署在私有的AI设备上。“随着边缘计算场景的持续发展,边缘计算设备也会愈发普及。在不久的将来,用户就可以将aiXcoder XL模型部署在私有的AI计算设备上,从而实现安全且本地化的代码智能化服务。”郝逸洋表示。

产品同时覆盖B端企业和C端用户市场

目前,最新研发的aiXcoder XL大型预训练模型已正式上线,与之对应的aiXcoder XL版智能编程助手也正在进行市场化测试,将于近期面世。

在企业合作上,aiXcoder已与腾讯、华为、百度等企业达成合作,主要通过在企业内部署基于深度学习的私有化智能模型,为B端企业提供生产力级的智能化编程能力服务。

在C端,aiXcoder系列产品的用户数已覆盖130多个国家和地区,未来,aiXcoder将持续迭代产品,不断提升C端用户的使用体验,打造连接开发者的品牌社区,扩大影响力。

“我们将会与各行业的头部企业合作,这些企业往往拥有很强的创新意识,且开发者规模大,引入‘智能化开发’将能够有效提升开发质效;同时也能帮助aiXcoder的产业进行充分的打磨,为后续逐步覆盖其他更多的企业提供助力。面向C端,aiXcoder的计划是服务好开发者用户,为他们打造人人可用的‘智能结对编程机器人’,形成产品生态圈,逐步扩大市场份额。”王振宇表示。

本文为创业邦原创,未经授权不得转载,否则创业邦将保留向其追究法律责任的权利。如需转载或有任何疑问,请联系editor@cyzone.cn。

反馈
联系我们
推荐订阅