ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【流行前沿】QSFL: A Two-Level Uplink Communication Optimization Framework for Federated Learning

2022-07-18 19:35:04  阅读:224  来源: 互联网

标签:loss Level Communication 模型 Federated 用户 文章 收敛 上传


今天分享一篇研究模型细粒度传输的联邦学习文章,作者Liping Yi来自于南开大学,发表在ICML 2022。

Intro

故事的起源还是来自于深度网络越来越大,导致上行链路达到了TB级别,这对于低带宽的无线上行链路来说太难传输了,因此要对通信过程进行优化。作者总结了现有的communication-effective schemes,也就是delaying communication, sampling clients, encoding models, sparsification, quantization,然后说这些都不行。这里就有点牵强,明明有部分效果还不错而且也有理论分析的。那这篇文章呢,就提出了更进一步的传输方式,主要是两个level:

  1. 首先是用户的层级。只选取“高质量”的用户上传,其他的不传,开销就小了。这个“高质量”定义,会是文章的看点。

  2. 其次是模型的层级。之前一次都传一整个模型,先把一个大模型切分成若干帧,一次传一帧,不同用户拼接起来,这模型就能用了。这里的关注点就在于,如何切分,上传谁的,如何保证收敛性,效果如何,是后文看点。

接下来根据这两个部分分别讨论。

用户选择

用户质量的刻画使用了贡献度相关性的加权平均,具体表达式为

在贡献度方面,文章是选取loss大的用户而不是loss小的用户。按理说loss越小模型越好,但是文章的解释是loss越大,梯度下降越大,收敛速率越快。此时舍弃一些已经训练到小loss的用户,对整体的loss下降没什么影响。其实也有道理,因为大loss表示这个用户急待更新,将其作为上传的组成是合理的。

在相关性方面,文章比较了用户梯度与上一轮全局梯度在方向上的差异。文章的解释是梯度符号的一致性能够保证一致的梯度方向,因此收敛速率会加快。这个选择确实能很快收敛到至少一个方向上的最优点,对于iid的时候应该是很有效的。

总之,这两个方法都是为了比较快的让所有用户都达到收敛条件。

模型的帧传输

模型先被切分为若干帧,然后每个用户传一帧。需要确保上传的帧数不小于上传用户的帧数,这样模型才能完整传输。还有一个trick是,上传帧的时候,其ID的计算是\((client id + round)\%NS\),因此每个用户相邻两次上传都是一个模型的相邻两个部分,具有很强的相关性。估计这样的原因是为了让整体模型没有比较大的抖动,在训练上保持了一致性。

收敛性证明

首先文章只证明了帧传输技术是收敛的,对于用户选取没有证明(毕竟这个太麻烦了)。文章的证明思路来源于“randomly discarding a fraction of the gradients/parameters”。猜测这个证明思路应该是先分析模型传输部分时带来的向量,然后结合到收敛框架中作为一个项。其实这也打开了一种思路,不管是什么天花乱坠的操作方法,只要以距离为起点,应该就能推出来收敛界。

另外在优化超参的时候,文章直接用了GA,这方面没什么好说的。

仿真

文章开源了官方代码,让人非常感动,就冲这份勇气也要好好扒一下这个代码!


扒了一下午,失败了。今晚看懂Flask,下次开一篇重新讲,

文章用了bash文件来进行批处理,看来这个是常规操作,也需要学。

另外仿真结果还是有一点值得说一下。仿真的用户数量上,文章选取了\(C ∈ {10, 20, 30, 40, 50}\)。注意单独的帧传输几乎是不受用户数量影响的,但是在用户选取的时候,只有在用户数量超过40的时候才没有震荡。也就是说,更新步子不能太大,否则会扯着蛋;另外就是iid的冗余度太高了,确实不太需要传输这么多类似的模型参数。

另外这个收敛速率肯定是会慢一点的,作者也承认了不过就没做实验,具体有多慢就不知道了。

总结

这篇文章展示的一个趋势是多种communication-efficient技术的交叉使用。在这篇文章里,就综合应用了client sampling, uploading delaying, sparsification三种方式。目前来看自己在代码上面还差得比较多,就快速理解复现上面还做得不太行。还得多看多想才行。

标签:loss,Level,Communication,模型,Federated,用户,文章,收敛,上传
来源: https://www.cnblogs.com/mhlan/p/16491657.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有