龙空技术网

比人类算法快70%!谷歌DeepMind用AI改进数据排序,登上Nature

智东西 567

前言:

此刻同学们对“快速排序软件”大约比较注重,同学们都需要学习一些“快速排序软件”的相关资讯。那么小编在网络上收集了一些有关“快速排序软件””的相关内容,希望小伙伴们能喜欢,各位老铁们快快来了解一下吧!

智东西

编译 | 程茜

编辑 | 心缘

智东西6月8日消息,昨晚,人工智能研究实验室Google DeepMind发布三大AI工具AlphaZero、MuZero、AlphaDev,这些工具可以提高数据中心资源利用率、提升视频压缩效率、发现更快算法,从而优化整个计算生态系统。

昨天,AlphaDev的相关进展已经登上国际学术顶刊Nature。AlphaZero的专用版本AlphaDev还发现了新算法,可以将短元素序列的排序效率提高70%。

现在,AlphaDev的新排序算法已发布到C++库中。Google DeepMind的博客称,这是十多年来排序库算法的第一次变化,也是第一次将通过强化学习设计的算法添加到该库中。散列算法也已经发布到开源Abseil库中。

C++库开源链接:

论文链接:

Google DeepMind正在努力创建对世界具有广泛理解的AI工具来优化计算生态系统,作为构建更加强大和通用人工智能系统的一部分。

研究人员还在扩展基于强化学习的谷歌AI模型AlphaZero、MuZero的能力,用来帮助优化数据中心的视频压缩,使得数据中心未充分利用的硬件数量减少19%,以及在不损失视频质量的同时,进一步降低比特率。

这些工具目前实现了整个计算生态系统中效率的提升,但这些结果也证明了未来更通用的人工智能工具具有变革的潜力。

一、AlphaDev:排序效率提升70%、检索效率提升30%,数百万开发人员已应用

此前,Google DeepMind开发了一个用于玩围棋游戏的AI系统AlphaZero,现在研究人员将这一系统应用到了构建算法排序中打造了AlphaDev,其结果显示,AlphaDev创建的算法在转换为标准编程语言C++时,排序数据的速度是人类生成版本的三倍。

“我们有点震惊。”领导这项工作的Google DeepMind计算机科学家Daniel Mankowitz说,“起初我们不相信(这个结果)。”

AlphaDev可以被用于快速排序(faster sorting)和散列算法(hashing algorithms),这两种算法每天会被使用数万亿次来对数据进行排序、存储、检索。

1、下象棋到找算法,短元素排序效率提高70%

排序算法会影响所有数字设备处理和显示信息的方式,包括一些在线搜索结果的呈现、社交媒体上帖子的排名以及一些用户推荐内容。

AlphaDev研发了一种可以提升排序效率的算法,并且该算法与C++库中人类设计的算法相比可以将短元素序列的排序效率提高70%,将超过25万个元素的序列排序效率提高约1.7%。这也使得当用户提交搜索查询时,AlphaDev的算法可以快速对结果进行排序,以更快找到与用户搜索相关度高的答案。

刚开始,研究人员将AlphaDev应用于按大小对数字进行排序的任务,刚开始只是让其一次对3、4、5个数字进行排序,这对于后续让其进行较多数字排序很重要。

对两个数字进行排序

AlphaDev的工作方式与AlphaZero类似,后者结合了计算机版本的深思熟虑和直觉来选择棋盘游戏中的动作。AlphaDev则不会选择动作,它会选择指令添加到一个过程中。

AlphaDev通过从头开始而不是改进现有算法来发现更快的算法,并且它会关注计算机的汇编指令。汇编指令用于为计算机创建二进制代码以执行操作,Google DeepMind的研究人员认为,在这个较低层次上会有很多可以改进的地方。

在构建算法时,AlphaDev会通过将算法的输出与预期结果进行比较来检查它是否正确。对于排序算法,这意味着无序数字进入,正确排序的数字出来。研究人员会奖励AlphaDev对数字的正确排序以及排序的速度和效率。

2、数据存储节省近70%时间,算法已经开源

Google DeepMind团队还将AlphaDev应用于非排序算法,它用于将特定格式存储的数据转换为字节的算法版本比标准版本少用了67%的时间,用于数据存储和检索的散列算法比标准算法花费的时间少30%。

