围棋人工智能程序-全球数百万开发人员将排序算法纳入常用Libc+库
“说实话,我们没有想到会取得更好的成绩:这是一个非常短的程序,这些类型的程序已经被研究了几十年,” 论文的第一作者、Google DeepMind 的研究科学家 Daniel Mankowitz 说道。
Google DeepMind 表示,他们已经将该算法纳入常用的 Libc++ 库,这是十多年来对这部分排序算法库的首次修改。这意味着,全球数百万开发人员和公司现在可以将其用于从云计算和在线购物到供应链管理的人工智能应用中。
MIT 教授、CSAIL 首席运营官 Armando Solar-Lezama 在评论文章中写道,“也许更值得注意的是,人工智能系统可以在不了解问题本身的情况下改进代码。”
通过游戏找到最佳算法
利用人工智能生成更好的算法,将改变我们编程的方式,影响我们日益数字化的社会的各个方面。
排序算法是世界各地的计算机不断使用的基本功能,因此,由人工智能创造的改进算法可以使数百万程序运行得更快。
据介绍围棋人工智能程序,AlphaDev 基于 AlphaZero(一种强化学习模型,在围棋、国际象棋等游戏中击败了世界冠军),通过 AlphaDev围棋人工智能程序,Google DeepMind 展示了这个模型如何从游戏转移到科学挑战,并从模拟转向现实世界的应用。
为了训练 AlphaDev 来发现新算法,DeepMind 将排序转化为一个单人“汇编游戏”。在每个回合,AlphaDev 都会观察它生成的算法和 CPU 中包含的信息。然后,它通过选择一条指令来为算法添加一步行动。
这个汇编游戏非常困难,因为 AlphaDev 必须有效地搜索大量可能的指令组合,以找到一种比当前最佳算法更快的排序算法。可能的指令组合的数量与宇宙中的粒子数量或国际象棋和围棋中可能的行动组合数量相似,一次错误的行动就可能会导致整个算法无效。
在构建算法时,AlphaDev 逐步添加一条指令,并通过将算法的输出与期望结果进行比较来验证其正确性。对于排序算法来说,这意味着无序的数字输入,正确排序的数字输出。Google DeepMind 根据 AlphaDev 正确排序数字的能力以及完成排序的速度和效率来奖励它。AlphaDev 通过发现一个正确且更快的程序来赢得游戏。
最终,AlphaDev 构建了一个新算法,对于 5 个数据的列表,它比最好的算法快 70%,对于超过 25 万个项目的列表,它比最好的算法快 1.7%。
“我们最初以为它犯了一个错误,或者有一个 bug 或其他东西,但是,当我们分析这个程序时,我们意识到 AlphaDev 实际上已经发现了更快的东西,”Mankowitz 说。
Mankowitz 表示,“优化每天被调用数万亿次的基本函数的代码,有望带来足够大的好处,鼓励人们尝试执行更多这些函数,并将其作为解决摩尔定律放缓瓶颈的途径之一。”
对此,英国伯明翰大学教授 Mark Lee 认为,AlphaDev 很有意思,即使是 1.7% 的速度提升也很有用。但他也认为,即使在其他普通算法中发现类似的效率,也不能确定这种方法真的可以弥补摩尔定律的瓶颈,因为它不能在更复杂的软件中取得同样的收益。
构建通用人工智能工具的重要一步
目前,Google DeepMind 正在探索 AlphaDev 在 C++ 等高级语言中直接优化算法的能力,这对于开发人员来说将更加有用。
Google DeepMind 在官方博客中写道,“通过优化和推出全球开发人员使用的改进排序和哈希算法,AlphaDev 展示了其具有真实世界影响的泛化和发现新算法的能力。我们将 AlphaDev 视为发展通用人工智能工具的一步,这些工具可以帮助优化整个计算生态系统,并解决其他有益于社会的问题。”
从玩游戏到解决复杂的工程问题,人工智能工具正在为数十亿人节省时间和精力。而这仅仅或许只是一个开始。
我们可以设想一个未来,在这个未来中,我们将有更快、更高效、更可持续的数字基础设施,更多的通用人工智能工具将被用来帮助优化驱动我们数字世界的整个计算生态系统。
参考链接:
|点击关注我 记得标星|