查看原文
其他

论文详解丨联邦学习开源框架

林伟伟,石方等 隐私计算研习社 2024-01-09

1

摘要

近年来,联邦学习作为破解数据共享壁垒的有效解决方案被广泛关注,并被逐步应用于医疗、金融和智慧城市等领域.联邦学习框架是联邦学习学术研究和工业应用的基石.虽然Google、OpenMined、微众银行和百度等企业开源了各自的联邦学习框架和系统,然而,目前缺少对这些联邦学习开源框架的技术原理、适用场景、存在问题等的深入研究和比较.


为此,根据各开源框架在业界的受众程度,本文选取了目前应用较广和影响较大的联邦学习开源框架进行深入研究.针对不同类型的联邦学习框架,首先分别从系统架构和系统功能2个层次对各框架进行剖析;其次从隐私机制、机器学习算法、计算范式、学习类型、训练架构、通信协议、可视化等多个维度对各框架进行深入对比分析.而且,为了帮助读者更好地选择和使用开源框架实现联邦学习应用,给出了面向2个不同应用场景的联邦学习实验.最后,基于目前框架存在的开放性问题,从隐私安全、激励机制、跨框架交互等方面讨论了未来可能的研究发展方向,旨在为开源框架的开发创新、架构优化、安全改进以及算法优化等提供参考和思路.     


2

内容简介

1.首先分别从系统架构和系统功能2个层次对各框架进行剖析


2.其次从隐私机制、机器学习算法、计算范式、学习类型、训练架构、通信协议、可视化等方面对比总结了各框架的优劣势.


3.最后,基于目前框架存在的开放性问题,从隐私安全、激励机制、跨框架交互等方面讨论了未来可能的研究发展方向.


3

主要内容

联邦学习常用的框架包含2种:中心化架构和去中心化架构. 中心化架构也被称作客户端-服务器架构,在该架构中,各参与客户端利用自己的本地数据和本地资源进行本地训练,待训练完成后再将脱敏参数上传到服务器进行整合,其具体架构如图1所示.

不同于中心化架构,在去中心化的联邦学习架构中,由于各参与客户端可以直接通信,不需要借助第三方(服务器),因此也被称作对等网络架构,其架构如图2所示. 

 从系统架构上看,联邦学习与传统分布式学习都是由服务器和多个分布式节点组成,具有较高的相似性. 但是相比于传统分布式学习,联邦学习在数据、通信以及系统构成上又具有自己的特点,其与传统分布式学习的主要区别如表1所示.

FATE系统架构主要包括离线训练和在线预测2部分,其系统架构如图8所示. 其中,FATE Flow为学习任务流水线管理模块,负责联邦学习的作业调度;Federation为联邦网络中数据通信模块,用于在不同功能单元之间传输消息;Proxy作为网络通信模块承担路由功能;元服务为集群元数据服务模块;MySQL为元服务和FATE-Flow的基础组件,用于存放系统数据和工作日志;FATE服务(FATE serving)为在线联合预测模块,提供联邦在线推理功能;FATE-Board为联邦学习过程可视化模块;Egg和Roll分别为分布式计算处理器管理模块和运算结果汇聚模块,负责计算和存储数据.

离线训练框架如图9所示,其架构主要分成基础设施层、计算存储层、核心组件层、任务执行层、任务调度层、可视化面板层以及跨网络交互层.

FATE服务是针对联邦学习模型的高性能工业化服务系统. 在离线建模后,FATE-Flow将模型推送至FATE服务,FATE服务通过加载训练模型实现在线预测功能,主要支持动态加载联合学习模型、多级缓存、生产部署的预/后处理、联邦学习在线批量预测、各方并行预测等. 其具体部署架构如图10所示. 

如图14所示,FL API包括模型、联合计算构建器、数据集3个部分. 模型部分提供封装完成的tff. learning函数,研究人员可以直接调用该函数实现各种联邦学习算法而无需自行构建,如可以使用FedAvg和Fed-SGD进行模型训练. 联邦计算构建器的主要目的是使用现有模型为训练或评估构造联邦计算,主要用于辅助联邦学习的训练和计算过程. 在数据集模块,通过TensorFlow API中提供的LEAF生成联邦学习特定训练数据集,给出了用于TFF仿真和模型训练的可直接下载和访问的罐装数据集. 除了高级接口外,FC API提供了底层联邦学习接口,它是联邦学习流程的基础,研究人员可以通过它方便地构建自定义联邦学习算法.

PaddleFL架构的整体设计可以参考图15. 如图所示,PaddleFL可以支持横向联邦和纵向联邦2种策略. 对于横向联邦学习,其主要支持FedAvg,DPSGD, SECAGG等策略;对于纵向联邦学习,其主要支持LR with PrivC和NN with MPC的神经网络. PaddleFL底层的编程模型采用的是飞桨训练框架,结合飞桨的参数服务器功能,其可以实现在 Kubernetes 集群中联邦学习系统的部署. 训练策略方面,PaddleFL可进行多任务学习、迁移学习、主动学习等训练.

FedML主要包含FedML-core和FedML-API这2个组件,分别对应低级别接口(low-level API)和高级别接口(high-level API),系统架构如图17所示.FedML-core将分布式通信和模型训练分为2个单独的模块. 分布式通信模块负责不同客户端之间的底层通信,并使用统一的通信管理来完成算法通信协议. 目前,FedML-core支持MPI,RPC,MQTT通信后端. 其中MPI主要用于满足单个集群中的分布式训练需求;RPC主要用于满足跨数据中心的通信需求(例如cross-silo FL);MQTT主要用于满足移动设备的联邦学习训练.


