联邦学习-通信:DeepReduce论文阅读

DeepReduce: A Sparse-tensor Communication Framework for Federated Deep Learning论文阅读

概览

年份/期刊:NIPS/2021
整体流程:

  • 提出一种位于机器学习框架(Tesorflow,Pytorch)和通信库之间的框架DeepReduce,该框架主要为API,该框架将稀疏张量分解为<key,value>,并将key、value分别用目前常用方法以及本文提出的方法进行压缩
  • 提出一种基于Bloom滤波器的索引压缩器,和一种基于曲线拟合的值压缩器

系统架构

  1. 在传输端,获取模型的稀疏张量,或使用GRACE库对张量进行稀疏化操作。稀疏张量通常表示为<key,value>元组
  2. 用非零值的key组成的数组,或者由01构成的字符串B表示key,方便进行索引值压缩
  3. 对value进行压缩
  4. 将压缩后的key和value结构、重新排序信息和任何解压的数据组合在一个容器中传至通信库
  5. 接收端进行解压缩以及索引的重排序

key压缩方法

Bloom有损压缩器,使用k个哈希函数将每个S集合中的项(非零value的索引)插入到大小为m的Bloom过滤器B中, 因此Bloom存在误差false positives (FP).
Bloom过滤器定义
在这里插入图片描述

类似考研408里学到的哈希表,查找快,占用空间小,但是会有数据存储的冲突问题
总共分为Native,P0,P1,P2三种方法,大体思路还是解决因为FP问题而导致的解压方数据还原错误问题
P0传递了所有的FP位置和正确位置
而P1和P2则在P0的基础上,对其信息随机选取一部分,通信量小但是精度不如P0,例如P3认为FP主要是散列函数的冲突产生的,把P中的元素分到一个个冲突集中,如果冲突集中只有一个元素,则直接加入,若有多个元素,则随机选取

value压缩方法

在这里插入图片描述

浅蓝色表示CIFAR-10上一层ResNet20的梯度值, 通过对这些值进行排序,我们获得了一条可以近似为光滑凸曲线的曲线。作者由此提出了一种新的基于曲线拟合的值压缩方法
通过多项式回归,非线性近似,非线性回归的方式,来利用网络真实的参数来拟合这条曲线

实验

1.本地集群实验
数据集:CIFAR-10
网络:ResNet-20
来验证本文提出的key压缩器和value压缩器性能
在这里插入图片描述
key值压缩效果图,纵轴为Top-1准确度,横轴为训练步数,Top-r为稀疏器
FP的比率设置为10^-3,baseline为无压缩数据传输和普通Top-r稀疏器进行对比
结果:
①本文所提出的P0-P2方法,最终都能达到与baseline相同的精度
②P0较早达到收敛,且传输的信息量比Top-r方法少33%
在这里插入图片描述
value值压缩效果图
结果:
①都达到了与无压缩baseline相同的精度
②Dexp压缩方法比Poly方法稍好
实验还验证了DeepReduce,将其与稀疏模型或者Top-r稀疏器结合后,在ML-20m上训练NCF,用BF-P0进行索引压缩,用他人提出的QSGD、SKCompress进行值压缩相结合:结果达到baseline准确度,同时数据量缩小5倍
QSGD:量化SGD(QSGD),这是一系列具有收敛保证和良好实用性能的压缩方案。QSGD允许用户平滑地权衡通信带宽和收敛时间:节点可以调整每次迭代发送的比特数,但代价可能更高。我们证明了这种权衡是内在的,因为如果将其提高到某个阈值以上,就会违反信息论的下限。QSGD保证了凸目标和非凸目标在异步条件下的收敛性,并且可以推广到随机方差缩减技术。
SKCompress:算法结合了两种不同的压缩方法,即前向索引压缩和簇间压缩,以优化通信效率。实验结果表明,SKCompress可以在减少通信量的同时,保持与标准算法相当的收敛速度和模型精度
2.现实生活中基于云端的联邦系统
基于FedML部署的联邦学习系统,真实的Stack Overflow[67]数据集自然地在342477个客户端之间进行了分区
在这里插入图片描述
通信数据量和通信时间的对比,baseline为FedAvg和Top-r稀疏器
结果:
①P0-P2都进一步压缩了数据量
②P0+QSGD的方式,数据量比Top-r小3.2倍,压缩数据至6.2%,准确度几乎不下降
③DeepReduce的解码时间高于Top-r,但是通信时间相比其低15%
3.DeepReduce组件架构验证
数据集:CIFAR-10
网络:ResNet-20
主要与Top-r方法进行比较数据量和解压缩时间
在这里插入图片描述
提到效果比不过SKCompress,但是该方法需要在特定的模型上才起作用

总结

本文提到,压缩与

  • 通信库communication library(e.g., NCCL, Gloo)
  • 压缩器实现细节the implementation details of each compressor
  • 计算硬件the computing hardware (e.g., faster GPUs)
  • 加速器possible accelerators (e.g., NICs with FPGAs)
  • 压缩算法

有关
该篇主要提出开源的API-----DeepReduce,可以适配多种主流的压缩算法,来降低大规模联合学习部署中的通信开销,算是改进了压缩器的实现细节
提出的索引压缩方式或许可取,但是value值压缩方式在论文的实验中没有太多体现,应该不太行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值