AI算法效率每16个月提速一倍,算力革命超越摩尔定律

2020-05-06 22:10:26

者 | 蒋宝尚

编辑 | 丛 末

摩尔定律预测芯片性能每18个月翻一倍,那 AI 算法性能多少个月翻一番?

答案是16个月。

图注:蓝点是给定时间的最低计算机,灰点是测量值。观察结果是每16个月性能翻一倍。

近日,OpenAI针对AI算法在过去数年中性能的提升做了一个详细的分析。他们发现,自2012年以来,在 ImageNet 分类上训练具有相同性能的神经网络,所需要的计算量,每16个月降低一倍。与2012年相比,现在将神经网络训练到 AlexNet 的性能,所需的计算量仅为原来的1/44(相比之下,摩尔定律仅降低为1/11)。

若将“算法效率”定义为:减少训练特定任务所需的计算量。我们还可以看到:

在ImageNet上,ResNet-50 级别的训练效率翻倍时间大约为17个月;

在WMT’14的翻译任务上,Transformer相比seq2seq,训练的“算法效率”提升了61倍,所用时间约为 3 年,也即翻倍时间为 6 个月;

在围棋任务上,AlphaGo Zero所需的计算量是AlphaZero的1/8,翻倍时间仅为 4 个月;

在Dota 任务上,翻倍时间仅为 25 天!!!

所有这些结果表明,对于近期投入大量资金的这些 AI 任务,算法上的进步相比硬件的进步(服从摩尔定律,每18个月翻倍),能产生更多的效益。

如果用有效计算的概念把AI和计算的趋势结合起来,那么,其表现就如下图所示:AI和计算的趋势被分解为硬件效率(摩尔定律)以及金钱和并行化(money/parallelization)之后,算法效率的提升只占总体提升的一部分。

1 主要衡量指标

前面也提到,所使用的衡量方法对现有的开源项目的再实现。另外OpenAI还在体系结构之间进行了少量超参数调整以及小范围的调优。

使用的计算是基于以下结果:

1、每个图像的浮点计算,由PyTorch库计数

2、图片每个epoch的数量

3、架构的性能优于或等于OpenAI训练的AlexNet模型所需的时间间隔数。

据OpenAI介绍,其很大程度上遵循了PyTorch示例模型中建议的超参数,对于每一个模型都使用SGD进行训练,批次大小为256,冲量(momentum)为0.9,权重衰减设置为1e-4。

对于预处理的架构,例如GoogleNet 和 VGG,学习率为0.01,对于其他架构学习率为0.1。

RESNET-50学习曲线如图所示

对于AlexNet,作者遵循了原始论文的学习率表(learning rate schedule),每30个epoch衰减10倍,其他的则降低1000倍的学习率。为了检查超参数设置是否合理,作者在ResNet18上进行了扫描,并将初始学习率设置为0.0316、0.1以及0.316,总的衰减率为250X,1000X,以及2500X。另外,对于除AlexNet以外的所有模型,作者对学习率及进行了平滑处理,如上图所示,显然这对早期的学习非常重要。

在论文中,OpenAI还提到,除了效率,还有许多其他衡量标准揭示了人工智能领域的整体算法进展,毕竟算法还受到底层硬件、硬件利用率以及云设施的改进影响。例如当处于低数据体系时,样本效率是关键。当考虑到经济效益时候,GPU、参数、FLOPs(浮点运算次数)推理效率的提高也很有意义。

2 主要结果

前面也提到,从2012年到目前,实现AlexNet级别性能所需的计算减少到了原来的1/44。另外,作者还将训练效率的进步分为数据效率和减少每个时间段所需的FLOP数量。如下表所示,将总训练效率收益分解为每一epoch的训练周期和每一epoch的浮点运算数。

另一个观察结果是:基于FLOPs的学习曲线。这可以帮助理清模型之间的比较。如下图所示,与其他模型相比,某些模型(例如ShuffleNet_v2)使用比较少的计算量就能达到其他模型(例如AlexNet)能够达到的准确率。

Vgg-11的最大精度要比AlexNet高,但达到相同精度所需要花费的计算量却要比AlexNet大很多。另一方面,如果综合考虑算力和准确率,则ResNet50优于VGG-11,GoogLeNet优于AlexNet。

第三个观察结果是:ResNet-50分类性能效率提升和AlexNet类似,而围棋、Dota和机器翻译等任务的效率提升速度相比AlexNet要快很多。如下表所示,就浮点运算而言,给定任务,其计算效率都有不同程度提高。

再放一次

另外,更为细致的观察发现,1)翻译任务在较短的时间内取得的进步比CV更大;2)对围棋和DOTA的观察时间比较短,但只要在接下来的 5 年里,在围棋上再有三倍,DOTA上再有5倍的性能提升,它们的效率增益就能超过视觉任务了。

另外,在利用ImageNet完成相关推理任务时,效率的提升同样是明显的:

1、Shufflenet实现了AlexNet级别的性能,推理效率在5年内提高了18倍(15个月翻一番);

2、EfficientNet-b0在3年半的时间内就达到了ResNet-50级别的性能,推理效率提高了10倍。

3 局限性以及未来工作

当然,此次对计算效率的测量还是存在局限性的。

首先,尚不清楚观察到的效率趋势在多大程度上可以泛化到其他AI任务上。也就是说,在Al领域中是否存在一个与摩尔定律相当的“AI定律”,还不能得出肯定的结论。

其次,算法效率的提升只是进步的一个表现,此次分析并没有量化整体的进步。毕竟AI能力进步背后是整体概念的表现,而不仅仅是效率的提升。

