此前,伯克利、TACC和UC戴维斯的研究人员使用新算法,在24分钟内训练完AlexNet,1小时训练完ResNet,创下了纪录。现在,他们继续推进,使用1024个CPU,在11分钟内训练完AlexNet,48分钟训练完ResNet-50。研究人员表示,源代码不久后将在Intel Caffe发布。

先来看论文摘要:

自创建以来,ImageNet-1k基准测试集被用于确定各种深度神经网络(DNN)模型分类的精度,作为基准发挥了重要的作用。近年来,它也成为评估不同的DNN训练方法的主要标准。

使用单块NVIDIA M40 GPU,在ImageNet-1k训练ResNet-50(90-epoch)需要14天的时间。训练总共需要10^18次单精度运算。另一方面,目前世界上最快的超级计算机,每秒可以完成2*10^17次单精度运算。如果能够充分利用超级计算机训练DNN,我们应该能够在5秒内训练完ResNet-50(ImageNet-1k,90-epoch)。

为了弥补性能的差距,一些研究人员已经把工作重点放在探索如何有效利用大规模并行处理器训练深度神经网络上面。大多数扩展ImageNet训练的成功方法,都使用了同步随机梯度下降(SGD)。但是,为了扩展同步SGD,必须增加每次迭代中使用的批量的大小。

因此,对许多研究人员而言,扩展DNN训练,实际上就成了开发方法,确保在不降低精度的前提下,增加固定epoch数据并行同步SGD中的批量大小。

过去的两年里,我们已经看到批量大小以及成功使用的处理器数量,从1K批次/128个处理器,增加到8K批次/256个处理器。最近发表的LARS算法将一些DNN模型的批量进一步增加到了32K。继这项工作之后,我们希望弄清LARS是否可以用来进一步扩大DNN训练中有效使用的处理器的数量,从而进一步缩短训练的总时间。

在本文中,我们介绍了这次调查的结果:使用LARS,我们能够在11分钟内有效利用1024个CPU训练完AlexNe(ImageNet,100-epoch),并在48分钟内训练完ResNet-50(ImageNet,90-epoch),批量大小为32K。

此外,当我们将批量增加到20K以上时,我们的准确性远远高于Facebook同等批量大小的准确率。如果需要,可以联系我们提供源代码。代码不久后将在Intel Caffe发布。

Facebook 256颗GPU,1小时训练完ImageNet

此前新智元报道过, Facebook的人工智能实验室(FAIR)与应用机器学习团队(AML)合作,提出了一种新的方法,大幅加速机器视觉任务的模型训练,用1小时训练完了ImageNet。

为了克服minibatch过大的问题,Facebook团队使用了一个简单的、可泛化的线性缩放规则调整学习率(learning rate)。为了成功应用这一规则,他们在训练中增加了一个预热阶段(warm-up phase)——随着时间的推移,逐渐提高学习率和批量大小,从而帮助保持较小的批次的准确性。在训练开始时使用较低的学习率,克服了早期的优化困难。重要的是,这种方法不仅符合基线验证误差,还产生与了比较小的minibatch基准线匹配的训练误差曲线。

作者在论文中写道,他们提出的这种简单通用的技术,能够将分布式同步 SDG minibatch 大小最多扩展到 8k 张图像,同时保持 minibatch 训练前 Top-1 位的错误率不变。

“对于所有大小的 minibath,我们将学习率设置为 minibatch 的线性函数,并对前几个训练时期(epoch)应用一个简单的预热(warm-up)。所有其他超参数保持固定。使用这种简单的方法,我们的模型精度对于 minibatch 尺寸是不变的。这项技术使我们可以在线性拓展 minibatch 大小的情况下,以高达 90% 的 efficiency 减少训练时间,在 1 小时内在 256 颗 GPU 上训练出了精确的 ResNet-50 模型,minibatch 大小为 8k。”

快速训练视觉模型应用意义重大,这项工作出来以后引发了一个小小的轰动——不仅仅是因为论文作者包括贾扬清和何恺明,更是因为使用了256颗GPU(32台英伟达DGX-1工作站),硬件价格高达410万美元,令人咋舌。

24分钟训练完ImageNet,硬件仅需120万美元

但很快,Facebook 1 小时训练完ImageNet的记录就被刷新。伯克利、TACC和UC戴维斯的研究人员使用新的算法,报告称在24分钟内训练完了ImageNet(AlexNet,100-epoch)。

伯克利、TACC和UC戴维斯的研究人员报告称在24分钟内训练完了ImageNet。

他们将批量大小扩展到32k,使用英特尔KNL,硬件费用120万美元

同时,研究人员表示,他们仅使用了120万美元的硬件,相比Facebook的410万美元便宜了3倍多。

虽然相比Facebook确实节省了不少,但120万美元的硬件设施还是引来不少吐槽。