散列信息算法通常用于在数据库中进行存储和检索。散列算法通常使用一个关键词来生成一个对应的唯一散列,这一散列就会对应于需要检索的数据值,如输入关键词用户名“Jane Doe”,会生成检索对应的“订单号164335-87”。

一个较为相似的场景是,图书管理员通过分类系统来快速查找特定书籍,计算机借助散列算法,就可以快速理解它要找什么以及在哪里能找到。

输入关键词检索对应数据值

当应用于数据中心9-16字节范围的散列算法时,AlphaDev的算法能将检索效率提升30%。

去年1月,Google DeepMind的研究人员在LLVM项目的C++标准库中发布了基于机器学习的排序算法,在Abseil库发布了散列算法,目前,已经有云计算、在线购物、供应链管理等行业的数百万开发人员和公司正在应用这些算法。

二、AlphaZero:优化数据中心资源,硬件充分利用率提高19%

数据中心需要管理从提供搜索结果到处理数据集的一切任务。谷歌大规模集群管理系统Borg管理着谷歌的数十亿个任务,同时这一系统还要去分配工作负载来优化数据中心的内部基础设施,并处理谷歌搜索等用户使用的服务,管理批处理。

分配工作负载这一过程就像Borg在玩俄罗斯方块,如何在有限的空间内,最大程度地放置更多的方块,把空余的位置都利用起来。

将分配工作负载比喻为俄罗斯方块游戏

此前,Borg需要使用手动编码的规则来安排任务,优化工作负载。但面对庞大如数十亿个任务的规模时,这些手动编码的规则无法考虑不断变化的工作负载分布的多样性,因此它们被设计为“最适合所有人的一种尺寸”,也就是选择了一个中间值。

在这一场景下,AlphaZero就派上了用场,其构建的算法能够自动创建单独的最佳定制规则,这些规则使得Borg在分配工作负载时更加高效,能找到适合不同任务的规则。

研究人员在实验期间发现,AlphaZero还能识别进入数据中心的任务的模式,以及预测管理容量的最佳方法,并做出具有最佳长期结果的决策。

当AlphaZero应用于Borg时,研究人员的实验表明,这种方法可以将未充分利用的硬件数量减少多达19%,优化谷歌数据中心的资源利用率。

三、MuZero:编码视频图片组,压缩比特率降低4%

在互联网中,视频流会占据其流量的相当大一部分,因此,如果能提升视频传输的效率,将会对每天观看视频的数百万人产生巨大影响。

去年,Google DeepMind与视频网站YouTube合作,通过MuZero来压缩和传输视频,其结果显示,这一工具能在不影响视频质量的情况下将比特率降低4%。

早期,研究人员将MuZero应用于优化视频中每个单独帧的压缩,现在,他们将其扩展至决定在编码过程中如何对帧进行分组和引用。

最开始,MuZero会定义要压缩的GOP(group of pictures,图片组)帧,然后根据图片的视觉相似性进行分组。MuZero会将其中一个图片组的关键帧进行压缩,再参考关键帧去压缩其它帧,在这一过程中,该算法会通过块搜索(block search)来查找图片中变化最小的区域,使得压缩效果更好还能保证视频质量。

MuZero压缩图片组

最后,一组图片组压缩完成后,MuZero再按照同样的步骤完成视频其它部分图片组的压缩。

这些研究的早期结果表明MuZero有潜力成为一个更通用的工具,帮助研究人员在视频压缩过程中找到最佳解决方案。

结语:通用人工智能工具的变革潜力已经凸显

当下,Google DeepMind的AI工具正在使得数十亿用户在使用计算机的过程中节省时间和精力,包括从玩游戏到解决每台计算机设备核心的复杂工程问题。研究人员认为,这仅仅是个开始。

未来,越来越多的通用人工智能工具或许可以优化为数字世界提供动力的整个计算生态系统,但与此同时,支持这些工具背后的数字基础设施需要更快、更高效、更可持续。因此,这一愿景的实现需要更多理论和技术上的突破。

不可否认的是,通用人工智能工具的变革潜力已经显现出来,并且研究人员已经开始考虑将其应用于技术、科学和医学等领域。

标签: #快速排序软件 #谷歌算法调整