联邦学习的部署通常根据参与实体的性质和系统规模,分为两大主要类别:跨筒仓和跨设备。弄清这些设置之间的区别,对设计合适架构、选择恰当算法以及应对各自特定难题来说,十分重要。选择跨筒仓或跨设备方法会显著影响系统要求、通信协议、隐私保护机制以及整体实现复杂性。
跨筒仓联邦学习
跨筒仓联邦学习涉及相对较少的客户端,通常是组织或机构,它们合作训练模型。可以想到医院汇集数据用于医学研究,金融机构合作进行欺诈检测模型,或者大型公司内部的不同业务部门优化共享流程。
特点:
- 参与方: 组织、数据中心或地理上分散的站点(即“筒仓”)。例子包括银行、医院、研究实验室或工厂。
- 客户端数量: 通常较少,从两到几百个不等。
- 客户端可用性: 客户端通常可靠,拥有强大的计算能力(服务器或高端工作站)。它们通常具有稳定、高带宽的网络连接,并且很可能在大多数训练轮次中可用。
- 数据: 每个筒仓通常持有大量数据,相较于跨设备客户端。单个筒仓内的数据可能相对同质,但筒仓之间常存在显著的统计异质性(非独立同分布数据),反映了各组织捕获的不同人群或过程。
- 通信: 尽管连接稳定,但通信仍可能受组织策略、成本或潜在数据量限制(如果共享原始数据,联邦学习会避免)。同步训练协议通常可行。
- 隐私与安全: 关注点通常围绕竞争或合作组织间保密性的维护。管理数据处理和模型更新的法律协议和安全协议是标准做法。考虑到客户端数量较少且功能更强,安全多方计算(SMC)或同态加密(HE)等技术在计算上可能更可行,尽管差分隐私(DP)也可应用。
- 系统目标: 通常侧重于构建一个基于多样化数据集的高性能模型,这些数据集是任何单个组织都无法单独拥有的。重点在于参与筒仓各自业务范围内的准确性和泛化能力。
系统设计考量:
联邦学习部署通常基于参与实体的性质和系统规模,可分为两种主要类别:跨筒仓和跨设备。理解这些设置之间的区别,对于设计合适的架构、选择恰当的算法以及应对各自固有的独特挑战非常必要。选择跨筒仓或跨设备的方法,将显著影响系统需求、通信协议、隐私机制以及整体实现复杂性。
跨筒仓联邦学习的视图,涉及少量组织(筒仓)与中心服务器交互。
跨设备联邦学习
跨设备联邦学习涉及大量参与设备,例如智能手机、可穿戴传感器或物联网设备。典型例子是在用户智能手机上训练预测键盘模型,而用户的输入文本不离开其设备。
特点:
- 参与方: 资源有限的终端用户设备。
- 客户端数量: 规模非常大,可能达数百万甚至数十亿台设备。通常只有一小部分参与任何给定的训练轮次。
- 客户端可用性: 高度不可靠。设备可能因网络连接问题、电池限制、用户活动或设备能力而频繁加入或离开训练。“掉队者”(慢速设备)很常见。
- 数据: 每台设备通常持有相对少量数据。数据通常高度个性化,并表现出极端的统计异质性(非独立同分布)和不平衡性(有些用户贡献的数据量远多于其他用户)。
- 通信: 受到严重限制,特别是上行链路(设备到服务器)。带宽有限,通信成本(例如,电池消耗、数据流量使用)是重要考量。通信效率技术(梯度压缩、稀疏化、量化)十分必要。异步或半同步协议通常是处理掉队者和设备流失的必要手段。
- 隐私与安全: 主要关注点是保护个人用户隐私。差分隐私(DP)作为一种常用技术,可在设备本地或由服务器在聚合前集中应用。安全聚合协议(通常基于SMC)用于阻止服务器检查单个设备更新,即使这些更新是带噪声的。抵抗来自单个设备的潜在低质量或恶意更新的能力也很重要。
- 系统目标: 通常侧重于通过个性化提升用户体验,或从分布式用户交互中学习人口级别趋势。对略低的模型准确性容忍度可能更高,以换取显著的隐私保护成果和从大量数据中学习的能力。
系统设计考量:
为跨设备联邦学习进行设计需要构建能够应对规模、设备流失和通信瓶颈的系统。高效的客户端选择策略、异步通信处理、积极的通信压缩算法以及相关方法都是必要的。DP和安全聚合等隐私保护机制是系统架构中不可或缺的组成。框架必须足够轻量,以便在资源受限设备上运行,或提供模拟能力以大规模测试算法。
跨设备联邦学习的视图,涉及许多多样化的终端用户设备。
差异总结
| 特点 |
跨筒仓联邦学习 |
跨设备联邦学习 |
| 参与方 |
组织、机构(筒仓) |
终端用户设备(手机、物联网) |
| 客户端数量 |
少量(例如,2-100) |
海量(例如,1万 - 10亿+) |
| 客户端资源 |
高(服务器、工作站) |
低(计算、电池、网络受限) |
| 客户端可用性 |
通常可靠,高可用时间 |
不可靠,间歇性连接,常见掉队者 |
| 每个客户端的数据量 |
大量 |
少量 |
| 数据分布 |
筒仓内可能独立同分布,筒仓间非独立同分布 |
高度非独立同分布且不平衡 |
| 通信 |
更高带宽,稳定连接 |
有限带宽(特别是上行链路),不稳定连接 |
| 主要难题 |
筒仓间异质性,治理 |
规模、掉队者、通信效率、隐私 |
| 常用协议 |
同步FedAvg, FedProx, SCAFFOLD |
异步方法,压缩,安全聚合 |
| 隐私侧重 |
组织保密性,SMC/HE可行 |
用户隐私,差分隐私(DP),安全聚合 |
| 典型框架 |
适应性强(TFF, Flower, PySyft, 自定义) |
可扩展模拟器(TFF),轻量级客户端(Flower) |
对系统实现的影响
跨筒仓和跨设备设置的选择决定了许多系统设计决策:
- 架构: 跨设备系统通常需要复杂的服务器端编排来管理客户端选择、处理异步签到和应对掉线。跨筒仓系统可能有更简单的编排,但需要强大的接口与组织系统集成。
- 算法: 尽管FedAvg等算法是根本的,但跨设备设置几乎总是需要通信高效(压缩、量化)和异质性(FedProx、SCAFFOLD改进、个性化)算法。跨筒仓可能会优先考虑有效处理筒仓之间系统性差异的算法,可能包括聚类联邦学习或多任务学习方法。
- 安全与隐私: 跨设备大量依赖适用于数百万参与者的DP和安全聚合。跨筒仓可能采用SMC或HE在少数受信任方之间提供更强的保证,以及合同协议。
- 框架: 尽管TensorFlow Federated (TFF)、PySyft和Flower等框架旨在提供灵活性,但它们的长处可能有所不同。TFF提供强大的模拟能力,有利于跨设备研究。Flower强调在多样化客户端硬件上部署的便捷性,适合两种设置,但可能在异质性跨设备或实际的跨筒仓设置中更具优势。PySyft为隐私保护技术如SMC和DP提供有力的基本功能。
在实践中,某些场景可能表现出混合特征。例如,公司内部跨不同区域数据中心进行的联邦学习可能类似于跨筒仓,但涉及比典型跨筒仓例子更多的站点。识别目标部署场景的主要特点,无论是更接近跨筒仓还是跨设备,是设计和实现成功联邦学习系统的必要第一步。