AdaComp:边缘设备上的分布式深度学习

本文出自论文 Distributed deep learning on edge-devices: feasibility via adaptive compression,主要提出来AdaComp,一种新的算法用于压缩workers对服务器模型的更新。1


在本文中,我们通过以下问题展开研究论述:在广域网连接设备上进行分布式深度学习可行吗?我们展示了这样的设置带来了一些重要挑战,最显著的是承载最新模型的服务器必须维持的入口流量。为了减少这种压力,我们提出了AdaComp,一种新的算法用于压缩workers对服务器模型的更新。这种方法结合了有效的梯度选择和学习率调整,适用于随机梯度下降的方法。我们发现:与标准异步随机梯度下降相比,worker发送到服务器上的数据总量减少了两个数量级,同时又保持了模型的准确性。



一、简介

  1. 在网络边缘的处理设备数量正在急剧增长,在本文中,我们探索了对于那些密集型任务利用边缘设备的可能性。这种新模式引出了重大的可行性问题,为了说明可行性问题,我们实现了TensorFlow论文中考虑的最大分布场景,使用200台机器来合作学习一个模型。我们的解决方案是引入一个新的压缩技术,使用梯度选择将更新从workers发送到PS。于是我们研究了更新压缩和设备可靠性方面的模型精度。
  2. 本文的主要贡献点为:(1)在边缘设备配置中公开参数服务器模型含义;(2)提出了AdaComp,一个在PS中减少入口流量的新压缩技术。(3)使用TensorFlow来实验AdaComp,然后在模型精度方面与其他竞争者做比较分析。

二、分布式深度学习

  1. PS通过初始化要学习的参数向量 开始,训练数据D被划分成工作者w1,w2,w3。每个worker都异步运行,只要有一个准备好了,就从PS中获取参数向量的当前版本,执行SGD步骤并发送向量更新给PS。在图中,w2在i-3次迭代中得到参数 θ \theta 状态,执行SGD步骤并发送更新给PS。与此同时,w1和w3,在w2之前完成了它们的步骤,并发送了它们的更新。在每个更新接收阶段,PS更新 θ \theta ,参数 θ \theta 的时间戳在w1更新被接收后也发生了改变。
  2. 在PS模型中,n个worker并行地训练它们的本地向量然后发送更新,也称为staleness。对于一个worker来说,其本地向量 θ ( w ) \theta ^{(w)} 的staleness是 θ \theta 被涉及到获取w的时间次数。
    异步参数服务器计算模型

三、边缘设备上的分布式深度学习

  1. 我们考虑的执行设置用边缘设备节点和借助Internet的数据中心网络来替代数据中心工作节点,PS处在一个中央位置。正式执行的模型与PS模型保持一致:我们假设workers有足够的内存去拥有 θ \theta 的复制,数据在n个workers中被打乱,最终它们同意合作完成机器学习任务。
  2. 减少在PS的入口流量:在边缘设备设置中,设备合作使用一个全局 θ \theta 的计算,我们认为关键的度量标准是PS处理传入worker更新所需的带宽。由于我们的设置意味着在设备上进行最佳计算,而不是使上行链路饱和,所以workers将发送更新到PS作为后台任务。因此,我们测量PS收集点的总入口流量,以便于对深度学习任务所引起的来自workers的上传流量有一个聚合视图,进行更好的观察。
  3. Shokri提出了一种压缩机制用于减少从每个worker发送到PS的更新规模,被称作选择性随机梯度下降。在本地数据一个迭代后,一个worker仅发送计算梯度的一个子集,而不是所有。这个选择可以是随机制定的,或者仅保持最大的梯度。压缩比被固定值(0,1)所表示,实验表明单核SGD模型精度并没有被这种压缩方法影响太大。

