1.2.2 效率挑战
联邦学习的训练时间一般长于传统的数据集中式的机器学习。一方面由于数据统计异质性带来更长的模型收敛时间;另一方面由于客户端与服务器之间频繁通信,深度学习模型所需要传递的参数数量远高于一般的机器学习模型,随着联邦学习参与客户端数量的增加,联邦学习的内部通信负载也会随之线性增加。因此对于大型联邦学习系统而言,通信所占用的时间高于本地模型参数更新所用的时间。为此,联邦学习系统通常需要降低本地模型与服务器交换参数的频率,并通过压缩模型或者梯度来减少通信环节的通信量,对于某些大规模系统,需要限制每一轮参与模型聚合的客户端数量来减少服务器的等待时间。
1.联邦学习拓扑架构
由于地理位置、数据之间的统计性的差异,客户端之间的可信任程度也不尽相同,人们在设计联邦学习系统的时候也会考虑不同的架构,来保证隐私与效率之间的平衡。联邦学习的拓扑架构包括星状架构、层级架构与去中心化架构。
(1)星状架构
星状架构中所有的客户端与服务器直接相连,便于网络控制与管理。故障诊断与隔离非常容易,单方的故障调试不会对全局有影响。但是服务器的负载要求很大,一旦服务器节点瘫痪,会使得整个网络服务崩溃且不容易扩大网络规模。
(2)层级架构
层级架构通过层级聚合来优化,聚合原则可以基于地理位置,也可以是用户特征。层级聚合缓解了中央服务器的负载压力,同时有助于实现模型的本地化与特征化。层级聚合需要设计额外的聚合策略。对聚合的标准以及不同层级间的模型同步策略需要调优。
(3)去中心化架构
去中心化架构可在网络的中央及边缘区域共享内容和资源。拓扑结构的资源较为分散,对所有参与方的资源进行备份与恢复是较为复杂的。从机器学习的角度来看,去中心化架构优化算法非常复杂,一般是基于谣言协议(Gossip Protocol)实现谣言学习(Gossip Learning)。
2.设备限制
影响联邦学习系统效率的另一个原因就是设备限制,包括存储、CPU与GPU计算能力、网络传输带宽等多个方面的差异,这些使得设备的计算时间不同,甚至会出现客户端设备掉队/退出的问题。此外在跨设备联邦学习中,终端设备过多,同样会导致通信负载加剧,带宽紧张。在一些典型的联邦学习框架下,系统会将一些网络带宽受限或访问受限的客户端排除在训练的轮次之外,即不将全局模型发送给这些客户端进行本地优化。这种简单的处理方式会大大影响这些客户端所提供的服务,进而影响用户的使用体验。