联邦学习引入的计算开销主要与设备端处理、通信成本和服务器端协调有关。在这种方法中,每个客户端设备(如智能手机或物联网传感器)使用自己的数据训练本地机器学习模型,这会消耗本地计算资源。例如,即使在移动设备上训练一个中等规模的神经网络,也会给其 CPU/GPU、内存和电池寿命带来压力。硬件能力有限的设备可能难以在合理的时间范围内完成训练,尤其是当模型复杂时(例如,ResNet 风格的架构)。此外,频繁的模型更新(例如传输数千个梯度值)会增加网络使用量,这对于使用流量连接或慢速网络的设备来说可能会很昂贵。
服务器端操作也会增加开销。中央服务器必须聚合来自数百万个设备的更新,这涉及到与参与者数量成正比的计算工作。像联邦平均(FedAvg)这样的聚合算法需要合并来自不同客户端的模型参数,这可能会随着模型规模的扩大而变得资源密集。例如,一个为 10,000 个客户端处理 100MB 模型的服务器,每轮将处理 1TB 的数据,需要大量的带宽和处理能力。此外,服务器必须管理客户端选择、处理掉线或延迟的参与者,并执行加密或差分隐私等安全措施。这些步骤增加了计算层,例如加密模型更新或向梯度添加噪声,这会减慢整个过程。
最后,联邦学习引入了系统性效率低下。客户端异构性——硬件、数据分布和网络稳定性方面的差异——通常迫使系统等待较慢的设备,这是一个被称为“掉队者效应”的问题。例如,一个过时的智能手机在非 IID(非均匀)数据上训练模型可能会延迟所有参与者之间的同步。缓解这种情况的技术,例如部分客户端参与或异步更新,可能会降低训练质量或需要额外的计算来协调不一致的模型版本。此外,由于分散数据,实现收敛所需的重复训练轮数会随着时间的推移放大这些成本。一个真实的例子是联邦推荐系统需要数百轮才能稳定,从而成倍增加了基线计算和通信需求。这些因素使得优化资源使用成为联邦学习部署中的一个关键挑战。