发布时间:2023-06-22
点击次数: 整理 | 核子可乐,褚杏娟
接触过基础计算机科学课程的朋友们,肯定都曾亲自动手设计排序算法——也就是借助代码将无序列表中的各个条目按升序或降序方式重新排列。这是个有趣的挑战,可行的操作方法也多种多样。人们曾投入大量时间探索如何更高效地完成排序任务。
作为一项基础操作,大多数编程语言的标准库中都内置有排序算法。世界各地的代码库中使用了许多不同的排序技术和算法来在线组织大量数据,但至少就与 LLVM 编译器配套使用的 C++ 库而言,排序代码已经有十多年没有任何变化了。
近日,谷歌 DeepMind AI 小组如今开发出一种强化学习工具 AlphaDev,能够在无需通过人类代码示例做预训练的情况下,开发出极限优化的算法。如今,这些算法已经集成到 LLVM 标准 C++ 排序库中,这是十多年来排序库部分第一次发生变化,也是第一次将通过强化学习设计的算法添加到该库中。
把编程过程视为“游戏”
DeepMind系统通常能够发现人类从未想过的解决问题的方法,因为它不需要预先接触任何人类游戏策略。DeepMind 学习经验时完全依靠自我对抗,因此存在某些情况下形成可被人类利用的盲点。
这种方法跟编程其实非常相似。大型语言模型能够编写有效的代码,是因为它们已见过大量人类代码示例。但也正因为如此,语言模型很难产出人类之前没做过的东西。如果我们希望对普遍存在的现有算法(例如排序函数)做进一步优化,那么继续依赖现有人类代码将很难突破固有思路的束缚。那么,如何才能让 AI 找到真正的新方向?
DeepMind研究人员使用了类似于国际象棋和围棋的方法来优化代码任务,将其转化为单人的“拼图游戏”。AlphaDev 系统开发出一种 x86 汇编算法,会将代码的运行延迟视为一个分数,在努力将该分数最小化的同时确保代码能够顺畅跑通。AlphaDev逐渐掌握了撰写高效、简洁代码的技巧,这得益于强化学习的应用。
AlphaDev 基于 AlphaZero。DeepMind is well-known for developing AI software that can learn game rules on its own.。这一路思维被证实非常有效,并成功解决了许多游戏难题,如国际象棋、围棋和《星际争霸》等。虽然具体细节因所玩游戏而异,但 DeepMind 软件确实能在重复游玩中不断学习,持续探索能令得分最大化的办法。
AlphaDev 的两个核心组件是学习算法和表示函数。
使用 DRL 和随机搜索优化算法相结合来进行组装游戏,是 AlphaDev 学习算法的一种方法。AlphaDev 中的主要学习算法是 AlphaZero 33 的扩展,AlphaZero 33 是一种著名的 DRL 算法,其中
训练神经网络以指导搜索完成游戏。
该函数用于监控代码开发时的综合性能,覆盖了算法一般结构,以及对 x86 寄存器和内存的使用。该系统将逐步引入汇编指令,在使用游戏系统借鉴的蒙特卡罗树搜索方法进行选择时独立添加。树状结构允许系统快速将搜索范围缩小至包含大量潜在指令的有限区域,而蒙特卡洛方法则以一定程度的随机性从这个分支区域内选择具体指令。请注意,这里所指的“指令”是选定特定寄存器等操作以创建有效且完整的程序集。)
接着,系统会对汇编代码的延迟和有效状态进行评估,并给出分数,并将其与上一次得分进行比较。通过强化学习,系统能够记录树形结构中不同分支的工作信息,以用于给定的程序状态。在随着时间的推移,系统会逐渐熟悉如何以最高得分(代表最低延迟)来赢得游戏(成功完成排序)。The primary representation function of AlphaDev is based on Transformers.。
为了训练 AlphaDev 发现新算法,AlphaDev 在每轮中都会观察它生成的算法和中央处理器 (CPU) 中包含的信息,然后通过选择要添加到算法中的指令完成游戏。AlphaDev 必须有效地搜索大量可能的指令组合,以找到可以排序的算法,并且还要比当前最好的算法更快,同时代理模型可以根据算法的正确性和延迟获得奖励。

图 A:组装游戏,图 B:奖励计算
最终,AlphaDev 发现了新的排序算法,这些算法可以让 LLVM libc++ 排序库得到改进:对于较短的序列,排序库的速度提高了 70%;对于超过 250,000 个元素的序列,速度提高了约 1.7%。
具体而言,该算法的创新主要在于两种指令序列:AlphaDev Swap Move(交换移动)和 AlphaDev Copy Move(复制移动),通过这两个指令,AlphaDev 跳过了一个步骤,以一种看似错误但实际上是捷径的方式连接项目。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

左图:带有 min(A,B,C) 的原始 sort3 实现。
右图:AlphaDev Swap Move - AlphaDev 发现你只需要 min(A,B)。

