Nature重磅!Google DeepMind推出AlphaDev,用AI打破十年算法封印!

来源 | 新智元

今天,「Alpha」家族再添一名新成员:AlphaDev。

整个计算生态系统的基础,或将被AI创造的新算法颠覆!

谷歌大脑和DeepMind合体没多久,就带来这样一个惊世之作。

AlphaDev不仅可以将排序算法提速70%,甚至在有的算法上,能比人类快3倍之多。

十多年来,C++排序库首次更改。AI优化世界代码,又达新里程碑。

目前,最新研究已登上Nature。

论文地址:
https://www.nature.com/articles/s41586-023-06004-9

大模型研究测试传送门

GPT-4传送门(免墙,可直接测试,遇浏览器警告点高级/继续访问即可):
Hello, GPT4!

通过强化学习,AlphaDev发现了更加有效的算法,直接超越了科学家和工程师们几十年来的精心打磨。

现在,新的算法已经成为两个标准C++编码库的一部分,每天都会被全球的程序员使用数万亿次。

有网友表示,终于来了,我们现在正在踏入未知领域:人工智能正在构建人工智能!

强化学习打破十年算法瓶颈

如同AlphaZero、AlphaFold等前辈一样,AlphaDev也直接掀起了一个领域的变革。

DeepMind计算机科学家、论文一作Daniel Mankowitz表示,「我们起初根本不相信。」

「说实话,我们没有想到会取得更好的成绩:这是一个非常短的程序,而这些类型的程序,此前已经被研究几十年了。」

当前,GPT-4、Bard等大模型的参数指数级增长,对算力等资源的需求不断增长。而过去50年里,人类不断依靠芯片的改进以跟上步伐。

但随着微芯片接近物理极限,改进代码让计算更强大、更持续变得至关重要。尤其是,对每天运行数万亿次代码的算法愈重要。

今天,Google DeepMind在Nature发表的论文中,首次介绍了阿尔法家族的「新贵」AlphaDev。

AlphaDev发现了一种更快的排序算法,数十亿人每天都在不知不觉中使用这些算法。

它们是一切的基础,从在线搜索结果,社交帖子,到计算机和手机数据处理方式。这些算法每天都要执行数万亿次。

利用AI生成更好的算法,将改变我们对计算机编程的方式,并影响我们数字化社会的方方面面。

根据Nature论文中的数据,AlphaZero所创造的算法能比人类的数据排序速度快三倍。

今天,Google DeepMind还开源了在主C++库中的最新排序算法,所有人皆可用。

开源地址:
https://reviews.llvm.org/D118029

什么是排序?

排序是一种以特定顺序组织多个项目的方法。

比如按字母顺序排列三个字母,从大到小排列五个数字,或者将包含数百万条记录的数据库排序。

在人类历史中,排序方法一直在演变。最早的例子可以追溯到二、三世纪,那时的学者们在亚历山大图书馆的书架上,靠纯手工的方式,以字母顺序排列摆放了数千本书。

工业革命后,我们发明了可以帮助分类的机器——制表机将信息存储在穿孔卡上,用于收集1890年美国的人口普查结果。

而随着20世纪50年代商业计算机的兴起,出现了最早的计算机科学排序算法。

在今天,世界各地的代码库中都使用了许多不同的排序技术和算法,在线组织大量数据。

排序算法,也就是输入一系列未排序的数字,然后输出排序后的数字

这些算法,都已成为计算机科学的基石。

如今我们的算法,都需要计算机科学家和程序员投入几十年的研究去开发。

这是因为,现有的算法效率如此之高,再往前的每一步改进,都是重大的挑战。

这个艰难程度就好比找到一种节省电力能源的新方法,或者找到更高效的数学方法。

寻找新算法

AlphaDev的创新意义在于,它并不是通过改进现有算法,而是完全从头开始发现了更快的算法。

而且,它竟然着手于大多数人类并没有想到的地方——计算机汇编指令。

