程序员创造的AI要让自己下岗了

程序员创造的AI要让自己下岗了
文章图片
智东西(公众号:zhidxcom)
编译|程茜
编辑|李水青
智东西12月9日报道 , 今天 , DeepMind的计算机程序编写AI(人工智能)模型AlphaCode , 登上国际学术顶刊Science封面!
当人工智能与人类并肩参加编程竞赛会发生什么?在竞争性编码比赛平台Codeforces的10场比赛中 , AlphaCode在比赛的模拟评估中平均排名前54.3% , 其编码技能水平超过剩余的人类参与者 。
程序员创造的AI要让自己下岗了
文章图片
AlphaCode的比赛模拟评估结果
外媒GIZMODO报道称 , 在测试中 , AlphaCode能够实现“近似人类水平的表现” , 该模型通过预测代码段创建大量潜在解决方案 , 能解决竞赛中以前未见过的自然语言问题 , 该模型的整体性能相当于经过几个月到一年培训的“新手程序员” 。
程序员创造的AI要让自己下岗了
文章图片
AlphaCode根据问题描述提供的解决方案
程序员创造的AI要让自己下岗了】AlphaCode生成代码示例:https://alphacode.deepmind.com/#layer=18,problem=114,token=79,heads=11111111111
程序员创造的AI要让自己下岗了
文章图片
论文链接:https://www.science.org/doi/10.1126/science.add8258
一、从理解到解决问题 , AI写代码能力近似人类为不可预见的问题创造解决方案是人工智能发展的第二路径 。 目前 , 机器学习的相关研发在生成和理解文本数据方面取得了巨大进步 , 但在解决问题方面的进展仍然局限于相对简单的数学和编程问题 , 或者检索和复制现有解决方案 。
因此 , DeepMind构建了AlphaCode系统 , 该系统可以解决需要批判性思维、逻辑、算法、编码和自然语言理解能力相结合的新问题 。
AlphaCode并没有内置关于计算机代码结构的知识 , 而是依靠完全的“数据驱动”方法来编写代码 。 也就是说 , 该模型通过观察大量现有代码 , 来学习计算机程序的结构 , 基于机器学习模型LLM , AlphaCode就可以通过一次次预测给定问题描述中的单个字符 , 来进行学习 。
为了评估这一模型的表现 , AlphaCode模拟参与了Codeforces的10场比赛 。 这些比赛的难度在于 , 参与者不可能通过复制以前见过的解决方案或尝试每一种可能相关的算法等捷径来解决问题 。 因此 , 为了赢得比赛 , AlphaCode必须创造新颖有趣的解决方案 。
在生成大量解决方案之后 , AlphaCode会将它们过滤到最多10个解决方案 。
程序员创造的AI要让自己下岗了
文章图片
AlphaCode编程处理过程
研究人员称 , 在这些比赛中解决问题的能力 , 已经超过了现在AI系统的能力 。
从AlphaCode在比赛中的排名来看 , 这一模型的表现可能并不突出 。 但研究人员谈道 , 在编码比赛中取得成功是非常困难的 。
面对没有见过的编码问题 , AlphaCode必须首先理解自然语言中的复杂编码问题 , 然后对不可预见的问题进行“推理” , 而不是简单地记住代码片段 。 研究人员认为 , 没有任何证据表明他们的模型只是简单从训练数据中复制了核心框架 。
二、10000多个文本预训练 , 整合候选解决方案AlphaCode在竞争性编程任务中优于其他系统的原因在于预训练和候选解决方案 。
研发人员为该模型构建了CodeContest数据集 , 该数据集由约13500个竞争性编程问题的说明性文本、所需输入输出对的简单测试用例以及跨几种变成语言的问题潜在解决方案组成 。