正如上文介绍,Facebook的Goyal等人提出了预热策略来应对大批量难以优化的问题。然而,伯克利、TACC和UC戴维斯的研究团队发现,预热策略也有局限。当设置AlexNet的批量大于1024或ResNet-50的批量大小大于8192时,测试精度将显着降低。

于是,他们提出了一种新的算法,LARS(Layer-wise Adaptive Rate Scaling,层自适应率缩放)。这实际上是一种新的更新学习率的规则。在训练时,每个层都有自己的权重和梯度,标准SGD算法对所有层使用相同的学习率,但伯克利、TACC、UC戴维斯的研究人员在实验中观察到,不同的层可能需要不用的学习率,这也是算法“层自适应率缩放”名称的由来。

LARS算法使他们在不损失精度的条件下,将批量大小扩展到32k。实验结果证明,LARS可以帮助ResNet-50保持高的测试精度。作者在论文中写道,“我们的ResNet-50基线的准确性略低于最先进的结果(73%对76%),因为我们没有使用数据增强。对于没有数据增强的版本,我们可以得到最先进的精度(90-epoch,73%)”。

在论文最后,作者指出,我们不隶属于英特尔或NVIDIA,我们对GPU或KNL也没有任何偏好,我们只想表明可以用更少的预算(便宜3.4倍)实现相同的效果。

更进一步:11分钟训练完AlexNet,48分钟训练完ResNet-50

继这项工作之后,很自然地,伯克利、TACC和UC戴维斯的这些研究人员希望弄清,LARS算法是否可以用来进一步扩大DNN训练中有效使用的处理器的数量,从而进一步缩短训练的总时间。

于是这一次,他们使用CPU(总共1024个Intel Skylake),11分钟训练完AlexNet(ImageNet,100-epoch),48分钟训练完ResNet-50(ImageNet,90-epoch)。512个KNL的结果,24分钟训练完AlexNet,60分钟训练完ResNet-50。

在报告中,研究人员表示,他们采用模型并行,使用LARS算法(You,Gitman和Ginsburg,2017)和预热方案(Goyal等,2017)来扩大批量大小。使用这两种方法,批量大的同步SDG可以达到与基准相同的精度。

为了扩展到AlexNet模型的批量(例如扩大到32k),他们将LRN改变为批量规范化(BN,batch normalization),在每个卷积层之后添加BN。

下图是批量大小=32K的结果,将AlexNet模型中的LRN改变为RN。11分钟完成。精度与基准相当。

下图则是训练ResNet-50的结果,使用了数据增强,方法与Facebook(He等,2016年)一样。48分钟完成。精度与基准相当。

目标:朝5秒钟训练完ImageNet进发

对于深度学习应用,更大的数据集和更大的模型会让准确性有显着提高,但这样做的代价是需要花费更长的训练时间。 而诸如计算金融,自动驾驶,石油和天然气勘探和医学成像等许多应用,几乎肯定需要数十亿规模的训练元素和TB级的训练数据集。

因此,加速深度神经网络训练是非常有意义的研究课题。而在保持训练和泛化精度的同时,扩大批量大小,加速DNN训练,对分布式学习尤其有意义。再加上代码即将开源,其他研究人员和开发者也可以根据论文中列出的技术,享受类似的增益。

就像伯克利、TACC和UC戴维斯的研究人员在他们摘要中写的一样,目前世界上最快的超级计算机可以完成每秒2*10^17次单精度运算。如果能够充分利用超级计算机训练DNN,我们应该能够在5秒内训练完ResNet-50(ImageNet-1k,90-epoch)。

5秒内训练完ImageNet!

期待那一天的到来。

相关论文

  • [1] ImageNet Training by CPU: AlexNet in 11 Minutes and ResNet-50 in 48 Minutes https://arxiv.org/pdf/1709.05011v4.pdf
  • [2] Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour https://arxiv.org/pdf/1706.02677.pdf
  • [3] ImageNet Training in 24 Minutes https://www.researchgate.net/publication/319875600_ImageNet_Training_in_24_Minutes

原文发布时间为:2017-11-5

本文作者:闻菲

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众号

原文链接:【11分钟训练完ImageNet】DNN训练再破纪录,1024 CPU Caffe开源

