压缩算法
背景信息
联邦训练过程中,服务端和客户端需要频繁交互传递模型改变量。我们希望不降低模型精度的情况下,降低通信代价。
随机选参法
应用场景:大量客户端的场景下,可以大幅降低通信量。
算法优势:不会增加额外的计算,联邦初始阶段就可以进行模型压缩。
算法原理:在大量客户端的场景下,可以认为每个客户端只上传模型的部分参数(随机上传),在服务端可以还原出整体的模型。例如有100个客户端节点,每个节点随机上传20%的参数(最优的情况是5个节点就可以恢复模型),服务端进行恢复,这样通信量只有原本的20%。
服务端参数冻结
应用场景:通用的压缩算法。
算法优势:联邦过程中,模型保持稳定,波动较小。
算法原理:
- 只同步不稳定的参数的梯度。稳定参数只参与本地梯度更新,不参与全局更新。
- 将判断为稳定的参数,进行冻结并引入冻结期。冻结一段时间后将参数解冻,参与更新并重新判断是否稳定。