汇编指令用于创建二进制代码。虽然开发者写代码时用的是C++等高级语言,但为了让计算机理解,这些高级语言必须翻译成「低级」的汇编指令。

我们一般用C++之类的高级编程语言写代码,然后使用编译器将其转换为低级CPU指令,即汇编指令。汇编器再将汇编指令转换为可执行的机器代码

谷歌DeepMind的研究者相信,在这个较低的层级中存在许多可改进的空间,而这些改进在更高级的编程语言中可能很难发现。

在这个更低的级别上,计算机的存储和操作都更灵活,因此如果再多做一些潜在的改进,就会对速度和能源产生巨大的影响。

图A:一个最多排序两个元素的C++算法

图B:代码相应的程序集

AlphaDev:汇编版AlphaZero

众所周知,DeepMind的强化学习模型,在围棋、国际象棋和将棋等游戏中,屡次击败世界冠军。

而我们这次的主角——AlphaDev,基于的正是AlphaZero。

AlphaDev的工作方式与之前的AlphaZero相似,后者结合了计算机推理和直觉,在棋盘游戏中选择每一步的走法。

只不过,AlphaDev并不会选择下一步怎么走棋,而是选择添加哪些指令。

为了训练AlphaDev来发现新的算法, DeepMind将排序问题转化成了一个「汇编游戏」(Assembly Game)。

在每一轮中,AlphaDev都需要观察它生成的算法以及中央处理器(CPU)中包含的信息,并通过在算法中添加一条指令来进行移动。

而这个汇编游戏非常困难,因为AlphaDev必须有效地搜索大量可能的指令组合,从而找到一个可以排序且比当前最佳算法更快的算法。

其中「可能的指令组合」,甚至可以直接类比于宇宙中的粒子数量,或者国际象棋(10^120局)和围棋(10^700局)中可能的走法组合。

更进一步的是,任何一个错误的移动,都可能会使整个算法无效。

最后,DeepMind会根据AlphaDev正确排序数字的能力以及完成排序的速度和效率给予奖励,而AlphaDev则需要通过发现一个正确且更快的程序来赢得游戏。

图A:汇编游戏。玩家AlphaDev以系统状态st为输入,并通过选择一条汇编指令将其添加到已经生成的算法中来进行一次移动。

图B:奖励计算。在每次移动后,生成的算法会接受测试,智能体将根据算法的正确性和响应时间获得奖励。

具体来说,在进行深入思考(deliberation)时,AlphaZero会在每一个决策点琢磨下一步可能的行动,以及下一步的下一步的可能性。就像树状图一样,一步步往后推,算出哪些行动最有可能成功。

但问题在于,如果把每一个可能的情况分支都考虑到,所需的时间可能要比宇宙的年龄还长。因此,研究人员使用类似直觉(intuition)的东西来缩小范围。

在每一步中,程序将当前状态输入神经网络(一个复杂的、可调的数学函数),以找到最合适的行为。同时,在训练过程中,神经网络还会根据结果不断进行更新。有时还会故意不选评分最高的行为来进行主动探索。

AlphaDev可以采取的行动一共有四种,包括比较不同值、移动数值到另一个位置、或者跳转到程序的不同部分。

在执行完每一步之后,再试图对一组列表进行排序,并根据正确排序的列表中的数值数量获得奖励。

如此这般,这般如此,一直到排完整个列表,或者达到程序长度限制,从头开始一个新的程序。

C++运行速度提升70%

AlphaDev发现新的排序算法,为LLVM libc++排序库带来了明显的改进。

对于较短的序列,速度提高了70%,而对于超过250,000个元素的序列,速度只提高了约1.7%。

研究人员专注于改进3-5个元素较短的序列排序算法。

这些算法是使用最广泛的算法之一,因为它们经常作为更大排序函数的一部分被多次调用。

改进这些算法可以为任何数量的项目的排序提升整体的速度。

