DeepMind推出AlphaDev:革新排序算法+提速70%!

煤油灯科技2023-06-08 17:25

谷歌的人工智能 (AI) 研究实验室DeepMind通过其最新的人工智能系统 AlphaDev 在计算机科学领域取得了非凡的成就。这个专业版本的AlphaZero通过发现更快的排序和哈希算法取得了重大突破,这些算法是全球开发人员每天使用数万亿次进行数据排序、存储和检索的基本过程。

在7号发表在科学杂志《自然》上的一篇论文中,DeepMind 断言,与 C++ 库中的算法相比,AlphaDev 新发现的算法对短元素序列的排序效率提高了 70%,对超过 250,000 个元素的序列的排序效率提高了约 1.7% . 因此,当用户提交搜索查询时,AlphaDev 的算法有助于更快地对结果进行排序,从而在大规模使用时节省大量时间和能源。

此外,该系统还发现了一种更快的哈希信息算法,在数据中心应用于 9 到 16 字节范围内的哈希函数时,效率提高了 30%。

革新计算机科学

DeepMind 相信这一非凡成就彻底改变了计算机科学,并有望提高效率和有效性。

“AlphaDev 发现了改进的排序算法,包括新颖的创新,例如 AlphaDev 复制和交换移动,”谷歌 DeepMind 员工研究科学家 Daniel Mankowitz 告诉 VentureBeat。“类似于 AlphaGo 著名的‘37 步’,它产生了一套新的策略来玩古老的围棋游戏,AlphaDev 独特的算法发现有望激发新的视角和策略,以优化基础计算机科学算法并使它们更快。 ”

Mankowitz 表示,这是强化学习的一个重要里程碑,因为它提供了更多证据证明其有能力做出新发现,尤其是在代码优化领域。

该公司还宣布打算通过 LLVM libc++ 标准排序库提供新算法,旨在为不同行业的数百万开发人员和公司提供支持。值得注意的是,这次更新代表了十多年来对排序库这一部分的第一次修订,并首次包含了通过强化学习开发的算法。

Mankowitz 说:“我们估计,我们的开源排序算法将速度从 2% 提高到 70%,每天在全球范围内被调用数万亿次。” “这些算法可以为在其系统和应用程序中调用这些功能的开发人员和公司节省资源。我们相信,这些算法将激励研究人员和从业者开发新方法,从而发现更多新算法和改进算法。”

利用强化学习增强传统算法开发

根据 DeepMind 的说法,大多数计算算法已经到了人类专家无法进一步优化它们的阶段,导致计算瓶颈不断升级。

该公司强调了一个事实,即使用深度强化学习通过生成精确高效的算法来增强开发方法。这是通过优化 CPU 指令级别的实际测量延迟,同时进行更有效的搜索并考虑准确和快速程序的空间来实现的。

排序算法的核心是促进按指定顺序对项目进行系统排列。这些是计算机科学教育的基础。

同样,哈希在数据存储和检索中得到广泛应用,例如在客户数据库中。散列算法通常使用一个键(用户名“Jane Doe”)来生成一个唯一的散列,该散列对应于检索所需的数据值(“订单号 164335-87”)。类似于图书馆员利用分类系统快速定位特定书籍,散列系统使计算机能够拥有所需信息及其精确位置的先验知识。

精细的概述

尽管开发人员主要使用用户友好的高级语言(如 C++)编写代码,但将这些语言翻译成低级汇编指令对于计算机理解是必不可少的。

DeepMind 的研究人员认为,许多增强功能存在于较低级别,这可能会对在更高级别的编程语言中揭开面纱构成挑战。装配级别为计算机存储和操作提供了灵活性,呈现出可以显着影响速度和能源效率的巨大改进潜力。

要在 C++ 中运行算法,首先要将其编译成称为汇编指令的低级 CPU 指令,这些指令在 CPU 的内存和寄存器之间操作数据。

