没有合适的资源?快使用搜索试试~ 我知道了~
大规模深度训练的去中心化动量SGD
3029联系我们∼ ×DecentLaM:大批量深度训练的去中心化动量SGD安坤元1*,陈一鸣1*,黄新萌2 *,张颖雅1,潘潘1,徐颖辉1,我涛11阿里巴巴集团达摩院2宾夕法尼亚摘要如今深度学习的规模需要高效的5#121#41#41#401#41#300 01#4001 #45#120 01 #3分布式训练算法 分散动量SGD(DmSGD),其中每个节点仅与W =#30 015#1211#401 1它的邻居,比香草0 #4 0#4#4#4在所有计算节点上产生全局平均值的并行动量SGD另一方面,大批量0 01 #301#45#12已经证明训练对于实现运行时加速是至关重要的。这促使我们研究DmSGD如何在大批量场景中执行。在这项工作中,我们发现动量项可以放大DmSGD中的不一致偏差随着批量变大,这种偏差变得更加接下来,我们提出DecentLaM,一个新的体面的rge-batch动量SGD,以消除动量引起的偏见。强凸和非凸的情况下的收敛速度我们的理论结果证明了DecentLaM的DmSGD的优越性,各种计算机视觉任务和模型的实验结果表明,DecentLaM承诺高效和高质量的培训。1. 介绍如今,跨多个计算节点的高效分布式训练对于大规模深度学习任务至关重要。作为主要的训练算法,并行SGD使用参数服务器(PS)[24]或All-Reduce通信原语[38]计算全局平均梯度跨所有节点的这种全局同步要么招致显著的带宽成本要么招致高延迟,这妨碍了训练可扩展性。基于部分平均的分散式SGD [36,7,25,26,4,10]已成为主要方法之一在过去的十年中,减少分布式优化中的通信开销。与并行SGD中使用的全局平均值不同,部分平均值要求每个节点计算其邻域中节点的平均值,请参见*同等贡献。信件可寄至Kun Yuan图1.去中心化方法的说明 节点接收来自邻居的信息;他们不传递信息。例如,节点4和6分别从它们的邻居1、 5和3、 5收集信息。其他节点做同样的事情,但未示出。拓扑连通性可以用矩阵表示,如右图所示,详见第二节。3 .第三章。Fig.1.如果使用诸如单点指数图[4]的稀疏拓扑来连接所有节点,则每个节点在每次迭代中仅与一个邻居通信,因此节省了显着的通信。去中心化SGD通常可以实现1. 3 2训练时间加速而性能不下降[25,4,23]。现有的去中心化SGD方法[25,26,47,27,4]他们的动量加速变体[56,44,15,5]主要在他们的算法设计中使用小批量。然而,最近的硬件进步使得在存储器中存储大批量并及时计算它们的梯度是可行的。此外,当更多的计算节点参与训练时,总批次大小自然增长。这两个主要原因导致了最近对大批量深度训练算法的探索。事实上,大批量训练已经在并行SGD中得到了广泛的开创性的工作[17,52,54]发现大批量可以显着加快并行SGD。首先,大批量梯度的计算可以充分利用计算资源(例如,CUDA核心和GPU内存)。第二,大批量梯度将导致减少的方差,因此能够实现大得多的学习速率。通过新提出的分层自适应速率缩放(LARS)[52]及其变体[54],大批量并行动量SGD(PmSGD)可以将BERT和Resnet-50的训练时间从几天缩短到几小时[55]。这自然促使我们研究去中心化动量SGD(DmSGD)如何在大批量。213030数据集Cifar-10 ImageNet批量2K8K2K 32KPmSGD百分之九十一点六百分之八十九点二76.5% 75.3%DmSGD91.5%88.3%76.5% 74.9%表1.在小批量和大批量设置下,PmSGD和DmSGD之间的Top-1验证准确度比较。在这些算法中的任何一个中都没有使用逐层自适应速率缩放所有的超参数都是一样的。更多实验细节可参见附录G.1为 此 , 我 们 在 Cifar- 10 ( Resnet-20 ) 和 ImageNet(Resnet-50)上比较了PmSGD和DmSGD,包括小批量和大批量。它们的性能列于表1中。虽然DmSGD在小批量的情况下达到了与PmSGD相同的精度,但在大批量的情况下,它的性能下降得多这个令人惊讶的观察结果揭示了DmSGD扩展到大批量是不平凡的,提出了两个基本问题:• 为什么DmSGD在大批量场景中会遭受严重的性能下降?• 如何提升大批量DmSGD的精度性能,使其能够与PmSGD相媲美甚至超越?本文针对这些问题进行了探讨,并给出了肯定的回答.特别是,我们的主要贡献是:• 我们发现大批量DmSGD有严重的性能下降相比,大批量PmSGD,并澄清这一现象背后的原因。研究发现,动量项可以显著地放大DmSGD中的不一致性偏置当批量大小较大并且梯度噪声因此显著降低时,这样的不一致性偏置变得占主导地位并且因此显著降低DmSGD• 我 们 提 出 DecentLaM , 一 个 新 的 体 面 的 rge-batchmomentum SGD来消除DmSGD中的动量偏差.我们建立了强凸和非凸的情况下,它的收敛速度。我们的理论结果表明,DecentLaM具有优越的性能,曼斯现有的分散动量方法,这种优势得到更明显的批量大小的增长。• 在各种计算机视觉任务和模型上的实验结果表明,DecentLaM在训练速度和准确性方面优于DmSGD,DA/QG/D2本文的其余部分组织如下:我们简要总结了相关的工作在第二节。2节中的DmSGD,并在第3 .第三章。我们确定了导致DmSGD性能下降的问题4)并提出DecentLaM来重新解决它(Sec.(五)。收敛性分析和实验建立在Sec.6、第7 .第一次会议。2. 相关作品分散式深度训练。分散优化算法可以追溯到[49]。分散梯度下降[36,59]、扩散[7,42]和双平均[13]是第一个分散的算法,目标是从信号处理和控制社区产生的一般优化问题在深度学习的背景下,去中心化SGD(DSGD)最近得到了很多关注。DSGD会导致计算节点之间的模型不一致。然而,在[25]中建立了DSGD可以在收敛速度方面达到与vanilla ParallelSGD相同的线性加速比在此之后,[4]提出了将DSGD扩展到有向拓扑的方法。最近的一项工作[21]提出了一个统一的框架来分析具有变化拓扑和本地更新的DSGD[26,35]将DSGD扩展到异步设置,并且[47,51,57]提出了去中心化的随机原对偶算法来弥补数据异构性的影响。各种通信高效技术可以进一步集成到DSGD中,例如定期更新[45,21,56],通信压缩[3,6,22,20,48]和惰性通信[9,32]。动力SGD培训。动量SGD方法由于其在深度学习中的经验成功而被广泛研究工作[33,60,16,31,56]建立动量SGD收敛至少与SGD一样快超参数化模型的动量 SGD 比 SGD 渐 近 收 敛 更 快 [43] 。 分 散 动 量 SGD(DmSGD)的开发相对有限。[4]提出了一种广泛使用的DmSGD方法,其中在进行部分平均之前首先更新局部动量SGD步长(参见算法1)。这种方法后来由[44,15]扩展到涉及通信量化和周期性本地更新。另一项工作(双平均DmSGD或DA-DmSGD)[56]对动量施加额外的部分平均以[5]提出了一种新的变量,其中部分平均步骤与局部动量SGD更新混合所有这些分散动量方法都是在小批量的情况下进行研究的。大批量培训。使用大批量的主要挑战在于泛化性能的下降。最近的大批量训练工作集中在自适应学习率策略,以提高准确性性能。例如,Adam及其变体[19,39]基于梯度方差调整学习率,[17]利用学习率预热和线性缩放来提高大批量场景中的性能。分层自适应速率缩放[52,53]可以将Resnet-50和BERT的训练时间从几天减少到几小时。然而,在分散算法的大批量训练的研究是相当有限的。本文没有提出任何自适应速率策略的分散算法。相反,我们将-3031N我Σ--.∼ ×i,j=1我我我我我我x∈Rdn我ξi∼Di我我x=Σw我∈(k+1)(k)(k)(k)签署了一个优化方法,可以减少内在的收敛偏差分散算法,从而改善证明它们在大批量场景中的性能算法1:DmSGD要求:初始化γ,x(0);令m(0)=0,β ∈(0,1)异构数据的分散方法。数据中心内的分散式大批量培训对于k = 0、1、2、…T-1,每个节点i做采样ξ(k)和更新g(k)=F(x(k);ξ(k))与分散式培训的本质相同,具有异质性-m(k+1)=βm(k)+g(k)▷动量更新为EdgeAI应用程序提供新的数据在大批量列车中-我(k+1)我(k)我(k+1)ing,由梯度噪声引起的随机偏差得到显著改善。xi2 = xi− γmi▷局部模型更新x(k+1)=0(k+1)宽x2▷部分平均显著减少和不一致的偏见所造成的数据异构性将成为主导。[47,34,57,51]提出了分散的随机原对偶算法来弥补数据异构性的影响。然而,这些算法中没有一个在通常使用的深度学习模型(例如ResNet-50或EfficientNet)中显示出强有效的经验性能。并行工作[27]提出了准全局动量,其局部近似全局优化方向,以减轻异构数据的影响。值得注意的是,虽然DecentLaM是为数据中心内的大批量设置而提出的,但它也适用于EdgeAI应用程序。3. 去中心化动力SGD问题. 假设n个计算节点协作以解决分布式优化问题:nij∈Ni国际新闻报部分平均。利用权重wij和邻居i的集合,节点i的邻居部分平均操作可以表示为部分内容:x+←wi jxj.(三)j∈Ni部分平均具有低得多的通信开销。当网络拓扑是稀疏的时,部分平均通常会导致O(1)延迟加上O(1)带宽成本,这与计算节点的数量n无关。因此,去中心化方法比基于全局平均的方法通信效率更高分散式SGD(DSGD)。 给定连接的网络拓扑和权重{w,i,j},DSGD中的每个节点i将它-1Σminf(x)=[f(x):=EF(x;ξ)](1)i=1平行评价如下:xi2 = xi− γ F(xi; ξi)(本地更新)(4)其中fi(x)是节点i的局部,并且随机变量ξ i表示遵循分布Di的局部数据。每个节点i可以局部地评估随机梯度F(x;ξi);它(k+1)我j∈Ni(k+1)ijxj2(部分平均)(5)必须通信以访问来自其它节点的信息。其中x(k)是迭代k时节点i的局部模型,ξ(k)是记法。 设[n]:={1,· · ·,n},且1∈Rd为a向量,每个元素为1。网络拓扑和权重。 分散式方法基于由网络拓扑定义的邻域内的部分平均我们假设所有的计算节点连接的无向网络拓扑结构。这种连接的拓扑结构可以是任何形状,但它的度和连通性将影响分散算法的通信效率和收敛速度 对于给定的拓扑,我们定义w ij,即从节点j流向节点i的缩放信息的权重,如下所示:ξ i在迭代k处的实现,并且γ是学习速率。当网络拓扑为全连通且w ij=1/n时,DSGD算法将退化为并行SGD算法。去中心化动量SGD(DmSGD)。作为DSGD的动量加速扩展,DmSGD已在现有文献中广泛使用[26,4,44,15,56,5]。算法1中列出了DmSGD的主要版本。当使用小批量时,DmSGD将达到1。与PmSGD相比,训练时间加速,而没有明显的泛化性能损失。假设。 我们引入几个标准假设如果节点j连接到i,或者i=j,则wij>0;=0否则。(二)为便于今后的分析:A.1 每个fi(x)是L-平滑的,即,∥∇fi(x)− ∇fi(y)∥≤我们进一步定义了节点i:={j|w ij>0}作为neigh-L x− y,对于任何x,y ∈ Rd。A.2 随机样本k(k)彼此独立i,其还包括节点i本身。我们定义i权重矩阵W:=[w ij]nRn×n将所有权重堆叠到矩阵中。这样的矩阵W将表征底层网络拓扑的稀疏性和连通性 拓扑及其相关联的权重矩阵W的示例在图1中示出。1.一、对于任何k和i。我们还假设每个随机梯度是无偏的并且具有有界方差,即, E[F(x; ξ i)]=fi(x)和EA.3 网络拓扑是强连通的,权值矩阵是对称的,满足N3032W1=1。3033∇n(k)2i=1i=1(k)∥−∇∇我JJJj∈NiΣ∥∇∥X注意,我们不取Σx−上的期望假设A.3表示Σj∈Ni 对于i ∈[n],wij=1,100节点:8,学习率:0.001,动量:0.8这对于保证部分平均(3)渐近地收敛到全局平均是关键的。满足假设A.3的权重矩阵可以很容易地构造,见[42,表14.1]。4. DmSGD会导致严重的不一致偏倚表1示出了大批量DmSGD具有严重的每-1011021030 200400600800100012001400迭代与PmSGD相比性能下降。本节旨在探讨这一现象背后的原因。为了强调这一点,我们假设每个fi(x)都是强凸的,并且x是问题(1)的全局解。限制分散方法的偏差DSGD和DmSGD等去中心化方法的收敛将受到两个偏差来源的影响:随机偏差是由于算法中随机梯度的使用而引起的;不一致性偏差是由节点间数据的不一致性引起的.此外,这两个偏置彼此正交,即,k→∞i=1limEx − x=sto.偏差+不一致偏置nΣ(k)⋆2我一个例子说明了随机性和不一致性图2. DSGD和DmSGD在整批线性回归问题上的收敛性比较。详细的实验设置见附录G.2。线性回归问题证实了这一结论。在图中观察到2,DmSGD收敛更快,但遭受比DSGD更大的偏差。DmSGD 的 不 一 致 偏 倚 : 大 小 以 下 命 题 定 量 评 估DmSGD的不一致性偏差的大小第二个提案。在假设A.1和A.3下,如果进一步假设每个fi(x)是强凸的,并且每次迭代都访问全批梯度fi(x),则DmSGD(6)具有以下不一致偏差:DSGD的偏倚见附录C.1。不一致性偏倚在大批量场景中占主导地位。在大批量场景中,梯度噪声将显著Limk→∞Σi=1xi−xγ2b2(1−β)2Σ,(7)降低在使用全批次梯度的极端情况下,随机偏差变为零。这导致1.提案大批量分散算法的收敛性主要受不一致偏差的影响。DmSGD的不一致偏倚:直觉通过使梯度噪声为零,可以实现不一致偏置其中reb2=(1/n)nfi(x)2表示节点间的数据不一致性,β表示动量系数。(证据见附录C.2)n我因为在递归(6)中不存在梯度噪声。回想一下附录C.1,DSGD有一个incon-为此,我们让(k)(k)(k)(k)c y偏置的数量级为O(γ2b2)。比较它与gi=E[ F(xi i=f i(xi) )的方式是全批次梯度。 注意,模型xi和由于去除了梯度噪声,梯度g1是确定性的。通过将动量更新和局部模型更新替换到算法1中的部分平均步骤中,我们可以将DmSGD(参见附录B.1)重写为(7)结果表明,DmSGD中的动量项实质上是将不一致性偏差放大了1/(1 β)2。 这可以解释为什么DmSGD比DSGD收敛得更不准确,如图2所示。二、注意,在实践中β通常被设置为接近1,DmSGD可能遭受显著大的不一致性偏差。以来x(k+1)=w.x(k)− γ f(x(k))Σ(DmSGD)不一致性偏差在大批量方案中占主导地位(请参见命题1),因此观察到DmSGD具有严重的+`βDSGDx(k)−Σwijx(k−1)n,x∈ i ∈ [n].(六)如表1中所示的劣化的性能。5. 改进不一致性偏差:DecentLaMDSGDDmSGD相对误差.IJ.3034˛¸˛¸`I jj∈Ni势头由于DmSGD(6)中的动量项不能随着k的增加而消失,因此它将对DSGD施加额外的不一致偏差。一个简单的全批式的数值模拟为了提高大批量DmSGD直觉DmSGD遭受的放大的不一致性偏差是由(6)中的非零动量项引起的。一个直观的补救方法是替换部分平均值-3035˛¸Σ∀ ∈Σ。 Σ我我我−∇我JJ我我k→∞我我我我为JJJm(k+1)=βm(k)+g(k)γ我我我我我我.Σ员工0落后…邻里交往更新g($)我根据(10)落后工人,工人WFBP向前步骤向前步骤ingΣj∈Ni其 中xi在动量内,即,100节点:8,学习率:0.001,动量:0.8x(k+1)= Σ wij.x(k)− γ fj(x(k))Σj∈Ni(DecentLaM)101+`βDSGDx(k)− x(k−1),i[nx]。(八)102`momentumx1030200400600800100012001400在上面的递归中,动量项将减小当k趋于无穷大时,因此,预期递归(8)将收敛到与DSGD相同的解。我们在与图1相同的设置下模拟递归(8)的收敛行为。二、在图中观察到。3,所提出的算法收敛速度一样快,DmSGD,但更准确的解决方案。由于recursion(8)具有改进的不一致性偏差,因此它比DmSGD更适合大批量场景。因此,我们将其命名为decentralized large-batchmomentum SGD,或简称DecentLaM。DecentLaM的不一致性偏差。以下提议定量评价了DecentLaM不一致性偏倚的幅度3号提案在与提案2相同的假设下,DecentLaM(8)具有如下不一致性偏倚:nlimx(k)−x2=Oγ2b2,(9)迭代图3. DSGD,DmSGD和decentLaM之间的收敛性比较全批线性回归问题。图4.DecentLaM在训练迭代中的工作流程注意,g(k)i的构造涉及一轮反向传播(以评估F)和一轮邻近传播(以评估F)社区通讯利用(10)中的g(k),我们可以如算法2中那样重新编写DecentLaM(8),详细推导参见附录B.2这个实现几乎是一样的i=1注1. 与DmSGD的不一致性偏差(7)相比,可以观察到DecentLaM完全消除了动量的负面影响;它将DmSGD的不一致性偏差提高了1 /(1β)2。 当b2为larg e或β接近1时,这种改善是显著的。备注2. 与DSGD的不一致性偏差O(γ 2b2)相比,DecentLaM具有与DSGD完全相同的不一致性偏差. 然而,DecentLaM中的图中的仿真结果。3与备注1 - 2中讨论的结论一致。有效执行。为了应用DecentLaM(8)来训练深度神经网络,我们需要两个额外的模型:节点,例外情况是如(10)中那样构造g(k)。算法中的动量更新和局部模型更新2可以通过PyTorch或TensorFlow提供的mSGD优化器进行。如图在图4中,虚线部分(其不同于DmSGD工作流)实现了可以重叠通信和计算的高效无等待反向传播(WFBP)实现。6. DecentLaM算法的收敛性分析秒5提出了一种新的算法DecentLaM,并解释了为什么它更适合大批量的情况。本节分别建立了强凸和非凸情形下的形式收敛分析。设λn表示矩阵W的最小特征值。(i)需要重新计算全批次梯度fi(x)放置与随机梯度F(x; ξi);(ii)递归(8) 需要进行转换以适应SGDPyTorch [37]或TensorFlow [2]提供的优化器。为此,我们引入一个重要的辅助变量:算法2:DecentLaM要求:初始化γ,x(0);令m(0)=0,β ∈(0,1)对于k = 0、1、2、…T-1,每个节点i做采样ξ(k)并根据(10)更新g(k)g(k)1(k)1-w . x(k)−γF(x(k);ξ(k))Σ(10)iij∈Nix(k+1)=x(k)−γm(k+1)局部模型更新1这是因为x(k)-x(k-1)→0,当x(k)为常数时。我我我简体中文DecentLaM相对误差作为单一计算中的普通动量SGDIJXi▷动量更新γ3036n∥∇ ∥ ≤KΣ。Σ11定理1. 在假设A.1-A.4下(1−β)6L′L′n我好的。联系我们来吧。rxate尼伊克不n6.1. 强凸场景假设A.4每个fi(x)是μ-强凸的,即,对于任意x,y ∈Rd,则∠f(x)−f(y),x−y∠≥μx −y2。非凸我我WO.γ2b2Σ是正定的,且学习率为常数这是一个O(1min{(1−β)2,µ})的阶数。算法2中的LaM算法将收敛为(证明在附录E.1):1Ex(k)−x2i=1表2.各种算法之间的不一致性偏差比较。量M是梯度cally远大于数据inconsisten c y b或b。= O.(1−γµ−)k+γσ2−+γ2b2(十一)fi(x)M)[15,44,5]。当数据分布D i在每个计算节点i彼此相同,它保持1 β`co nvg。速率x1 β好的。联系我们inco`nsistx. 偏置fi(x)=fj(x),其中n yi和j,这意味着定理2.在与定理1相同的假设常数L′与Lipschitz常数密切相关L,见附录E.1中的定义。 表达式(11)在-(用A.5替换假设A.4),DecentLaM算法-算法2中的rithm将如下收敛(证明在表明DecentLaM将以指数速度收敛到附录F.1,且x¯(k)=1Σnnx(k)):限制性的偏见。极限偏置(可实现通过令k → ∞)可以被分离成随机偏差1TΣ−1。 1Σ不i=1n k=0ni=1i1ΣΣ与(9)中的结果一致。定理1对W的正定性有限制,从而使分析=O. 1 −βγσ2+−+γ22Σ不一致偏置(十三)可以简化。然而,在现实实践,并没有在我们的任何实验中使用7 .第一次会议。γT1 β `α-γ-γ-T定理1建立了具有恒定学习速率的DecentLaM的收敛性。当学习率下降时,DecentLaM精确地收敛到全局解:推论1. 在与定理1相同的假设下,如果学习速率γ=O〜(1-β),DecentLaM将如下进行计算(证明在附录E.2中):nEx(k)−x2=O~(12)i=1其中reO(·)隐藏所有对数因子。推论1暗示DecentLaM在强凸空间中具有与PmSGD相同的收敛率O(1/k) [31]。然而,由于部分平均,它节省了更多的通信迭代(3)第三章。6.2. 非凸场景我们为非凸场景引入标准数据不一致性假设:假设A.5存在一个常数(b>0)推论2. 在与定理2相同的假设下,如果学习速率γ=O(1√−β),则DecentLaM将以O(1/√T)的速率进行学习(证明在附录F.2中),这是一致的。PmSGD帐篷[31]。第三条 在长报告[58]中,我们提供了定理1和2的增强版本,其中DecentLaM被证明随着计算节点数n的增加,迭代复杂度具有线性加速。6.3. 与现有方法的正如我们在SEC中讨论的那样。4、当批量较大时,不一致性偏差将影响收敛性能。出于这个原因,我们在表2中列出了DecentLaM和现有DmSGD变体之间的不一致性偏倚比较。通过消除动量的影响,DecentLaM具有最小的不一致性偏差。这意味着DecentLaM可以在大批量场景中表现得更好。完成这项工作后,我们意识到并发工作QG-DmSGD [27]也可以实现O(γ2(b2))的非共维x场景。如何检查QG-DmSGD是基于模仿全球动力的策略1Σnn∥∇fi(x)−∇f(x)∥2≤ˆb2foran yx,wheref(x)这与发展体面的核心理念不同是在(1)中定义的全局成本函数。假设A.5比通常使用的每个fi(x)是上界的假设宽松得多(即,(k)2我进一步作为─和不一致的偏见,这是一致的,我们的讨论,在第二节。4.第一章此外,(11)中的不一致偏差f i(xi)+n i=1Ex(k)−x¯(k)2i=1DmSGD [15]DmSGD [44]N.A.O. γ 5/2 M 2ΣO. γ2M2(1−β)2O. γ2M2(1−β)4DmSGD(eq.(七))(1−β)2N.ADA-DmSGD [56]DecentLaMN.A.OO. γ2b2 Σ(1−β)2O(γ2b2)3037Lam.此外,我们的分析也不同于QG-DmSGD。通过一个精心设计的李雅普诺夫函数,我们可以对两个非凸的情形进行收敛性分析3038×∼和强凸场景。 相反,QG-DmSGD用于非凸场景。最后,我们从理论上揭示了传统DmSGD [56,15,44]在Sec.4而QG-DmSGD仅凭经验证明其合理性。7. 实验在 本 节 中 , 我 们 系 统 地 比 较 了 所 提 出 的 方 法DecentLaM与典型的大规模计算机视觉任务中众所周知的最先进方法:图像分类和目标检测。 特别地,我们将DecentLaM与以下算法进行比较。PmSGD是标准的并行动量SGD算法,其中每次迭代都需要跨所有节点的全局同步。PmSGD + LARS利用逐层自适应速率缩放策略[52]来提高大批量的性能。 DmSGD[4,15,44],DA-DmSGD[56]、QG-DmSGD[27]和DmSGD[47]是最先进的去中心化动量SGD方法。这些去中心化基线的细节可以参考我们的长篇报告[58]。所有基线算法都使用其论文中推荐的超参数进行测试,并与更多基线(如AWC-DmSGD[5]和SlowMo[50])进行比较[58]。注意,DecentLaM需要对称(但不一定是正定的)权重矩阵来保证经验收敛。我们使用NCCL 2.8.3(CUDA 10.2)使用PyTorch[37] 1.6.0实现所有上述算法,如下所示通信后端。对于PmSGD,我们使用了Py-Torch为了实现分散式方法,我们利用BlueFog [1],这是一种高性能的分散式深度训练框架,以促进拓扑组织,权重矩阵生成和有效的部分平均。我们还遵循DDP每个服务器在我们的集群中包含8个V100 GPU,并被视为一个节点。节点间网络结构默认为25Gbps TCP,这是常见的分布式训练平台设置。为了消除分散式算法中不同规模拓扑的影响,提出了一种基于拓扑结构的分散式算法图中,我们使用8个节点(即8 8 = 64个GPU),并分别改变每个GPU的批量大小。7.1. 图像分类实施. 我们使用ImageNet-1 K [12]数据集进行了一系列图像分类实验,该数据集由1,281,167张训练图像和1000个类中的50,000张验证图像我们用不同的批量训练分类模型如[17]中所建议的,我们选择批量大小等于或小于8k作为小批量设置,并使用[17]具体来说,我们总共训练了90个epoch。学习BATCH尺寸方法2K8K16K32KPM SGD76.3276.0876.2775.27PM SGD+LARS[52]76.1675.9576.6575.63DM SGD[4,15,44]76.2776.0176.2374.97[56]第56话76.35七十六。1976.6275.51[27]第二十七话76.2375.9676.6075.86[47]第47话:我的世界75.4475.3076.1675.44DECENT LA M七十六。43七十六。19七十六。73七十六。22表3.当用不同批量训练ResNet-50模型时,上述方法的前1验证精度。速率在前5个时期被预热,并且在30、60和80个时期衰减10倍。对于大批量设置(批量大小大于8K),我们总共训练了120个epoch。学习率在前20个时期中预热,并在余弦退火调度器中衰减,如[53]所建议的。超参数设置的选择不是精心挑选的,并且我们试图将我们的PmSGD的基线保持momentum SGD优化器默认使用线性缩放。使用Pytorch原生放大器模块在混合精度下训练实验。不 同 批 量 的 性 能 。 我 们 首 先 比 较 了 上 述 方 法 在ImageNet上用不同批量大小训练ResNet-50 [18网络拓扑设置为对称指数拓扑(见G.3)。结果列于表3中。据观察:• DecentLaM总是比其他分散式算法具有更好的准确性,并且随着批量大小的增加,其优越性变得明显。DecentLaM在32K批量大小sce-nario中大幅优于DmSGD和DA-DMSGD,这是由于其在命题3、定理1和2中导出的改进的不一致性偏差。• DecentLaM 甚 至 在 每 个 场 景 中 都 优 于 PmSGD 和PmSGD + LARS。一个猜想是,它的模型不一致的节点之间造成的部分平均,帮助算法摆脱浅局部最小 。 因 此 , DecentLaM 可 以 比 DmSGD ( 使 用LARS)更好更快。• DmSGD和DA-DmSGD在32 K批量情况下性能严重下降。这是因为动量放大了他们的不一致性偏差,见命题2和表2中列出的结果。QG- DmSGD的性能下降相对较小,但仍然比DecentLaM性能差。我们还描绘了2K和16 K批量大小的ResNet-50上的训练损失和top-1验证准确率曲线3039PmSGDPmSGD+LARSDmSGDDecentLaMDA-DmSGD0.8250.8000.7750.75050000 52500 5500076.2576.0075.757080PmSGDPmSGD+LARSDmSGDDecentLaMDA-DmSGD776543210 20000 40000迭代706050403020100 20 40 60 80时代6543210 200040006000 8000迭代7060504030201000 25 50 75 100时代图5.ImageNet上关于训练损失和验证top-1准确性的收敛结果左侧两个图形的批量大小为2k,右侧两个图形的批量大小为16k。型号RESN ET-18 R ESN ET-34 R ESN ET-50 M OBILEN ET- V2 E高效NETBATCH尺寸2K8K16K2K8K16K2K8K16K2K8K16K2K8K16KPM SGD70.069.568.3七十三。872.872.976.376.176.370.671.169.577.677.078.1PMSGD+LARS70.269.9七十673.6七十三。273.376.276.0七十六。7七十771.3七十二377.777.278.2DM SGD69.969.368.773.172.772.476.376.076.270.571.072.177.576.977.5DA-DM SGD70.2七十070.273.373.173.1七十六。4七十六。276.670.4七十一472.177.6七十七。477.8QG-DM SGD70.2七十5七十3七十三。873.173.376.276.076.6七十870.672.076.876.576.7D2-DM SGD69.168.970.172.772.373.175.475.376.270.270.671.876.676.476.5DECENT LA M七十369.970.573.473.1七十三。4七十六。4七十六。2七十六。770.3七十一472.2七十七。877.278岁3表4.ImageNet数据集上不同模型和批量大小的Top-1验证精度比较图五、当批量大小为2K时,观察到Decent-LaM实现了与DmSGD大致相同的训练损失。然而,随着批量大小增加到16K,DecentLaM的训练损失明显小于DmSGD。这一观察结果表明,DecentLaM改善了不一致性偏差,这可以在批量较大时提高其收敛性。对于小批量设置,DA-DmSGD和QG-DmSGD还可以为某些模型实现最佳精度。不同型号的性能。我们现在验证DecentLaM是否对不同的神经网络架构有效表4比较了top-1准确性与图像分类 任 务 中 广 泛 使 用 的 主 干 , 包 括 ResNet [18] ,MobileNetv 2 [41]和EfficientNet [46]。PmSGD的准确度与[41,46]中报告的准确度略有不同,因为我们没有利用与我们的方法正交的AutoAugment [11在表4中观察到,PmSGD + LARS或Decent-LaM在不同模型中以大批量(16 K)实现最佳性能然而,DecentLaM由于其高效的邻居通信而具有运行时加速。7.2. 对象检测我们将上述方法与公知的检测模型进行了比较,例如 : Faster-RCNN [40] 和 Reti- naNet [29] 在 流 行 的PASCAL VOC [14]和COCO [30]数据集上。我们采用MMDetection [8]框架作为构建块,并利用具有FPN [28]的 ResNet-50 作 为 骨 干 网 络 。 我 们 选 择 平 均 精 度(mAP)作为两个数据集的评估指标我们用了8PmSGDPmSGD+LARSDmSGDDecentLaMDA-DmSGD0.740.720.700.688750 9000 925076.7576.5076.25110115PmSGDPmSGD+LARSDmSGDDecentLaMDA-DmSGD列车损失评价Top-1准确度列车损失评价Top-1准确度3040DATASETPASCAL VOC COCOMODELR-NETF-RCNNR-NETF-RCNNPM SGD79.080.336.236.5PMSGD+LARS78.579.835.736.2DM SGD79.180.536.136.4DA-DM SGD79.080.536.437.0DECENT LA M79岁。3八十7三十六6三十七1表5.在PASCAL VOC和COCO数据集上比较了上述方法与不同模型的差异。R-Net和F-RCNN分别指RetinaNet和Faster-RCNN。GPU(其通过对称指数拓扑连接),并且在所有检测实验中将总批次大小设置为256。表5示出了每个算法的性能。与分类任务相比,对象检测中的总批次大小不能设置得太大(典型的对象检测任务在每个GPU内将批次大小设置为2)。出于这个原因,我们提出的方法只是达到比其他方法稍高的8. 结论我们研究了大批量DmSGD中的性能退化,并提出DecentLaM来消除动量引起的偏差。理论上,我们证明了在光滑凸和非凸情形下的收敛性改进。从经验上看,不同模型和任务的实验结果验证了我们的理论研究结果。3041--引用[1] BlueFog:一个用于深度学习的高性能去中心化训练框架。https://github.com/Bluefog-Lib/bluefog. 七、三十三[2] Mart´ın Abadi,Paul Barham,Jianmin Chen,ZhifengChen,Andy Davis,Jeffrey Dean,Matthieu Devin,Sanjay Ghe-mawat,Geoffrey Irving,Michael Isard,etal. Tensorflow:一个大规模机器学习系统。第12届USENIX操作系统设计与实现({OSDI} 16),第265-283页,2016年。5[3] Dan Alistarh、Demjan Grubic、Jerry Li、Ryota Tomioka和Milan Vojnovic。Qsgd:经由梯度量化和编码的通信高效sgd神经信息处理系统进展,第1709-1720页,2017年。2[4] Mahmoud Assran,Nicolas Loizou,Nicolas Ballas,andMike Rabbat.用于分布式深度学习的随机梯度推送。在国际机器学习会议(ICML),第344-353页,2019年。一二三七三十三[5] Aditya Balu,Zhanhong Jiang,Sin Yong Tan,ChinmayHedge,Young M Lee,and Soumik Sarkar. 使用动量加速 共 识 的 去 中 心 化 深 度 学 习 。 arXiv 预 印 本 :2010.11166,2020。一二三六七[6] JeremyBernstein,JiaweiZhao,KamyarAzizzadenesheli,and Anima Anandkumar.具有多数表决 SIGNSGD 是 通信 高 效 且容 错 的。 arXiv预 印本 :1810.05291,2018。2[7] Jianshu Chen和Ali H Sayed。网络上分布式优化和学习的 扩 散 自 适 应 策 略 IEEE Transactions on SignalProcessing,60(8):4289一、二[8] Kai Chen,Jiaqi Wang,Jiangmiao Pang,Yuhang Cao,Yu Xiong,Xia
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功