过去半个世纪,集成电路产业在摩尔定律的指引下飞速发展,算法效率一直保持着大跨度提升。2018年世界上最快的计算机IBMSummit比1945年世界第一台电子计算机ENIAC计算速度提高了近30万亿倍。
然而,随着摩尔定律接近物理极限,芯片研发和生产成本大幅上升,未来依靠算力提升计算性能的空间有限。靠提升计算机硬件性能可能越发难以满足海量计算的需要,未来的解决之道在于提升算法的效率。
MIT的这篇新论文总结了过去80年来,算法效率的提升究竟有多快。
提起算法,它有点像计算机的父母,它会告诉计算机如何理解信息,而计算机反过来可以从算法中获得有用的东西。
算法的效率越高,计算机要做的工作就越少。对于计算机硬件的所有技术进步,以及备受争议的摩尔定律的寿命问题来说,计算机硬件的性能只是问题的一方面。
Polygon首席信息安全官:由于人们丢失钥匙已经造成数十亿美元的损失:金色财经报道,Polygon的首席信息安全官Mudit Gupta表示,虽然私钥或助记密钥在安全方面提供了许多优势,但它们也带来了实际挑战。Gupta在7月17日的以太坊社区会议 (EthCC) 活动上发表讲话,助记词只是一次性的事情。你拥有一次。如果你犯了一个错误,如果它被泄露了,你就完了。因此,保证助记词或私钥的安全是一个非常非常困难的问题。由于人们丢失助记词,至少损失了数十亿美元。[2023/7/18 11:00:32]
而问题另一方面则在硬件之外:算法的效率问题。如果算法的效率提升了,对同一计算任务需要的算力就会降低。
虽然算法效率问题可能不太受关注,但你是否注意到,经常使用的搜索引擎是否突然变快了十分之一,而在大型数据集中活动,就感觉就像在泥泞中跋涉一样艰难缓慢。
本周以太坊Gas中位数升至87gwei左右,创去年5月以来新高:5月4日消息,据 The Block 报道,本周以太坊 Gas 中位数升至 87gwei 左右,创去年 5 月以来新高。Dragonfly 匿名数据研究员 Hildobby 表示,增长主要归因于 meme coin 交易。[2023/5/4 14:43:02]
这些都与算法效率有关。
近日,麻省理工学院计算机科学与人工智能实验室(CSAIL)的科学家提出疑问:算法效率的提升速度到底有多快?
关于这个问题,现有数据大部分是叙事性的,其中很大一部分是面向特定算法的案例研究,再把这些研究结果加以推广。
面对实证研究数据的不足,研究团队主要利用了来自57部教科书和1110多篇研究论文的数据,以追溯算法效率提升的历史。
报告:英国财政部召集小组探讨基金代币化:金色财经报道,英国财政部经济部长Andrew Griffith正在重新召集资产管理工作组以支持区块链行业。它将包括一个技术工作组,负责探索基金代币化和人工智能、分布式账本技术 (DLT) 和区块链的使用。
去年,英国投资协会呼吁政府和 FCA 为代币化基金创建一个框架。金融行为监管局在3月份发布了一份改进资产管理的讨论文件。它包括一个关于基金代币化是否被视为高优先级的问题。[2023/4/18 14:09:33]
其中有些论文的结论中直接给出了新的算法有多高效,有的论文则需要作者使用“伪代码”进行重构。
研究人员总共研究了113个“算法系”,即解决计算机科学教科书中最重要的同一问题的算法集。他们对每个算法族的历史进行了回顾,跟踪每次针对某一问题提出的新算法,并特别注意更高效的算法。
图1算法发现和改进。(a)每十年发现的新算法系的数量。(b)已知算法系的比例每十年都有所提高。(c)首次发现时算法系的渐近时间复杂度分类。(d)同一时间复杂度的算法转换到另一个时间复杂度的每年平均概率。在和中“>n3”的时间复杂度表示超过多项式级,但不到指数级。
最早的算法系可追溯到上世纪40年代,每个算法系平均有8个算法,按时间顺序效率逐步提升。为了共享这一发现,团队还创建了“算法维基”页面。
研究人员绘制了图表,标识这些算法族效率提升的速度,重点关注算法分析最多的特征——这些特征往往决定了解决问题的速度有多快。
图2算法系的相对效率提升,使用渐近时间复杂度的变化计算。参考线是SPECInt基准性能。(a)与该系列中的第一个算法相比,四个算法系的历史改进。(b)算法改进对“最近邻搜索”算法系列的输入大小(n)的敏感度。为了便于比较算法改进效果随时间的变化,在图(b)中将算法系和硬件基准的起始时间段对齐。
结果显示,变数很大,但也发现了关于计算机科学变革性算法效率提升的重要信息。即:
1、对于大型计算问题,43%的算法系的效率提升带来的收益,不低于摩尔定律带来的收益。
2、在14%的问题中,算法效率提升的收益远超硬件性能提升的收益。
3、对于大数据问题,算法效率提升收益特别大,因此近年来,这一效果与摩尔定律相比越来越明显。
当算法系从指数复杂度过渡到多项式复杂度时,情况出现了最大的变化。
所谓指数复杂度算法,就像一个人猜密码锁的密码一样。如果密码盘上只有一位数,那么任务很简单。如果像自行车锁一样,表盘是4位数,估计你的自行车很难有人偷得走,但仍然可以一个个试。如果是表盘是50位的,就几乎不可能破解了,需要的步骤太多了。
图3基于渐近时间复杂度计算的110个算法系效率提升的年平均速度分布,其中问题规模为:(a)n=1000,(b)n=100万,(c)n=10亿。硬件性能提升线表示从1978年到2017年,SPECInt基准性能的平均年增长率
这类问题也是计算机面对的难题,随着问题的规模越来越大,很快就会超过计算机的处理能力,这个问题光靠摩尔定律是解决不了的。
解决之道在于找到多项式复杂度的算法。
研究人员表示,随着摩尔定律终结这个话题越来越多地被提及,我们需要将未来的解决方案的重点放在算法的效率提升上。
图4前导常数在算法性能提升中的重要性评价
研究结果表明,从历史上看,算法效率的提升带来的收益是巨大的。不过二者之间存在着频度的差异,摩尔定律带来的提升是平滑而缓慢的,而算法效率的提升是阶梯式的跃进,但出现没那么频繁。
本文通讯作者尼尔·汤普森说:
这是业界第一篇说明算法效率提升速度的论文。通过我们的分析,可以得出算法改进后,使用同样的算力可以完成多少任务。
随着问题的规模不断增大,比如达到数十亿或数万亿个数据点,算法效率的提升带来的收益,比硬件性能的提升更重要,而且重要得多。
在我们开始逐步为算力不足发愁的时代,在摩尔定律越来越显出疲态的今天,这一发现可能为未来解决超大型计算问题开辟一条新的思路。
参考链接:
https://news.mit.edu/2021/how-quickly-do-algorithms-improve-0920
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9540991
编辑:星际视界Sue
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。