联邦学习通过解耦训练过程与单个设备限制的策略来解决设备异构性——参与设备之间硬件、计算能力或连接性的差异。 系统不要求统一的硬件或一致的可用性,而是通过允许异步参与、灵活的模型更新和资源感知优化来适应不同的设备能力。 例如,电池电量有限的智能手机可能会贡献较小、频率较低的更新,而具有更多资源的服务器可以处理更大的批次。 这种灵活性确保了不同的设备可以协作,而不会受到最弱环节的瓶颈限制。
一项关键技术是自适应模型聚合。中央服务器从设备收集更新,但根据数据质量或计算能力等因素对它们的贡献进行加权。 例如,具有强大 GPU 的设备可能在每轮训练更多的数据点,因此其更新可以在聚合期间优先考虑。 相反,较慢的设备可能会提交部分更新或使用压缩模型(例如,通过量化)以减少通信开销。 TensorFlow Federated 等框架还允许开发人员定义自定义聚合逻辑,从而可以对异构更新的组合方式进行细粒度控制。 此外,一些系统使用客户端选择算法来优先考虑具有足够资源的设备以进行给定的训练轮次,从而避免可能延迟收敛的落后者。
另一种方法涉及通过动态模型架构针对不同的硬件进行优化。 例如,联邦系统可能会将较小的轻量级模型(例如,MobileNet)部署到低内存设备,同时允许功能更强大的设备训练更大的模型。 然后,诸如知识蒸馏之类的技术可以通过将来自较大模型的见解转移到较小模型来协调这些差异。 或者,Flower 等框架允许客户端请求针对其计算约束量身定制的模型参数。 在数据方面,联邦学习通过使用规范化技术或使全局模型适应本地数据模式的个性化层来处理倾斜的数据分布(在异构设备中很常见)。 通过结合这些方法,联邦学习确保不同的设备可以有意义地贡献,而无需统一的硬件或迫使开发人员在模型复杂度上做出妥协。