Mankowitz 说:“这提供了算法如何运行的更详细的概述,因此更容易找到优化来改进算法。” “通过在汇编中进行优化,我们发现了 AlphaDev 复制和交换动作。这些是汇编指令序列,当应用于汇编程序时,可以通过单个指令减少程序大小。”

DeepMind 发现更快算法的独特方法

图片DeepMind 的 AlphaDev 采用了一种非常规的方法,通过冒险进入计算机汇编指令领域(人类很少探索的领域)来发现更快的算法。

为了解锁新算法,AlphaDev 从 DeepMind 著名的强化学习模型 AlphaZero 中汲取灵感,该模型在围棋、国际象棋和将棋(日本象棋)等游戏中战胜了世界冠军。

为了训练 AlphaDev 发现新算法,研究团队将排序重新设想为单人“组装游戏”。AlphaDev 利用强化学习来观察和生成算法,同时整合来自 CPU 的信息。 

人工智能系统在每一步都主动选择一条指令并入算法,鉴于大量潜在的指令组合,导致了一个错综复杂且要求很高的过程。

发现更快、正确的程序

图片随着 AlphaDev 逐步构建算法,它还通过将算法的输出与预期结果进行比较来验证每一步的正确性。这种方法的最终目标是找到一个正确且更快的程序,从而在游戏中取得胜利。

DeepMind 的 AI 系统发现了新颖的排序算法,这些算法在 LLVM libc++ 排序库中得到了实质性的改进。

该研究主要侧重于增强较短序列的排序算法,通常由三到五个元素组成。由于这些算法经常被合并到更大的排序功能中,因此提高它们的效率可以提高排序任意数量项目时的整体速度。

为了提高可用性,DeepMind对未发现的算法进行了逆向工程,并将其转换为 C++。

超越排序算法的领域

Mankowitz 解释说,这些改进是针对对数字进行排序的 sort3、sort4 和 sort5 例程,特别是整数和浮点数。

“任何时候开发人员或应用程序需要对这些数据类型进行排序,都可以调用我们的排序算法,”他说。“根据要分类的项目数量,速度提高了 2% 到 70%,而且这些功能每天被调用数万亿次,开发人员和用户将能够运行他们的应用程序/使用各种服务,同时消耗更少的资源。”

此外,AlphaDev 的能力超越了排序算法的领域。DeepMind 探索了该系统推广其方法和增强其他基本计算机科学算法(包括散列)的潜力。将 AlphaDev 的方法应用于 9 到 16 字节范围内的散列算法,速度提高了 30%。

“因此,我们优化了散列的‘正确性’(最小化冲突)和速度(延迟),”Mankowitz 解释道。哈希算法现在可以在 Abseil 开源库中使用。

Deepmind 的下一步是什么? 

DeepMind 表示,AlphaDev 是朝着创建能够优化整个计算生态系统和应对各种社会挑战的多功能人工智能工具迈进的重要里程碑。

虽然优化低级汇编指令已被证明非常强大,但该公司表示,它正在积极探索 AlphaDev 直接用 C++ 等高级语言优化算法的潜力,这对开发人员来说更有价值。

“AlphaDev 正在优化计算堆栈的一部分,”Mankowitz 说。“这使得在堆栈中运行的底层算法更加高效。我们也在尝试优化堆栈的其他方面。”

例如,在运行应用程序和服务时更有效地调度资源,优化 Youtube 的视频压缩管道,优化运行系统和应用程序的底层硬件。

Mankowitz 说:“我们希望这些算法能让研究人员和从业者对如何构建算法有不同的看法。”


参考链接:https://venturebeat.com/ai/deepminds-alphadev-discovers-sorting-algorithms-that-can-revolutionize-computing-foundations/

 

---煤油灯科技victorlamp.com编译整理---

你可能也喜欢这些文章

科技互联网,科技,资讯,动态,洞察,量子,计算,AI,人工智能,机器人,区块链,Web3,分布式,操作系统,OS,芯片,视频,深度,论文