在FedML中,MPI通信主要由通信管理和其维护的发送线程和接收线程实现. 其中发送线程和接收线程各自维护一个缓冲队列,发送线程每隔0.003 s轮询一次自己的队列,如果有新消息放入,就将其发送. 对于收到的消息,通信管理每隔0.3 s进行1次对其自身的轮询,有新消息收到则通知观察者,观察者利用回调机制处理信息.

具体通信过程如图18所示:①服务器启动,发送初始化信息给客户端;②客户端收到服务器端发送的消息,触发handler函数;③训练方进行本地模型的训练;④每轮训练结束后,将训练好的参数放入发送队列;⑤发送线程将队列中的数据传回服务器;⑥服务器收到客户端端发送的消息,触发handler函数;⑦更新全局模型参数;⑧将更新后的全局参数传入发送队列进行下发,开始下一轮迭代训练. 此外,FedML还支持用户自定义通信协议. 如果需要使用不同的通信协议,用户只需替换底层的通信管理即可.

图19为服务器和设备之间的工作流程. 在步骤1~3中,服务器和设备与代理建立连接,然后由代理进行通信. 同时,服务器为自己订阅一个特定的主题,以便从设备端接收状态更新. 步骤4和步骤5将训练模型发送到设备. 在模型发送之前,服务器分配并准备所有对通信阶段有用的参数(资源分配、模型序列化等). 在步骤6和步骤7中,参与训练的设备开始训练并返回模型更新.

除了工业界,南加州大学Lin等人也开源了首个以研究为导向的自然语言处理联邦学习框架(federated learning natural language processing, FedNLP). 其具体框架如图25所示,主要由应用程序层、算法层和基础架构层这3层组成.

为了更好地根据应用场景以及应用需求选择相应的开源框架,本节从各框架支持的隐私机制、机器学习算法、计算范式、联邦学习类型、训练架构以及可视化等方面对目前应用较广的6个开源框架进行了深入分析和对比,具体如表3所示.

降低隐私泄露风险、提升私密数据安全性是联邦学习的初衷之一,因此各框架均采用多样的加密技术(如同态加密、多方安全计算和差分隐私)以保障参与方的隐私安全. 其中同态加密主要是利用具有同态性质的加密函数对数据加密,实现对加密后的数据处理和保证隐私安全. Deffie-Hellman算法的通信双方通过交换信息生成共同密钥,并利用密钥进行对称加密通信. RSA加密算法则是非对称加密技术,由一对公钥和私钥组成密钥.

从图30和图31表明,横向联邦学习和纵向联邦学习都可以有效提高模型的训练效果,同时,联邦学习的计算范式保证了用户本地数据的隐私安全. 此外,在开展联邦学习时,需要根据场景选择合适的联邦学习模式,缺少样本数据可以选择横向联邦学习,缺少样本特征可以选择纵向联邦学习.


4

挑战与展望
尽管联邦学习已有实际落地的项目,但是其仍然处于发展初期,对于各种复杂的学习场景还有很多待解决的挑战问题以及待提升的技术,通过对目前联邦学习开源框架的研究和应用现状的分析,本文总结了5点挑战与展望. 
1. 隐私安全 
隐私安全问题是联邦学习研究的动因. 虽然通过训练数据不离开本地进行训练可以保护数据隐私信息的安全性,但在实际应用过程中,由于联邦学习的训练过程包含多个复杂环节,因而每个环节依然面临许多安全与隐私挑战. 
2. 效率、准确性和隐私的权衡
增强联邦学习的隐私保护,在一定程度上牺牲了模型训练效率与结果准确性. 在联邦学习场景下,一个模型训练包括大规模的数据样本和复杂计算,此时运算效率是一个重要问题. 
3. 激励机制 
联邦学习是一个多方数据联盟的技术,只有提高参与用户的数量才能训练出更精确有效的模型. 如果没有采取合适的激励机制,那么获取的数据和训练的模型质量受限. 
4. 异构性与个性化
现有的联邦学习框架要求全体参与方训练出一致的全局模型,而这在实际复杂的物联网应用中是不现实的. 由于设备、统计和模型的异构性,现有的联邦学习模型不能直接在物联网设备中有效应用. 为了解决异构性挑战,联邦框架需要考虑个性化处理,让每个设备获得高质量的个性化模型. 
5. 跨框架交互
随着联邦学习逐渐进入大众视野,不同行业的公司都推出了各自的联邦学习框架. 而这在丰富市场选择中也出现了新的问题:由于各框架技术实现的差异和安全协议的区别,不同框架所托管的数据在实际应用中无法跨框架交互.
5

总结
作为破解“数据孤岛”问题和保障隐私安全的有效手段,联邦学习的重要性日益凸显. 而联邦学习的有效应用主要依托于开源框架的研究和建设. 
因此,考虑到联邦学习开源框架的重要性,本文重点从系统架构、系统功能、版本变化3方面介绍开源框架FATE,PySyft,TensorFlow Federated,Paddle FL,FedML,Flower. 并从隐私机制、机器学习算法、计算范式、学习类型、训练架构、通信协议、可视化等方面对比总结了各框架的优劣势. 
为了更好地帮助读者搭建开源框架,本文给出了2个不同应用场景框架搭建的实例. 并基于目前框架存在的开放性问题,从隐私安全、激励机制与置信规则、跨框架交互等方面讨论了未来可能的研究发展方向.

本文参考: 计算机研究与发展

分享仅供学习参考,若有不当,请联系我们处理。


END

1.论文合集|2023 PETS会议 (CCF-C) 论文名单

2.论文详解丨基于错误学习难度实现联邦学习的高效差分隐私安全聚合

3.SPDZ 学习笔记-基于Somewhat的全同态加密构造的安全多方计算(1)

4.学习同态加密:同态加密中英文经典教材盘点


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存