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

简介: 此前,伯克利、TACC和UC戴维斯的研究人员使用新算法,在24分钟内训练完AlexNet,1小时训练完ResNet,创下了纪录。现在,他们继续推进,使用1024个CPU,在11分钟内训练完AlexNet,48分钟训练完ResNet-50。

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

先来看论文摘要:

2d60d5cb4c45c2a65ff8ea6c3032aa6fa8243e96

自创建以来,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。

a98679483122ecf88062cda765c7ea8ae9f13c92

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

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

9ef2d60ce17bfebaae65bc4723b6ef06961e2b1c

“对于所有大小的 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)。

871f5d61914e64bf5da216f2a2b00b3a95da5e26

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

520ab0b9d9862830486cae59d0936db190eb2bd3

他们将批量大小扩展到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%)”。

06108a518896f0e64bcb3e69967628f2b3188e42

在论文最后,作者指出,我们不隶属于英特尔或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。

fbf30a2647df173001fcccd0a28818e3491225ed

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

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

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

b9eb793f5c13ab4b5aeabf74898b9d48c48517f2

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

a5839c1d44d06ed10b5f8be90064e766f0a1ab20

目标:朝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开源

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
26天前
|
机器学习/深度学习 算法 测试技术
深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
本文是关于如何搭建深度学习环境,特别是使用mmdetection进行CPU安装和训练的详细指南。包括安装Anaconda、创建虚拟环境、安装PyTorch、mmcv-full和mmdetection,以及测试环境和训练目标检测模型的步骤。还提供了数据集准备、检查和网络训练的详细说明。
71 5
深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
|
2月前
|
算法 测试技术 AI芯片
CPU反超NPU,llama.cpp生成速度翻5倍!LLM端侧部署新范式T-MAC开源
【9月更文挑战第7天】微软研究院提出了一种名为T-MAC的创新方法,旨在解决大型语言模型在资源受限的边缘设备上高效部署的问题。T-MAC通过查表法在CPU上实现低比特LLM的高效推理,支持混合精度矩阵乘法,无需解量化。其通过位级查表实现统一且可扩展的解决方案,优化数据布局和重用率,显著提升了单线程和多线程下的mpGEMV及mpGEMM性能,并在端到端推理吞吐量和能效方面表现出色。然而,表量化和快速聚合技术可能引入近似和数值误差,影响模型准确性。论文详见:[链接](https://www.arxiv.org/pdf/2407.00088)。
125 10
|
2月前
|
人工智能 自然语言处理 文字识别
MinerU-大语言语料处理神器,CPU/GPU均可跑,开源免费“敲”好用
在7月4日举行的WAIC 2024科学前沿主论坛上,书生·浦语2.5正式发布,面向大模型研发与应用的全链条工具体系同时迎来升级。
MinerU-大语言语料处理神器,CPU/GPU均可跑,开源免费“敲”好用
|
6月前
|
测试技术 PyTorch 算法框架/工具
魔搭开源推理引擎 DashInfer,助力CPU服务器解锁大模型超强推理
ModelScope推出了预训练大语言模型(LLM)推理引擎DashInfer,采用C++ Runtime编写,提供C++和Python语言接口,具有生产级别的高性能表现,适用于多种CPU架构,包括x86和ARMv9。DashInfer支持连续批处理(Continuous Batching)和多NUMA推理(NUMA-Aware),能够充分利用服务器级CPU的算力,为推理14B及以下的LLM模型提供更多的硬件选择。该项工作已开源。
|
6月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能平台PAI产品使用合集之如何在CPU服务器上使用PAIEasyRec进行分布式训练
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
机器学习/深度学习 人工智能 自然语言处理
AI顶会ICLR 2022 | WPipe 蚂蚁集团大规模 DNN 训练的流水线并行技术
AI顶会ICLR 2022 | WPipe 蚂蚁集团大规模 DNN 训练的流水线并行技术
765 0
AI顶会ICLR 2022 | WPipe 蚂蚁集团大规模 DNN 训练的流水线并行技术
|
机器学习/深度学习 并行计算 异构计算
gpu是什么和cpu的区别 模型训练
gpu是什么和cpu的区别 模型训练
745 1
|
机器学习/深度学习 人工智能 并行计算
现在都2202年了,用CPU做AI推理训练到底能不能行?
现在都2202年了,用CPU做AI推理训练到底能不能行?
396 0
|
机器学习/深度学习 人工智能 安全
新至强训练推理增效十倍,英特尔CPU加速AI更上一层楼
英特尔在自己最擅长的 CPU 上完成了一次 AI 计算的革新。
302 0
新至强训练推理增效十倍,英特尔CPU加速AI更上一层楼
|
机器学习/深度学习 存储 人工智能
现在都2202年了,用CPU做AI推理训练到底能不能行?
CPU 不适合模型推理和训练?那已经是老刻板印象了,英特尔® 至强® 可扩展处理器搭配 AVX-512 指令集,单核一次能同时进行 128 次 BF16 浮点运算,这对于一般的深度学习模型不论在训练还是推理已经是足够的了。
853 0
现在都2202年了,用CPU做AI推理训练到底能不能行?