人工智能大数据,工作效率生产力
Ctrl + D 收藏本站,更多好用AI工具
当前位置:首页 » AI资讯

DeepMind发布AI编程系统AlphaCode,可达到竞赛级编程水平

2024-05-22 65

人工智能(AI)的飞速发展有目共睹,如今,AI 在下围棋、玩星际争霸等游戏、生成艺术作品、甚至是优化微芯片的架构等方面都达到或超过了人类的水平。接下来,AI 会在编程方面也超过人类吗?

事实上,自动化编程已经不是一个新鲜话题。今天已经有一些功能强大的大规模语言模型,在网页设计等简单的编程任务中,展现出了在代码生成方面的潜力。然而,要想让 AI 通过编程来解决那些较为复杂且隐晦的问题,仍有很长的路要走。

而最近来自DeepMind 开发的名为 AlphaCode 的系统,可通过基于转换器的语言模型来生成代码,并且针对那些需要深度推理的编程问题,能够创建新颖的解决方案。在 10 场有 5000 多名人类参与者的竞赛级别的编程比赛中,AlphaCode 排名位于前 54.3%。也就是说,其已达到了平均人类水平。

近日,相关论文以《可实现完成竞赛级别的代码生成任务的 AlphaCode》(Competition-level code generation with AlphaCode)为题发表在 Science,并成为当期封面论文[1]。

DeepMind发布AI编程系统AlphaCode,可达到竞赛级编程水平插图

图 | AlphaCode 相关论文(来源:Science)

让 AI 实现编程有着许多挑战,尤其是即使对于同一个问题,可提供的解决方案也可能看起来截然不同,而如何让 AI 对部分正确或不正确的程序进行判断,是一项艰巨的挑战。

此前已经有一些可完成简单编程任务的 AI 系统,例如 Codex 可以完成简短的叙述总结等任务。但是,当真正面对复杂的编程问题,这些 AI 系统便显得捉襟见肘。尤其是如何让 AI 编程,使用 C++ 或 Python 等通用编程语言来生成整个程序,来解决诸如较长的自然语言描述任务等,在这方面一直进展不多。

为解决这一问题,DeepMind 为 AlphaCode 设置了以下三个关键组件,使其得以在代码生成任务中实现可以与人类竞争的水平:一是选用广泛且简洁的竞争性编程数据集,以便进行训练和评估;二是采用大型、且具备高效采样能力的架构;三是通过大规模模型抽样来缩小探索空间,并根据程序行为对一小组提交内容进行过滤。

AlphaCode 训练时所选择的数据集,是竞争性的编程数据集。该数据集也正是这些复杂编程问题的代表集,AI 不仅需要理解复杂的自然语言描述,对以前未见过的问题进行推理,还要掌握范围广泛的算法和数据结构,并能精确地实施跨越数百行的解决方案。此外,由于每年都有全球数十万编程者广泛参与,因此竞争性编程问题集可以更好地确保针对问题找到最佳解决捷径,从而提供更好的判别基准。

DeepMind发布AI编程系统AlphaCode,可达到竞赛级编程水平插图1

图 | AlphaCode 系统的概述(来源:arXiv)

如上图所示,是 AlphaCode 系统的概述,简单来说系统工作主要分为以下四个过程:

首先,系统会在有着标准语言建模目标的 GitHub 代码集上,对基于转换器的语言模型进行预训练。这样模型便可实现合理地将问题在人类的编码空间定位,从而大大减少了问题搜索范围。

然后,系统以 GOLD 作为训练目标,在竞争性编程数据集上进行模型的微调。这可以进一步将搜索空间缩小,并可以通过预训练来补偿少量的竞争性编程数据。

接下来,系统会为每个问题生成大量样本。

最后,系统对这些样本进行过滤,并获得数量不超过 10 个的一小组候选样本提交。然后通过使用示例测试和聚类等,对所选样本进行隐藏的测试评估,然后根据程序的反馈来选择样本。

可以看出 AlphaCode 中有个独特的设置,就是在大规模采样后进行过滤,这大大提高了问题解决率,能够促进更快捷、高效的采样。

为了对 AlphaCode 的性能进行评估,研究人员将其在著名的编程竞赛 Codeforces 和 CodeContests 平台上进行了评估。

DeepMind发布AI编程系统AlphaCode,可达到竞赛级编程水平插图2

图 | AlphaCode 系统在 10 次 Codeforces 中的排名(越低越好)(来源:arXiv)

经过评估,AlphaCode 系统在 10 次 Codeforces 竞赛中,平均排名可达到前 54.3%,也就是已经与平均人类编程者的水平。

概括来说,此次人工智能辅助编码平台的开发,会显着提高程序员的生产力。同期Science 评论中写道:“它代表了机器学习模型向前迈出的实质性一步,该模型可以通过合成计算机程序来解决一些挑战性问题。”另据悉,论文作者告诉媒体,虽然 AlphaCode 是从 0% 到 30% 的重要一步,但仍有很多工作要做,下一步其将继续完善 AlphaCode。

参考资料

1.Yujia Li et al. Science 378, 6624,1092-1097(2022).DOI: 10.1126/science.abq1158

举报/反馈

原文链接:https://baijiahao.baidu.com/s?id=1751778973357411234&wfr=spider&for=pc

相关推荐

阅读榜

hellenandjeckett@outlook.com

加入QQ群:849112589

回顶部