边缘分布式机器学习

目录

  • 通信机制
    • 同步Synchronous
    • 异步Asynchronous
    • 半同步/延时同步
    • 通信的拓扑结构
      • 基于迭代式MapReduce的通信(同步模式)
      • 基于MPI之AllReduce的通信(同步模式)
        • AllReduce有很多变种
      • 基于参数服务器的通信(多为异步)
  • 去中心化算法
    • D-PSGD
  • 通信频率及通信量
    • 降低通信频率
    • 降低通信时间-通信隐藏
    • 减少通信数据量:梯度压缩
      • 梯度稀疏化
      • 模型低秩化处理
      • 梯度量化
  • 总结

通信机制

同步Synchronous

在这里插入图片描述

基于同步障
步调一致,收敛性有保证
等待严重,延迟大
Bulk Synchronous Parallel

异步Asynchronous

在这里插入图片描述

基于参数服务器(或者锁)
自主步调,等待少
收敛性差

半同步/延时同步

在这里插入图片描述

Stale Synchronous
这衷平衡

通信的拓扑结构

基于迭代式MapReduce的通信(同步模式)

在这里插入图片描述

基于MPI之AllReduce的通信(同步模式)

在这里插入图片描述

AllReduce有很多变种

星形拓扑、树形拓扑、蝶形拓扑、环形拓扑
pytorch、TensorFlow和caffe2等框架都实现AllReduce/Ring-AllReduce
在这里插入图片描述

基于参数服务器的通信(多为异步)

在这里插入图片描述

去中心化算法

D-PSGD

在这里插入图片描述

通信频率及通信量

如何减少通信开销?

  • 降低通信频率:Batch训练
  • 降低通信时间:通信隐藏
  • 减少通信数据量:梯度压缩(过滤、量化)
    在这里插入图片描述

降低通信频率

由于通信间隔会导致各个机器间存在一定的不一致,对优化带来一定影响。

该方法在凸优化问题下有理论保证,但在处理神经网络等非凸模型时缺乏理论证明,往往需要超参数的设置来取得较好的训练效果。
在这里插入图片描述
在这里插入图片描述

降低通信时间-通信隐藏

非对称的推送和获取,异步推送
在参数服务器架构下,推送模型更新和获取最新的全局模型两种操作采取不同的频率
谷歌提出的第一代分布式机器学习系统DistBelief [Dean J; NIPS2012]则采用了这种方法
与增加通信间隔类似,调整推送和获取的间隔时间也会给模型训练带来一定的精度损失
在这里插入图片描述
计算和传输流水线
模型的训练和网络通信构成流水线
减少整体的训练时间开销
模型更新的延迟稍有所增加

减少通信数据量:梯度压缩

梯度稀疏化:设置闻值,过滤掉不重要的梯度更新
模型低秩化:矩阵低秩分解,不重要的参数不通信
梯度量化: 对梯度值进行量化减少bit数
在这里插入图片描述

梯度稀疏化

  • 梯度稀疏化是对模型梯度进行过滤

  • 在每次迭代只发送部分参数:

    • 固定闽值稀疏化 [Strom N.ISCA 2015]
    • TopK稀疏化[Aji A F,et al. arXiv:1704.05021]
    • Deep Gradient Compression [Lin Y, et al.arXiv:1712.01887 ]
    • GTopk稀疏化[Shaohuai Shi,et al.ICDCS 2019]
    • 基于熵的梯度稀疏化 [Di Kuang,et al.HPCC 2019]
  • 通常梯度稀疏化需要压缩率较大,需要配合相应的优化算法实现模型精度与通信效率的平衡。

在这里插入图片描述

模型低秩化处理

  • 模型低秩化处理通过低秩分解压缩参数来减少通信量。
  • 探索参数中的低秩结构: 矩阵低秩分解,将原来比较大的参数矩阵分解成几个较小的矩阵的乘积
    在这里插入图片描述
  • 精度损失、压缩与解压缩开销

梯度量化

  • 对梯度值进行量化减少bit数
  • 降低精度,显著降低通信量
  • 主要方法
    • 1bit量化[Seide F,et al.2014]
    • QSGD [Alistarh D, et al. NIPS 2017]
    • TernGrad [Wen W, et al. NIPS 2017]
      在这里插入图片描述
      在这里插入图片描述

总结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值