四、使用AdaComp方法的压缩更新

  1. AdaComp是一种方便地结合压缩和staleness减少概念的解决方案,主要针对下一步的压缩工作结果。我们发现由workers推送的更新内容通常是稀疏的,基于最大更新值的选择方法是一种很好的压缩方法,并且几乎不损失信息。第二,我们发现在相关方法中,延迟缓解仅在整个更新的粒度上进行处理。AdaComp的新颖之处在于,它不是在更新时计算延迟,而是根据每个参数来进行计算。通过消除更新冲突的重要部分,单个参数上的稀疏性和延迟缓解将允许异步worker操作者去提高效率。
  2. 选择方式:我们对在每个worker选择梯度时提出来一个新颖的方式,只有每个矩阵 V l V_l 和向量 β l \beta _l 的最大梯度的比例c被保留。与随机选择相比,这个选择方式允许跨DNN层平衡学习,并更好地反映出计算梯度。
  3. 算法细节:PS在给定的时间戳上跟踪所有收到的更新。当一个worker获取参数 θ \theta 时,它接收到相关联的时间戳j。它计算一个SGD步骤,并使用选择方式来压缩更新。与此同时,中间的更新增加PS的时间戳到 i j i \geqslant j 。我们定义了一个对每个参数 θ k \theta_k 自适应staleness,其满足为: σ k ( i ) = u = j i 1 ι { Δ θ k ( u ) ̸ 0 } \sigma _k(i)=\sum_{u=j}^{i-1} \iota _{\left \{ \Delta \theta _{k}(u) \not\neq 0 \right \}} 。我们通过以下更新公式: θ k ( i + 1 ) = θ k ( i ) α k ( i ) Δ θ k ( i ) \theta _{k}(i+1)=\theta _{k}(i)-\alpha _{k}(i) \Delta \theta _{k}(i)
  4. 复杂性:AdaComp对于PS计算每个参数 θ k \theta _{k} 的自适应staleness σ k \sigma _{k} 意味着增加了复杂度。但最终对于workers来说,选择最大的参数并不会增加复杂性。
    算法1:在workers的AdaComp
    算法2:在参数服务器的AdaComp

五、实验评估

  1. 实验平台:在执行期间,该平台为每个worker在有效计算时间和向PS推送步骤之间增加了一个随机等待时间。这个时间保证worker更新的顺序是随机的,模拟workers可用的硬件或资源的可能变化。在这样的设置中,要观察的有趣指标是根据执行的迭代次数达到的精度,无论计算是在虚拟设置中还是真实部署中进行,执行的迭代次数都是相同的。
  2. 实验设置和竞争者:我们使用MNIST数据集来实验我们的设置,对于对比方来说也一样。我们使用卷积神经网络来进行实验,它是由两个卷积层和两个全连接层组成的。我们将AdaComp与基础的Async-SGD方式来比较性能,学习率是被staleness划分的且对于每个更新都是全局值。
  3. 精度结果:对于Comp-ASGD和AdaCom,它们有着较低的c值,结果是非常明显的。这允许极大减少PS必须处理的通信量,进而降低深度学习任务的操作成本。
    迭代次数对模型精度的影响
    入口流量作为函数对模型精度的影响
  4. 面对worker故障时的AdaComp精度:分布式深度学习精度的一个关键因素是设备故障计算的可靠性。该实验证明如果所学习的数据集足够丰富,边缘设备的崩溃故障不会影响模型的准确率,而且故障的影响仍然非常有限。
  5. 面对异构workers时的AdaComp精度:对于每个边缘设备,它的网络约束、硬件和并发执行任务的联合作用可能会导致批处理计算延迟的显著变化。为了评估面对异构时AdaComp的性能,实验在三种不同的workers上进行:fast、medium、slow。三个类的AdaComp中,最快的worker可以在较短数量的迭代过程中对网络学习做出更多贡献,在开始快速地增加准确率。然而,当DNN适应了最好的workers更新时,它并没有从较慢的workers中学习到足够多来达到和具有一个类的实验的相同精度。
    不同类别的AdaComp对实验精度的影响

六、相关工作

  1. 一个更精确的梯度可以通过对部分workers计算的梯度进行平均来进行计算。Chen等人展示出如果PS在每次迭代中并没有等待最后k个workers则一个同步的SGD能更有效。在我们的设置中,workers是用户设备没有保证其响应时间的上限。
  2. 在给定一个非常大数量的边缘设备,每个仅处理一些数据并且每个都配置这一个弱连接,一个模型被学习。一个活动workers的子集(在每次迭代中改变)运行在模型被分享前的workers数据,并对其进行多次迭代。全局更新此时也被同步执行。使用所提出的AdaComp算法,联邦学习是通信有效的,但并不能充分利用数据并行性来加速计算,而这正是我们所针对的参数服务器模型的目标。

七、结论

本文讨论了在边缘设备上运行分布式深度学习训练任务的最显著含义。由于设备的上传限制以及在这种设置下的低可靠性,异步SGD对于执行学习任务来说是一个自然的解决方案。我们于是提出了AdaComp,一个新的算法来通过适应它们的各自参数staleness来压缩更新。与异步SGD算法相比,参数服务器上的入口流量减少了191倍。这种访问流量的大幅减少,以及面对崩溃时的可靠性,使我们有可能考虑在边缘设备上实际部署学习任务,以支持边缘服务和应用程序。


  1. 源码地址:AdaComp ↩︎

发布了31 篇原创文章 · 获赞 40 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/librahfacebook/article/details/96158786
今日推荐