此外,本分析主要关注模型的最终训练运行成本(final training run cost),并不是总开发成本(total development costs)。一些算法上的改进使超参数的空间变得更大,从而可以更稳定地训练模型。另一方面,架构搜索也增大了最终训练运行成本和总开发成本之间的差距。

一般来说,算法的改进是推动AI进步的关键因素,动态测量SOTA算法效率的改进,将有助于评估算法效率提升的质量,推动AI算法的改进。由于硬件和算法效率提升可以相互叠加,所以AI的进步应该综合考虑这两者的情况。

AI算法效率每16个月提速一倍,算力革命超越摩尔定律相关推荐

  1. 超摩尔定律!OpenAI官宣AI算法效率每16个月翻一番

    OpenAI今天宣布将开始追踪机器学习模型的效率,并对AI算法演进的情况进行定量追踪,结果显示算法改进效率吊打摩尔定律. 为了启动这一进程,Open AI发表了一份分析报告,开篇即用数据展示了算法演进 ...

  2. 预报提速10000倍以上!华为云盘古气象大模型研究成果登上《自然》正刊 | 美通社头条...

    美通社消息,国际顶级学术期刊<自然>(Nature)杂志正刊发表了华为云盘古大模型研发团队研究成果 --<三维神经网络用于精准中期全球天气预报>(<Accurate me ...

  3. 奖金16万!首届电子商务AI算法大赛ECAA报名开启

    由商务部和北京市人民政府主办的2021中国电子商务大会将于9月在京开幕.作为此次大会的重要组成部分,由第四范式承办的首届电子商务AI算法大赛ECAA(Electronic Commercial AI ...

  4. AI开发者大会之计算机视觉技术实践与应用:2020年7月3日《RPA+AI助力政企实现智能时代的人机协同》、《5G风口到来,边缘计算引领数据中心变革》、《数字化时代金融市场与AI算法如何结合?》

    AI开发者大会之计算机视觉技术实践与应用:2020年7月3日<RPA+AI助力政企实现智能时代的人机协同>.<5G风口到来,边缘计算引领数据中心变革>.<数字化时代金融市 ...

  5. 年薪30W起,如何4个月拿下AI算法工程师offer?

    自2017年10月开设第1期课程以来,我们已经帮助了数千名同学迈入了AI人工智能领域,同时与阿里.腾讯等大厂达成深度人才战略合作,光环人工智能课程学员可额外享受大厂及其生态系企业人才直推福利. 在以往 ...

  6. 我在京东做研发丨京东物流仓储效率提升AI算法大揭秘

    在京东无人仓内 十几种不同的机器人自动完成订单生产和商品入库.拣选 同时还有操控全局的智能控制系统 实现仓库自动治理.控制.决策 仓储运营效率大大提升 本期,京东云邀请京东物流通用AI算法专家将为你揭 ...

  7. AI算法连载16:统计之聚类

    导语:在人工智能AI如火如荼的大潮下,越来越多的工程师们意识到算法是AI的核心.而面对落地的应用,不懂算法的AI产品经理将是空谈,不仅无法与工程师沟通,更无法深刻理解应用的性能与方式.所以业界逐渐形成 ...

  8. AI算法在FPGA芯片上还有这种操作?| 技术头条

    作者 | 杨付收 出品 | CSDN(ID:CSDNnews) 碾压与崛起 AI算法的崛起并非一帆风顺的,现在的主流的NN类的卷积神经网络已经是第二波浪潮了,早在上个世纪80年代,源于仿生学,后又发展 ...

  9. IBM对话智能+未来:十年提升AI性能效率千倍?

    来源:云科技时代 140多前的1879年,爱迪生经过几千次试验发明了电灯:之后过了90年的1969年美国把人类送到了月球,1970年空中客车公司诞生.在1870年代,人类初次进入电力时代的时候,没有人 ...

最新文章

  1. ios传值给js_IOS中plus.ios.implements实现OC方法后,在OC中回调传值后JS端无法正确获取...
  2. QQ交流群,欢迎有兴趣的同学加入。
  3. leetcode算法题--对链表进行插入排序
  4. Eclipse导入工程后显示小红叉叉怎么解决?
  5. .NET7的七项重大改进!
  6. 【opencv学习】基于透视变换和OCR识别的小票识别
  7. 1.登录mysql数据库_MySql使用全记录1 -----使用命令登录数据库
  8. MFC初探 —— Editcontrol实现多行显示
  9. idea 编译内存溢出
  10. [转]MySQL和SQLServer的比较
  11. 【元胞自动机】基于matlab元胞自动机人流疏散【含Matlab源码 665期】
  12. NOI题库答案(1.1 编程基础之输入输出)
  13. 解决Flash弹窗广告
  14. 国产手机后台弹出界面检测方法
  15. 爬虫出现selenium.common.exceptions.NoSuchWindowException: Message: Browsing context has been discarded
  16. 科学计算机已知角度和边长怎样算斜长,等腰三角形斜长计算公式
  17. 关于谷歌插件开发的了解
  18. java文本框输入数字_Java 文本框输入数字限制以及输入数字大小限制
  19. 刘强东为苏宁易购做了嫁衣
  20. Cracked VMware Workstation 7.0

热门文章

  1. 关于keras的class_weight与sample_weight(解决样本不均衡或类别不均衡问题)
  2. 2021-06-29快速找出Excel表格中两列数据不同内容的3种方法!
  3. 9.19scikit-learn安装方法
  4. Java注解基本原理
  5. 系统变量与环境变量的关系
  6. 《强化学习周刊》第11期:强化学习应用之模拟到真实
  7. 吴琦:AI研究一路走到“黑”, 从VQA到VLN
  8. 直播 | Python Web开发者的破局之道
  9. 【必点】程序员自助SDCC热门主题+图书豪华套餐
  10. 那些年,我们一起学过的R语言