左:max (B, min (A, C)) 的原始实现用于对八个元素进行排序的更大排序算法。
右:AlphaDev 发现在使用其复制移动时只需要 max (B, min (A, C))。
这套系统的主要优势在于,其训练过程不借助任何代码示例。相反,系统会自主生成代码示例,然后对其做出评估。过程当中,它也就逐渐掌握了关于有效排序的指令组合信息。
从排序到散列
ChatGPT Writer
免费 Chrome 扩展程序,使用 ChatGPT AI 生成电子邮件和消息。
106
查看详情
在发现更快的排序算法后,DeepMind 测试了 AlphaDev 是否可以概括和改进不同的计算机科学算法:散列。
哈希是计算中用于检索、存储和压缩数据的基本算法。就像使用分类系统来定位某本书的图书管理员一样,散列算法可以帮助用户知道他们正在寻找什么以及在哪里可以找到它。这些算法获取特定密钥的数据(例如用户名“Jane Doe”)并对其进行哈希处理——这是一个将原始数据转换为唯一字符串(例如 1234ghfty)的过程。此哈希算法用于快速检索与密钥相关的数据,避免了搜索全部数据的过程。
DeepMind 将 AlphaDev 应用于数据结构中最常用的散列算法之一,以尝试发现更快的算法。AlphaDev发现,在散列函数使用9-16字节范围内的数据时,该算法的速度提高了30%。
今年,AlphaDev 的新哈希算法被发布到开源 Abseil 库中,可供全球数百万开发人员使用,该库现在每天被数万亿次使用。
实际可用的代码
复杂程序中的排序机制能够处理大量任意条目的集合。但在标准库层面来看,这种能力源自一系列高度限定的具体函数。这些函数各自只能处理一种或几种情况。例如,某些单独算法只能对 3、4 或 5 个条目做排序。我们可以使用一组函数对任意数量的条目进行排序,但是每次函数调用最多只能对4个条目排序。
AlphaDev has been implemented by DeepMind on each function, but its actual operating methods differ significantly.。可以编写没有分支语句的代码来处理特定数量条目的函数,即根据变量状态执行不同的代码。因此代码性能往往与所涉及的指令数量成反比。
AlphaDev 已经成功将 sort-3、sort-5 和 sort-8 的指令数量各减一,在 sort-6 和 sort-7 中的指令削减量甚至更多。只有 sort-4 上没能找到改进现有代码的方法。实际系统中重复运行测试表明,较少的指令确实提高了性能。
要对可变数量的条目进行排序,就需要在代码中包含分支语句,并且不同处理器专门处理这些分支的元件数量也不同。
研究人员在对这种情况进行评估时,使用了100台不同的计算设备。AlphaDev 在这类场景下同样找到了进一步榨取性能的方法,下面我们以一次最多排序 4 个条目的函数为例,看看它到底是怎么操作的。
在 C++ 库的现有实现中,代码需要进行一系列测试来确认具体需要对多少个条目做排序,再根据条目数量调用相应的排序函数。
而 AlphaDev 修改后的代码则采取更加“神奇”的思路:它先测试是不是 2 个条目,如果是则调用相应函数立即做排序。如果数量大于 2 个,则代码会先对前 3 个条目做排序。这样如果确实只有 3 个条目,则返回排序结果。由于实际是有 4 个条目要做排序,所以 AlphaDev 会运行专门代码,以非常高效的方式将第 4 个条目插入到前 3 个已经排序完成的条目中的适当位置。
这种办法听起来有点怪异,但事实证明其性能确实始终优于现有代码。
由于 AlphaDev 确实生成了更高效的代码,所以研究团队打算把这些成果重新合并到 LLVM 标准 C++ 库中。但问题是这些代码为汇编格式,而非 C++。因此,他们需要进行逆向计算,以找出生成相同程序集的 C++ 代码。
这句话的重写版本:现在,这部分代码已经被整合入 LLVM 工具链,并进行了近十年以来的首次更新。根据研究人员的估计,AlphaDev每天产生的新代码被执行数万亿次。
结束语
这真是太好了!我们程序员早在很早以前就学会了这种基本的排序任务,但现在我们的速度提高了 70%。我们都依赖的算法和库中的 AI 提供了重大的加速,让人感到非常兴奋。”有开发者对谷歌 DeepMind 的成果表示振奋。
但也有开发者并不买账:“相当令人失望……1.7% 的改善?5 个元素的序列 70%?可能是最不受欢迎、最不切实际的应用研究……”也有开发者表示:“说发现了新算法是不是有点误导人?似乎更像是算法优化。无论如何这仍然很酷。”
参考链接:
https://arstechnica.com/science/2025/06/googles-deepmind-develops-a-system-that-writes-efficient-algorithms/
https://www.deepmind.com/blog/alphadev-discovers-faster-sorting-algorithms
深度:为什么中国数据库领域没有出现像Snowflake这样的巨头?
十七年来奇葩大崩溃!为不让OpenAI和谷歌白拿数据,Reddit 收取巨额API 费用还诽谤开发者,社区爆发大规模抗议
“偷”代码建起公司、学历*、6天拿下1亿美元却拖欠工资,这位AI独角兽CEO屡遭质疑后亲自回应了
以上就是谷歌借AI打破十年排序算法封印,每天被执行数万亿次,网友却说是最不切实际的研究?的详细内容,更多请关注其它相关文章!
# AI
# 排序算法
# 不切实际
# 库中
# 谷歌
# 免费网站推广教程
# 丰台营销推广厂家地址电话
# 郑州自助建站seo
# 移动营销app推广方案
# 深圳辰硕关键词排名推广
# 简述网站的建设工具
# 馆陶网站快排seo
# SEO还能做么
# 丹东排名seo优化服务
# 郑州天蝎网站推广优化
# 解决问题
# 对其
# 很难
# 也有
# 更快
# 数据结构
# 提高了
# 封印
相关栏目:
【
行业新闻62819 】
【
科技资讯67470 】
相关推荐:
套娃不可取:研究人员证实用AI生成的结果训练AI将导致模型退化
日本学校探索引入 AI 和无人机:提高安保效率,节省劳动力
李开复:未来几年,人工智能会革了所有人的命,除非你这么做
微软商店 AI 摘要功能开启预览,帮助用户迅速了解应用评价
13万个注释神经元,5300万个突触,普林斯顿大学等发布首个完整「成年果蝇」大脑连接组
Meta推出VR订阅服务Quest +:每月免费玩两款游戏,7.99美元/月
成功孵化首个大型模型解决方案的重庆人工智能创新中心
沐曦首款AI推理GPU亮相:INT8算力达160TOPS!
WAIC 2025|云深处科技绝影Lite3与X20四足机器人亮相
警惕!AI或致虚假信息泛滥
1000万张照片训练AI模型 科学家找到水下定位新方法
昌吉市利用无人机实现全天候河道动态巡检
微软Bing聊天机器人电脑端即将支持语音提问
AI+游戏首度大范围公布实际应用成果,AI全面来临还有多远?
组建团队,字节跳动要造机器人?
生成式AI爆发,亚马逊云科技持续专注创新,助力企业数字化转型
学而思网校推出首个基于自研大模型的《人工智能第一课》
讯飞听见会写“会议摘要”功能全面升级,AI更懂你的关注点
抢占新赛道 加快机器人产业集聚发展
成都大运会闭幕式引入人形机器人展示表演
小米又拿下国际比赛第一:AI翻译立功
WHEE安装教程
消息称 Meta Quest 将推 VR 游戏订阅:每月 7.99 美元,任选两款
财联社首档运用虚拟人技术播报栏目《AI半小时》今晚上线!敬请期待
大疆 Air 3 无人机售价和实物照片曝光
再度重仓 AI 赛道,SaaS 巨头 Salesforce 扩大 AIGC 风投基金规模
放弃自动驾驶,也是一种和解
清华系面壁智能开源中文多模态大模型VisCPM :支持对话文图双向生成,吟诗作画能力惊艳
消息称字节机器人团队已有约50人,计划年底扩充到上百人
研究发现AI聊天机器人ChatGPT不会讲笑话,只会重复25个老梗
Xbox游戏工作室负责人:VR/AR领域的用户规模还不足够
发布最新版本的 PICO OS 5.7.0:支持VR头盔录屏并跨平台分享至微信
羚客系统即将升级,推出全新的AI数字化工具
小米9号员工李明宣布创业:打造首款安卓桌面机器人
美图吴欣鸿:希望更多人用上AI时代的影像生产力工具
支持跨语言、人声狗吠互换,仅利用最近邻的简单语音转换模型有多神奇
人脸识别+全景双摄+AI算法 萤石推动智能锁行业革新
超级智能到底是什么?
电池比 Air 2S 大 20%,大疆 Air 3 无人机现身 FCC
微软在 Build 大会上宣布的新 Microsoft Store AI Hub 现已开始推出
用AI升级会议体验!思必驰多款会议产品亮相全球智博会!
2025世界人工智能大会成功召开
小米创始人雷军将揭示小米AI在年度演讲中的最新进展
脑虎科技:奔跑在“脑机接口”最前沿 跨界融合取得阶段性成果
智能电网技术:提高能源效率和可靠性
华为即将推出HarmonyOS 4,再度领先行业的AI技术
WHEE网页地址入口
在心理治疗中用VR技术,治疗成效显著提高
70年前他本想逃避考试,却影响了整个互联网
标贝科技亮相国际顶会ICASSP2025 加速布局海外AI数据市场