【11分钟训练完ImageNet】DNN训练再破纪录,1024 CPU Caffe开源相关推荐

  1. 刷新纪录 | 74.7 秒训练完 ImageNet!2048 GPU 暴力出奇迹

    点击"小詹学Python",选择"置顶"公众号 重磅干货,第一时间送达 本文转载自新智元,禁二次转载 来源 | arXiv 编辑 | 三石.肖琴 ImageNe ...

  2. 再破纪录!ECCV 2020 旷视研究院15篇成果总览

    图:ECCV 2020 词云分析结果 8月23-28日,全球计算机视觉三大顶会之一,两年一度的 ECCV 2020(欧洲计算机视觉国际会议)即将召开.受到疫情影响,今年的 ECCV 将以线上形式举办. ...

  3. 计算机视觉深度学习顶会_顶会论文接收量再破纪录,计算机视觉创新正在发生什么变化?丨 CVPR 2019分享会...

    把握计算机视觉(Computer Vision)最新的发展方向和技术成就,CVPR 无疑是最好的途径之一. 这个计算机视觉领域的顶会将于2个月后在美国长滩召开,现已公开其最新论文接受数据:5165 篇 ...

  4. OceanBase再破纪录!核心成员陈萌萌:坚持HTAP就是坚持我们做数据库的初心

    简介: 2021年5月20日,据国际事务处理性能委员会(TPC,Transaction Processing Performance Council)官网披露,蚂蚁集团自主研发的分布式关系型数据库Oc ...

  5. OceanBase 再破纪录!核心成员陈萌萌:坚持 HTAP 就是坚持我们做数据库的初心

    写在前面的话 2021年5月20日,据国际事务处理性能委员会(TPC,Transaction Processing Performance Council)官网披露,蚂蚁集团自主研发的分布式关系型数据 ...

  6. 2020年12月国产数据库排行:榜首TiDB 2.7亿融资再破纪录;openGauss晋级十强!

    2020年12月国产数据库排行已发布,前6名无变化,GaussDB与TBase排位互换,GaussDB位于第7位,TBase位于第8位,GoldenDB与openGauss均前进一位,分别排行第九和第 ...

  7. 2020年12月国产数据库排行榜:榜首TiDB 2.7亿融资再破纪录;openGauss晋级十强!

    编辑说明:国产数据库流行度排行榜,是墨天轮网站根据数据库的受欢迎程度对国产数据库进行排名,排行榜每月更新.排行榜自2020年9月推出,已收录了105个国产数据库产品.积分数据考量了多重互联网上可以普遍 ...

  8. 中国「人造太阳」刚刚再破纪录:运行时间突破千秒,负责人:为稳态的聚变工程堆奠定基础...

    杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 中国「人造太阳」,再次创造世界新纪录! 最新消息,中科院合肥物质科学研究院的EAST运行时间首次突破4位数. 实现了1056秒的长脉冲高参数 ...

  9. 摩根大通:iPhone 13和新款iPhone SE将推动苹果业绩明年再破纪录

    9月14日消息,据国外媒体报道,投资银行摩根大通预计,iPhone 13系列和可能于明年发布的新款iPhone SE将推动苹果公司业绩在2022年再次打破纪录. 上周二,苹果公司宣布,将于美国东部时间 ...

最新文章

  1. linux shell判断文件、目录是否存在并移动到指定位置
  2. 精简 opencv python_01_opencv_python_基本图像处理
  3. 指针常量和常量指针简单区分理解
  4. 揭秘微信「扫一扫」识物为什么这么快?
  5. 台州银行登录显示服务器异常,台州银行网上银行异常问题处理
  6. 如何在Java地毯下有效地清除问题
  7. 系统搭建遇到问题3:Ubuntu问题造成网卡名称异常导致Vivado绑定网卡地址的Lic无法正常工作(JESD)...
  8. CSS3黑色大气绘图着陆页模板
  9. python读取excel写入mysql_python读取excel写入mysql
  10. 将字符串转换为数组_LeetCode108-将有序数组转换为二叉搜索树
  11. android 中 ViewPager 的平常用法 ViewPager+ Views
  12. Java编写敏感词过滤程序
  13. Linux运维04:vmstat命令详解
  14. 高通820系列(apq8098平台,androido系统),mmm external/ethtool-5.2/,报错
  15. 无源微波器件--耦合线定向耦合器
  16. sql server作业实现数据同步
  17. 正式发布|《数字孪生世界白皮书(2022版)》开放下载
  18. 华为魔术2手机拆机图解_荣耀Magic2做工如何?荣耀Magic2拆解图解评测 (全文)
  19. body 没有被撑开_flex布局被子元素撑开如何保持内容不超出容器的方法
  20. Assert.assertNotNull()断言是否是空

热门文章

  1. mysql的1067启动错误的解决
  2. 详解Pattern类和Matcher类
  3. 分布式一致Hash算法
  4. 网络工程师60道典型选择题
  5. em算法怎么对应原有分类_机器学习系列之EM算法
  6. 计算机及网络应用基础思维导图_计算机基础/算法/面试题 PDF+思维导图下载
  7. XSS漏洞自动化攻击工具XSSer
  8. John the Ripper
  9. string substring的用法_夯实Java基础系列3:一文搞懂String常见面试题,从基础到实战...
  10. opencv python是什么_Python+OpenCV 十几行代码模仿世界名画