为了减少联邦学习中的通信开销,通常使用三种主要技术:**模型压缩**、**带有选择性参数共享的结构化更新**和**高效的聚合方法与客户端抽样相结合**。这些方法解决了在分布式设备之间传输大型模型更新,同时保持训练效率的挑战。
**模型压缩** 减少了客户端和服务器之间发送的数据大小。 诸如量化(使用更少的位来表示数值)和修剪(删除不太关键的模型参数)之类的技术可以缩小更新大小。 例如,将 32 位浮点数转换为 8 位整数可将数据量减少 75%。 稀疏化(仅发送超过阈值的更新)进一步减少了传输。 谷歌的联邦学习同类群组(FLoC)使用此类方法来限制边缘设备上的带宽使用。 这些优化确保每个通信回合传输的字节更少,而不会显着损害模型准确性。
**结构化更新和选择性参数共享** 侧重于减少模型通信的频率和哪些部分。 客户端可能只发送自上一轮以来发生有意义更改的参数(例如,通过梯度屏蔽),而不是发送完整的模型更新。 或者,定期平均化(每隔几个本地训练步骤更新服务器)可以降低通信频率。 例如,客户端可能在发送更新之前执行五个本地 epoch,从而将总回合数减少 80%。 这平衡了本地计算和通信,尤其适用于具有延迟约束或数据上限的网络。
**高效聚合和客户端抽样** 降低了每轮的参与者数量并简化了服务器端处理。 每轮抽样一部分客户端(例如,10% 的设备)可减少总体数据传输。 联邦平均 (FedAvg) 通过计算加权平均值来聚合更新,从而避免冗余数据传输。 Delta 编码(仅发送与先前模型版本的更改)也可以最大限度地减少有效负载。 例如,智能手机可能只发送本地训练后权重的差异,而不是整个模型。 结合压缩和结构化更新,这些方法即使在低带宽环境中也能实现可扩展的联邦学习。