eSGD(edge SGD) 边缘设备进行分布式机器学习的参数聚合策略实现高效通信 论文精读

本文介绍了一种名为eSGD的通信效率优化方法,适用于在边缘设备上进行的分布式深度学习。该方法通过选择重要的梯度进行更新,减少通信开销,同时采用残余机制处理未被选择的梯度,确保模型准确性。在MNIST数据集上的实验表明,即使仅更新12.5%的梯度,也能保持较高准确率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

这篇论文比较短,但是提出的方法确很不错。联邦学习或者分布式机器学习中减少通信开销一般有两种方法:

  1. 减少发送的数据量;
  2. 通过改变通信的拓扑结构;

本文通过选取重要的梯度进行更新而减少通信的开销,属于第一种方式。
本篇论文是2018年的论文,属于比较新的论文(现在是2023年)。
论文的原文链接:eSGD: Communication Efficient Distributed Deep Learning on the Edge

ABS

在边缘设备上训练越来越流行,但是在边缘设备上进行训练,需要进行参数聚合,而参数聚合需要消耗大量的通信资源。

现在已经有很多方法能够减少通信资源的消耗。而eSGD是另外一种方法,该方法重点根据两个机制实现:

  1. 梯度是稀疏的(指梯度中有很多项接近 0 0 0),由这一点得到了不同参数的梯度拥有着不同的重要程度,所以可以只选择某些重要的梯度进行参数的聚合,而不需要选择所有的梯度;
  2. 为了防止未被选择的梯度严重严重影响准确性,为没有被选中的梯度提供了残余机制,该机制能够让没有被选中的梯度的更新在本地进行累计,当达到一定值的时候再发送给服务器。

eSGDMNIST上的效果不戳,即使每次只选择 12.5 % 12.5\% 12.5%的梯度进行更新准确度也能达到 81.5 81.5% 81.5

1 INTRO

我们将所有的参数依次进行编号,如果有两层,第一层编号为 1 , 2 , 3 1,2,3 1,2,3,那么第二层的参数应该从 4 4 4进行编号。这样我们就可以通过 g i g_i gi来表示第 i i i维的梯度。

之前已经有论文发现:大量的参数的值在参与训练后非常接近于 0 0 0(可以理解这一部分的值更新量非常少)。这也就说明了有许多的梯度的值非常接近 0 0 0(只有梯度的值接近 0 0 0才回出现相对应的参数不会有太大的变化,参数才有可能稳定在 0 0 0附近)。而由于每个边缘设备拥有的数据量是非常少的,这就导致会有更多的数据的梯度接近 0 0 0。这些特性使得只选取少量重要的梯度进行参数聚合成为可能。作者设置了一个 H H H变量,其中 H i H_i Hi用来表示编号为 i i i梯度的重要程度,该值是动态更新的,每一轮会根据选择更新的梯度来更新对应的 H H H值,这意味着重要的梯度会越来越重要,这也是符合常识的(例如财富会向少数富人聚集)。

除了重要的梯度之外,作者还发现,即使有的梯度非常接近 0 0 0,但是一旦这些梯度参与更新,那么整个模型的准确性会有巨大的变化,所以作者不打算直接舍弃这些小梯度,而是使用了一种方法将这类小的梯度进行累计起来,当达到一定值的时候,在选择参与更新。

2 Related Work

有两类相关工作来减少通信发送的数据量:

Vector Quantization:通过降低梯度的精度,或者使用近似值来代替原有的梯度,从而使得通信所需要传递的数据量减少。

Gradient Sparsification:作者所做的工作属于这一范畴,每次选择一部分重要的梯度进行参与更新。例如之前提出了,固定的threshold只有梯度大于 t h r e s h o l d threshold

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值