为了使新的排序算法为所有人可用,研究人员还将其进行了逆向工程,并将其翻译成「程序猿」最常用的一种编码语言C++。

目前,这些算法现在可以在LLVM libc++标准排序库中找到。

散列函数效率提升30%

在发现更快的排序算法之后,DeepMind测试了AlphaDev是否能够推广并改进不同的计算机科学算法——散列(Hash)。

散列是计算中的一种基本算法,用于检索、存储和压缩数据。就像图书管理员使用分类系统来找到特定的书籍一样,散列算法帮助用户知道他们正在寻找的内容以及确切的位置。

这些算法将特定的key(例如用户姓名「Jane Doe」)进行散列处理,也就是,将原始数据转换为唯一的字符串(例如1234ghfty)。然后,计算机会使用这个散列值来快速检索与键相关的数据,而不是搜索所有数据。

结果显示,当应用于散列函数的9到16字节范围时,AlphaDev发现的算法比传统算法快30%。

现在,DeepMind也将新的散列算法发布到了开源的Abseil库中。据了解,这个算法预计每天都会被使用数万亿次。

两种新策略:「swap move」和「copy move」

AlphaDev不仅发现了更快的算法,还发现了新的方法。

它的排序算法包含新的指令序列,每次应用时都会保存一条指令。这可能会产生巨大的影响,因为这些算法每天被使用数万亿次。

研究人员将其称之为「AlphaDev swap move」和「AlphaDev copy move」。

最新方法让人想起AlphaGo让人震惊的「第37步」。

2016年那场人机大战中,AlphaGo下了一颗违反人类直觉的棋,一个简单的肩冲,击败了传奇围棋选手李世石。

通过这两种策略,AlphaDev跳过了一个步骤,以一种看起来错误,但实际上是快捷方式连接项目。

这表明,AlphaDev有能力发现原创性解决方案,并挑战了我们对如何改进计算机科学算法的思考方式。

如下图示例原始sort3实现,有min(A, B, C),使用AlphaDev Swap Move,AlphaDev发现,你只需要min(A, B)。

再比如,原始实现用max(B, min(A ,C, D))中较大的排序算法对8个元素进行排序。

AlphaDev发现使用其「swap and copy moves」时只需要max(B, min(A, C))。

优化全世界的代码,一次一个算法

通过优化和推出全球开发者使用的改进排序和散列算法,AlphaDev证明了,它有能力概括和发现世界级的新算法。

Google DeepMind认为,AlphaDev是朝着开发AGI工具迈出的一步,这些工具有助于优化整个计算生态系统,还能解决其他有益于社会的问题。

不过,研究人员也承认,目前AlphaDev在低级汇编指令优化能力非常强,但是随着算法的发展也存在局限性。

为了让开发者更可用,AlphaDev用高级语言(如C++)优化算法的能力正在探索中。

AlphaDev的新发现,如「AlphaDev swap move」和「AlphaDev copy move」,不仅表明它可以改进算法,还可以找到新的解决方案。

研究人员希望,这些发现能激励研究人员和开发人员创造技术和方法,进一步优化基础算法,以创建一个更强大、更可持续的计算生态系统。

网友热评

英伟达科学家Jim Fan对AlphaDev做了一个深度总结:

排序算法是所有关键软件的基础。DeepMind的AlphaDev将小序列(3-5项)的排序速度提高了70%。要点:

  • 主要的RL算法是基于最初下围棋Go、Chess & Shogi的AlphaZero。同样的想法也适用于搜索程序!

  • 研究人员没有对C代码进行优化,而是对汇编代码进行优化。这是一个刻意的选择,去低级别的挤压每一条指令的保存。

  • 汇编代码然后被逆向工程为C++,并在LLVM中开源。

  • 即使表征网络使用了Transformer,它也不是一个基础模型。整个流程只适用于排序,对于其他任务如散列,必须重新训练。

在使用ML的算法发现方面取得了另一个重要的里程碑!

