联邦学习是一种训练机器学习 (ML) 模型的去中心化方法。分布式网络中的每个节点都使用其本地数据训练全局模型,中央服务器聚合节点更新以改进全局模型。
联邦学习涉及 4 个主要阶段:
● 初始化
● 本地训练
● 全局汇总
● 迭代
中央服务器汇总所有客户端节点的更新。它会采用不同的聚合形式,但常见方法是“联邦平均”,即计算所有更新的加权平均值,然后将这些组合更新纳入全局模型。
中央服务器再次将新的全局模型分发到连接的客户端节点,并重复联邦学习过程,直到模型完全收敛或训练完成。
联邦学习可以根据数据集的结构或客户端节点的性质而变化。它通常分为以下类别:
● 跨设备
● 跨孤岛
● 水平式
● 垂直式
跨设备联邦学习使用连接不稳定且计算资源有限的设备,例如手机和物联网设备。这种类型的联邦学习需要考虑不可靠的网络连接,并且由于客户端节点只能处理小型数据集,因此通常需要许多设备来进行本地训练。1
例如,电子商务公司可根据多个设备的用户数据来训练推荐引擎,以提供更加个性化的产品推荐。1
在水平式联邦学习中,客户端节点数据集具有相同功能或结构,但样本不同。例如,诊所可以训练共享分析模型,因为各个诊所的临床试验数据变量相同,但涉及试验的患者数据值不同。
与之相对,垂直式联邦学习涉及共享相同样本但具有不同结构或特征的客户端节点数据集。例如,零售商和银行可能会建立合作伙伴关系,以提供更个性化的客户服务,他们可以训练通用的推荐引擎,因为他们可能拥有相同的客户数据,但采购和财务信息各不相同。
联邦学习的去中心化特性具有以下主要优势:
● 效率
● 增强数据隐私
● 提高合规性
联邦学习无需访问或传输大型数据集。这会降低延迟并减少训练机器学习模型所需的带宽。
由于数据在本地保存和处理,联邦学习可以帮助企业遵守数据保护法规。对于处理私人数据的金融和医疗保健等行业来说,合规性至关重要。
联邦学习标志着 AI 模型训练的革命性转变,但它也存在局限性。以下是与联邦学习相关的一些挑战:
● 对抗性攻击
● 通信开销
● 异质性
客户端节点与中央服务器之间的定期交流可能会导致严重的瓶颈。为了提高通信效率,可以考虑一些策略,例如在传输之前压缩模型更新、执行量化和稀疏化以传递更新的子集或仅传递必要的更新。实施这些策略时必须权衡随之而来的准确性下降问题。
联邦学习有望帮助解决现实世界中的问题,各组织甚至可以跨越国界和地理区域联合起来。以下是一些可以从联邦学习中获得益处的行业:
● 财务
● 医疗保健
● 零售和制造业
● 城市管理
金融机构可以共同合作,使信用风险评估模型的数据多样化,从而为服务不足的群体提供更好的信贷机会。他们还可以使用联邦学习来提供更个性化的银行和投资建议,从而改善用户体验。
医院和研究机构可以训练共享深度学习模型,辅助发现治疗罕见疾病的药物。联邦学习系统还有助于优化治疗方案,提升针对弱势患者群体的疗效。
零售商可以使用联邦学习来跟踪多个地点的销售和库存情况,而无需泄露任何客户数据,从而最大限度地提高库存水平并减少浪费。同时,制造商可以汇总来自供应链不同部分的数据以优化物流。
智慧城市可以利用联邦学习从分散在城市各处的大量设备和传感器中收集洞察分析,同时保护居民数据的私密性。例如,这些洞察分析可用于更好地指挥交通,或监测空气和水污染等环境状况。
在实际应用中实施联邦学习可能很复杂,但存在多个框架可以在分散数据上训练模型并简化服务器和客户端工作流。以下是一些流行的联邦学习框架:
● Flower
● IBM Federated Learning
● NVIDIA FLARE
● OpenFL
● TensorFlow Federated
IBM Federated Learning 是企业环境中的联邦学习框架。它适用于各种机器学习算法,包括决策树、朴素贝叶斯分类器、神经网络和强化学习。
IBM 联邦学习还配备了丰富的融合方法库,用于组合模型更新,并支持各种公平技术,以帮助对抗 AI 偏见。
NVIDIA FLARE(联邦学习应用程序运行时环境)是一款用于联邦学习的开源且与领域无关的软件开发工具包。
它具有内置的训练和评估工作流、隐私保护算法以及用于联邦平均和 FedProx 的学习算法。NVIDIA FLARE 还有用于编排和监控的管理工具。
TensorFlow Federated (TFF) 是一个开源框架,由 Google 开发,用于使用去中心化数据进行机器学习。TFF 的应用程序编程接口 (API) 分为 2 层:
● 联邦学习 API 是高级层,可以执行联邦学习任务,例如使用现有机器学习模型进行训练或评估。
● Federated Core API 是构建新的联邦学习算法的低层。
所有链接均为 ibm.com 外部链接
1 Google Cloud 上的跨孤岛和跨设备联邦学习,Google Cloud,2024 年 6 月 3 日。
使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。
借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。