计算的基础就此改变了 。「通过交换和复制移动,AlphaDev 跳过了一个步骤,以一种看似错误,但实际上是捷径的方式连接项目 。」这种前所未见、违反直觉的思想不禁让人回忆起 2016 年那个春天 。
七年前,AlphaGo 在围棋上击败人类世界冠军,如今 AI 又在编程上给我们上了一课 。
今天凌晨,google DeepMind CEO 哈萨比斯的两句话引爆了计算机领域:「AlphaDev 发现了一种全新且更快的排序算法,我们已将其开源到主要 C++ 库中供开发人员使用 。这只是 AI 提升代码效率进步的开始 。」
![AI重写排序算法,速度快70%:DeepMind AlphaDev革新计算基础](http://img.jiangsulong.com/230609/160H95354-0.png)
文章插图
这一次,Google DeepMind 的全新强化学习系统 AlphaDev 发现了一种比以往更快的哈希算法,这是计算机科学领域中的一种基本算法,AI 的成果现已被纳入 LLVM 标准 C++ 库 Abseil 并开源 。
这个成果有多重要?AlphaDev 的主要作者之一,Google DeepMind 研究科学家 Daniel J. Mankowitz 表示:「我们估计它发现的排序和哈希算法每天会在全世界被调用数万亿次 。」
![AI重写排序算法,速度快70%:DeepMind AlphaDev革新计算基础](http://img.jiangsulong.com/230609/160H92M2-1.png)
文章插图
AI 似乎从算法层面加速了世界的运转 。
这些算法改进了 LLVM libc++ 排序库,对于较短的序列,排序库的速度提高了 70%,对于超过 25 万个元素的序列,速度也能提高约 1.7% 。Google DeepMind 表示,这是十多年来排序库这部分的第一次变化 。看起来,现在 AI 不仅可以帮人写代码,而且可以帮我们写出更好的代码 。
在最新的博客中,新系统的作者们对 AlphaDev 进行了详细介绍 。
新的算法将改变计算基础
数字社会推动了对计算和能源日益增长的需求 。过去五十年里,数字时代依靠硬件的改进来跟上需求 。但是随着微芯片接近其物理极限,改进在其上运行的代码变得至关重要 。对于每天运行数万亿次的代码所包含的算法来说,这尤其重要 。
Google DeepMind 的这项研究就是因此产生的,相关论文已发表在《Nature》上,AlphaDev 是一个 AI 系统,它使用强化学习来发现算法,甚至超越了科学家和工程师们几十年来打磨出来的成果 。
![AI重写排序算法,速度快70%:DeepMind AlphaDev革新计算基础](http://img.jiangsulong.com/230609/160H9B28-2.png)
文章插图
总体来说,AlphaDev 发现了一种更快的排序算法 。虽然数十亿人每天都在使用这些算法,但却没有人意识到这一算法还存在优化空间 。排序算法应用范围广泛,从在线搜索结果、社交帖子排序,到计算机以及手机上的各种数据处理,都离不开排序算法 。利用 AI 生成更好的算法将改变人类编程计算机的方式,对日益数字化的社会将产生重大影响 。
通过在主要的 C++ 库中开源新排序算法,全球数百万开发人员和公司现在可以在云计算、在线购物和供应链管理等各行各业的人工智能应用中使用它 。这是十多年来对排序库的首次更改,也是通过强化学习设计的算法首次被添加到该库中 。这将这视为使用人工智能逐步优化世界代码的重要里程碑 。
关于排序
排序算法是一种按照特定顺序对某些任务进行排列的方法 。例如,按字母先后顺序排列三个字母,从大到小排列五个数字,或者对数百万条记录的数据库进行排序 。
这种算法由来已久,并得到了很好的演进 。其中关于排序的最早一个示例可追溯到公元 2 世纪和 3 世纪,当时学者们在亚历山大图书馆的书架上手工按字母顺序排列了数千本书 。随着工业革命的到来,出现了可以帮助人们进行排序的机器,其中制表机使用打孔卡片存储信息,这些卡片被用于收集美国 1890 年的人口普查结果 。
随着上世纪 50 年代商用计算机的兴起,最早用于排序算法的计算机科学算法开始发展 。如今,在全球的代码库中有许多不同的排序技术和算法被用于处理海量的在线数据 。
![AI重写排序算法,速度快70%:DeepMind AlphaDev革新计算基础](http://img.jiangsulong.com/230609/160H94123-3.png)
文章插图
将一系列未排序的数字输入到算法中,输出已排序的数字 。
经过计算机科学家和程序员们几十年的研究,目前的排序算法已经非常高效,以至于很难再实现进一步的改进,这有点类似于试图找到一种新的节省电力或更高效的数学方法,而这些算法也是计算机科学的基石 。
探索新算法:汇编指令
AlphaDev 从头开始探索更快的算法,而不是基于现有算法之上,除此以外,AlphaDev 还能用于寻找大多数人所不涉足的领域:计算机汇编指令 。
汇编指令可用于创建计算机执行的二进制代码 。开发人员使用诸如 C++ 之类的高级语言编写代码,但必须将其转换为计算机能够理解的「低级」汇编指令 。
推荐阅读
- 你了解抖音算法吗?
- excel怎么找出重复的内容然后排序
- 下列汉字演变过程的时间排序正确的是隶书小篆楷书行书--汉字演变过程的时间排序正确的是?
- 强过AutoGPT!微软重磅研究提出APO算法,「自动提示」淘汰提示工程师
- 数据结构与算法 --- “哨兵”思想
- 刚重构 Windows 核心库,Rust 又重写 sudo 和 su!
- 算法|风口上的生成式AI:岗位吃香,年薪百万
- AI学习必须了解的十种常用算法,你知道几个?
- Go 语言实现快速排序算法
- Rust重写万物?