AlphaDev是DeepMind的一个改变游戏规则的人工智能,它创新了核心计算机科学算法。它正在重新构想排序方法,短序列的速度可提高70%。甚至散列算法的发现速度提高了30%。强化学习正在重塑算法的格局!

还有网友称,在我们对语言模型感到兴奋之余,也不要忘记其他深度学习算法的成功故事:AlphaZero、AlphaFold,以及现在的AlphaDev。

参考资料

[1]https://www.deepmind.com/blog/alphadev-discovers-faster-sorting-algorithms

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/47817.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌将发布全新搜索引擎,你期待吗?

Google一身自带AI属性的新搜索最首要的目标并非急于取代传统搜索引擎,或者说彻底打败ChatGPT,而是能够用全新的产品说服用户,变得与竞争对手同样“强大、能力出众以及顺应AI潮流”。 对于Google而言,搜索就是命脉。Google每年的收…

两分钟速览谷歌2023IO大会:AI军备竞争,全线出击

大家好,我是可夫小子,关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加:keeepdance,备注:chatgpt,拉你进群。 5月10日周三,谷歌举办了年度开发者大会Google I/O 2023,在会上…

终极合体!谷歌大脑DeepMind正式联姻,1+1>OpenAI?

【导读】陷入被动的谷歌做出了一个重大决定:谷歌大脑和DeepMind正式合并,强强联合能否打赢OpenAI? 今天,谷歌终于放大招了! CEO劈柴正式宣布,Google DeepMind成立,谷歌大脑和DeepMind两个世界…

碾压GPT-4!谷歌DeepMind CEO自曝:下一代大模型将与AlphaGo合体

【新导读】谷歌DeepMind CEO Hassabis全新爆料:全新Gemini模型将结合进AlphaGo和大语言模型,成本预计是数千万美元,甚至数亿。 谷歌,是真的破釜沉舟了。 传说中合并了AlphaGo和类GPT-4大模型的Gemini,终于要来了吗&a…

重磅!谷歌官宣谷歌大脑与DeepMind合并

两大世界领先级团队强强联手,一场大战即将开幕。 作者 | 黄楠 编辑 | 陈彩娴 当地时间 4 月 20 日,谷歌母公司 Alphabet CEO Sundar Pichai (皮猜)在官网发文宣布,正式将谷歌大脑和 DeepMind 两大团队合并,…

twitter推文案例

案例内容:twitter的推文案例。 文章目录 UserByScreenName-API游客IDauthorizationguest-tokenUserTweets-API完整代码经测试:用户推文只能翻22页,1页45条左右。 每个用户最多获取最近900条推文 (登录后),不登录区别也不大。 UserByScreenName-API 一般只有用户名的时候,…

揭开AI神秘面纱:精准识别机器生成文本,捍卫人工创作的最后防线!

随着 AI 的飞速发展,我们面临着前所未有的挑战。如今,大型语言模型生成的文本与人类撰写的文本越来越难以区分,这导致了引导公众舆论、传播虚假新闻以及学术不端等一系列问题。为此,腾讯 AI Lab 和浙江大学、西湖大学、香港大学的…

选题和需求说明

选题说明——编译课程平台 编译课程是计算机学院、软件学院的核心专业课,每年有着400的学生用户量。现有的编译课程平台使用judge平台开发,在UI布局、实验指导书、评测反馈、评测功能、讨论区设计等方面存在问题。 我们希望设计一个集成学生端和管理端…

微软开放 Bing Chat AI 访问

微软开放 Bing Chat 访问,用户不再需要等待。用户所需要是使用自己的微软账号登陆 Bing 或 Edge 浏览器。该功能目前不对中国大陆地区用户开放。微软还在升级 Bing Chat,将加入对插件的支持。微软是在从 2 月初开始提供 Bing Chat 的非公开预览&#xff…

微信小程序集成腾讯云即时通信IM

这里写自定义目录标题 腾讯云即时通信IM新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个注脚注…

