AI卷趴程序员!DeepMind代码生成系统AlphaCode,超越近半码农

编辑:桃子拉燕
去年 , OpenAI发布了重磅产品——Codex , 一个能自己编程的AI 。
AI编程这件事似乎也变得不新鲜了 , 像GitHub前不久闹得风风火火的Copilot , 也是其中一个 。
刚刚 , DeepMind发布了一个名为AlphaCode的代码生成系统 , 并声称可与人类相匹敌 。
最新研究成果Competition-LevelCodeGenerationwithAlphaCode已于2月2日发表 。
AI卷趴程序员!DeepMind代码生成系统AlphaCode,超越近半码农
文章图片
DeepMind表示 , 「尽管AlphaCode的水平不一定能代表一般编程人员所面临的编程任务 , 但可以说明自主编程向前迈出了重要的一步」 。
DeepMind使用编程竞赛平台Codeforces上托管的10个现有竞赛来测试AlphaCode , 总体排名位于前54.3% , 也就是说它击败了46%的参赛者 。
CodeContests上的每个问题有100万个样本 , AlphaCode解决了34.2%的问题 。
DeepMind声称 , 就总体性能而言 , 在过去6个月参加过比赛的用户中 , AlphaCode的数据排到了前28% 。
AI卷趴程序员!DeepMind代码生成系统AlphaCode,超越近半码农
文章图片
举个栗子:
在AlphaCode测试的一个例子中 , 参赛者需要找到一种方法 , 使用一组有限的输入将一串随机重复的s和t字母转换成另一串相同的字母 。
竞争对手不能只是输入新的字母 , 而必须使用「退格」命令删除原始字符串中的几个字母 。 有关挑战问题的详细描述如下:
AI卷趴程序员!DeepMind代码生成系统AlphaCode,超越近半码农
文章图片
AlphaCode给出的解决方案如下 ,
AI卷趴程序员!DeepMind代码生成系统AlphaCode,超越近半码农
文章图片
在AlphaCode的案例中 , DeepMind在CodeContests上对系统进行了微调和测试 。
在10项挑战被输入到AlphaCode系统后 , AlphaCode生成大量可能的答案 , 并像人类竞争者那样运行代码和检查输出 , 从中筛选出这些答案 。
论文合著者称 , 整个过程是自动进行的 , 没有人为去选择最好的样本 。
AI卷趴程序员!DeepMind代码生成系统AlphaCode,超越近半码农
文章图片
AlphaCode包含414亿个参数 , 大约是Codex的4倍 , 训练数据集是715.1GB 。
据介绍 , 研究者在选定的公共GitHub代码上预先训练模型 , 并在相对较小的竞争性编程数据集上对其进行微调 。
在评估的时候 , 研究人员为每个问题创建了大量的C++和Python程序 , 数量级比以前的工作要大 。
然后对这些解决方案进行筛选、聚类和重新排序 , 并将这些解决方案提交给一个由10个候选程序组成的小集合 , 供外部评估 。
AI卷趴程序员!DeepMind代码生成系统AlphaCode,超越近半码农
文章图片
这个自动化系统取代了人类竞争对手的调试、编译、通过测试和最终提交的反复试验过程 。
结果显示 , AlphaCode能够在这项竞争中脱颖而出 , 并且解决问题的能力超出了现有人工智能系统的能力 。
DeepMind指出 , AlphaCode目前所拥有的技能只适用于具有竞争性编程领域 , 但它的能力为创造未来的工具打开了大门 , 这些工具将使编程变得更容易被人们接受 , 并且有朝一日可以完全实现自动化 。
AI卷趴程序员!DeepMind代码生成系统AlphaCode,超越近半码农
文章图片
许多其他公司也在开发类似的应用程序 。 例如 , 微软和人工智能实验室OpenAI已经将OpenAI的语言生成程GPT-3 , 改造成一个自动完成代码字符串的程序 。
AlphaCode和GPT-3一样 , 前者也同样基于Transforme语言模型的人工智能体系结构 , 它特别擅长解析顺序文本 , 包括自然语言和代码 。