研究人员在本周的《科学》杂志上报告说:"这一结果标志着人工智能系统首次在编程比赛中取得了竞争性的表现。"
虽然现在还没有必要对天网敲响警钟,但DeepMind的代码生成系统在Codeforces平台上最近的编程竞赛的模拟评估中获得了54.3%的平均排名--这是一个非常"平均"的平均数。
"竞争性编程是一项极其困难的挑战,我们现在的水平(在10次提交中解决约30%的问题)与顶级程序员(在一次提交中解决>90%的问题)之间存在巨大差距,"DeepMind研究科学家李宇佳(科学论文的主要作者之一)称,"剩下的问题也明显比我们目前解决的问题更难。"
尽管如此,该实验指出了人工智能
应用的一个新的前沿。微软也在探索这一领域,它有一个名为Copilot的代码建议程序,通过GitHub提供。亚马逊也有一个类似的软件工具,叫做CodeWhisperer。
西雅图艾伦人工智能研究所的创始首席执行官兼AI2孵化器的技术总监奥伦-埃齐奥尼(Oren Etzioni)表示,新发表的研究强调了DeepMind在应用被称为大型语言模型或LLM的AI工具方面的主要地位。
"这是一个令人印象深刻的提醒,OpenAI和微软并没有垄断LLMs的惊人功绩,"Etzioni在一封电子邮件中说。"远非如此,AlphaCode比GPT-3和微软的Github Copilot都要好。"
AlphaCode因其编程方式而引人注目,也因其编程质量而引人注目。"该系统最令人惊讶的地方也许是AlphaCode不做什么。AlphaCode不包含关于计算机代码结构的明确的内置知识。相反,AlphaCode依靠一种纯粹的'数据驱动'方法来编写代码,通过简单地观察大量的现有代码来学习计算机程序的结构,"卡内基梅隆大学的计算机科学家J.Zico Kolter在一份关于该研究的科学评论中写道。
AlphaCode使用一个大型的语言模型,根据对问题的自然语言描述来构建代码。该软件利用了大量的编程问题和解决方案的数据集,加上GitHub上的一组非结构化代码。AlphaCode为手头的问题生成数以千计的拟议解决方案,对这些解决方案进行过滤,以抛出那些无效的解决方案,将幸存的解决方案归为一组,然后从每组中选择一个例子提交。
这种程序有可能"创造"出正确的代码,这似乎令人惊讶。Kolter说,可以想象,AlphaCode的方法可以与更多的结构化机器语言方法相结合,以提高系统的性能。
他写道:"如果将数据驱动的学习与工程知识相结合的'混合'ML方法可以在这个任务上表现得更好,就让他们试试吧。AlphaCode铸就了这一点。DeepMind正在继续完善AlphaCode。虽然AlphaCode是从~0%到30%的重要一步,但仍有很多工作要做,"
在寻求创建代码生成软件的过程中,人工智能有很大的空间,期望快速迭代和改进。Etzioni说:"我们离生成性人工智能的'大爆炸'只有10秒钟。许多在更广泛的数据上的令人印象深刻的产品,包括文本和结构化的数据,很快就会到来,"Etzioni说。"我们正在狂热地试图弄清楚这项技术能走多远。"
随着工作的进行,AlphaCode可能会激起关于人工智能的承诺和潜在危险的长期辩论,就像DeepMind的AlphaGo程序在展示基于机器的对围棋游戏的掌握时那样。而且,编程并不是人工智能的快速发展引起争议的唯一领域。
一个名为ChatGPT的开放性人工智能程序在科技界引发了一股热潮,因为它能够以详细的答案和文件来回应信息请求,而这些答案和文件可以帮助我们更好地理解人工智能。