常见即时通讯:网易IM 、腾讯IM、环信IM、融云IM、leancloud IM介绍

功能对比 功能网易云信环信融云leancloud云通信基础聊天支持支持支持支持支持群组聊天最多2000人最多2000人最多3000人最多500人最多10000聊天室支持最多5000人支持建议最多5000人支持图片消息支持支持支持支持支持视频消息支持支持不支持支持支持微视频音频消息支持支持支持支…

大数据-数仓-数据采集-业务数据(一):全量同步(DataX、Sqoop) v.s. 增量同步(Maxwell、Canal)

一、全量同步策略 解释:每日全量,就是每天都将业务数据库中的全部数据同步一份到数据仓库,是保证两侧数据同步的最简单的方式适用:表数据量不大,且每天即会有新数据插入,也会有旧的数据修改例如&#xff1…

国际短信平台短信路由搭建后台软件定制-移讯云短信系统

国际短信平台短信路由搭建后台软件定制-移讯云短信系统 什么是短信路由 短信路由是指当短信发送时,不通的关键字内容,不同的地区进行线路分流。实现压缩成本速度和质量保证。 新的客户端客户登录后发送短信时可自行选择用哪个通道来进行发送短信。每个通…

2023爱分析·云原生智能运维中台市场厂商评估报告:秒云(miaoyun.io)

目录 1. 研究范围定义 2. 云原生智能运维中台市场定义 3. 厂商评估:秒云(miaoyun.io) 4. 入选证书 1. 研究范围定义 数字化时代,应用成为企业开展各项业务的落脚点。随着业务的快速发展,应用的功能迭代变得越…

腾讯云即时通信 IM 服务端 SDK for PHP

安装 $ composer require hedeqiang/ten-im -vvv 配置 使用本扩展前需要登录 即时通信 IM 控制台 创建应用&#xff0c;配置管理员、获取 app_id、Key 等关键信息 更多请查看并熟读 即时通信 IM 服务端API REST API 接口列表 使用 获取用户在线状态 <?phprequire __DIR__ .…

Uni-app 小程序使用腾讯云IM实时通讯

// IM 小程序 SDK npm install tim-wx-sdk --save // 发送图片、文件等消息需要的 COS SDK 如果不需要发送图片等文件不需要下载 在APP.vue中配置好你的腾讯云配置 我测试了一下如果直接引入&#xff1a;import TIM from tim-wx-sdk的话在添加好友的地方会有错误 所以我…

产品更新 | 数据物流引擎 DTExpress 新增算力市场及跨云传输

1 月初&#xff0c;星汉未来开放内测了海量数据快速低成本传输 SaaS 产品 DTExpress&#xff0c;受到了业界广泛关注。截至目前&#xff0c;作为星汉未来云原生基础引擎系列的数据物流引擎 DTExpress 内测申请仍在持续开放中&#xff0c;并新增阿里云和华为云跨云异地传输功能以…

Intel 助力移动云百万 IOPS 云硬盘,打造极速云存储体验

前言概述 物联网、人工智能、5G 等技术带动数据爆发式增长&#xff0c;企业超大规模数据的存储与治理成本与日俱增&#xff0c;且随着数据库、实时日志分析等关键业务上云&#xff0c;企业对存储系统的性能要求也随之提升&#xff0c;存储系统面临着管理海量数据和提供极致性能…

4G DTU设备数据上传阿里云微信小程序获取阿里云设备数据

以下文章从六个部分进行展开&#xff0c;分别为&#xff1a; 一、测试使用材料 二、设备接线 三、程序下载 四、阿里云物联网平台创建产品、设备 五、温湿度上传阿里云物联网平台 六、微信小程序获取阿里云物联网平台设备数据 一、测试使用材料 二、设备接线 2.1放置物联卡 在…

腾讯云-即时通讯 IM

https://console.cloud.tencent.com/im-detail 基本配置->账号管理 &#xff08;请进入帐号管理&#xff09;