论文信息
摘要
The incredible development of federated learning (FL) has benefited various tasks in the domains of computer vision and natural language processing, and the existing frameworks such as TFF and FATE has made the deployment easy in real-world applications. However, federated graph learning (FGL), even though graph data are prevalent, has not been well supported due to its unique characteristics and requirements. The lack of FGL-related framework increases the efforts for accomplishing reproducible research and deploying in real-world applications. Motivated by such strong demand, in this paper, we first discuss the challenges in creating an easy-to-use FGL package and accordingly present our implemented package FederatedScope-GNN (FS-G), which provides (1) a unified view for modularizing and expressing FGL algorithms; (2) comprehensive DataZoo and ModelZoo for out-of-the-box FGL capability; (3) an efficient model auto-tuning component; and (4) off-the-shelf privacy attack and defense abilities. We validate the effectiveness of FS-G by conducting extensive experiments, which simultaneously gains many valuable insights about FGL for the community. Moreover, we employ FS-G to serve the FGL application in real-world E-commerce scenarios, where the attained improvements indicate great potential business benefits. We publicly release FS-G, as submodules of FederatedScope, at https://github.com/alibaba/FederatedScope to promote FGL’s research and enable broad applications that would otherwise be infeasible due to the lack of a dedicated package.
联邦学习( FL )的惊人发展使计算机视觉和自然语言处理领域的各种任务受益,TFF和FATE等现有框架使其在实际应用中易于部署。然而,尽管图数据是普遍的,联邦图学习( FGL )由于其独特的特点和要求,没有得到很好的支持。FGL相关框架的缺乏增加了在实际应用中实现可重复研究和部署的努力。在这种强烈需求的驱动下,本文首先讨论了创建一个易于使用的FGL包所面临的挑战,并在此基础上提出了我们实现的FederatedScope-GNN ( FS-G )包,该包提供了:
( 1 )对FGL算法进行模块化表示的统一视图;
( 2 )全面的DataZoo和ModelZoo实现开箱即用的FGL功能;
( 3 )高效的模型自校正组件;
( 4 )现成的隐私攻防能力。
我们通过大量的实验验证了FS - G的有效性,同时也为社会提供了许多关于FGL的有价值的见解。此外,我们使用FS - G服务于现实世界电子商务场景中的FGL应用程序,所实现的改进表明了巨大的潜在业务效益。我们在https://github.com/alibaba/FederatedScope公开发布了FS - G,作为FederatedScope的子模块,以促进FGL的研究,并实现广泛的应用。
FederatedScope-GNN(FGL)
总体框架如下:
- 选择在事件驱动的FL框架FederationScope上构建FS - G,该框架通过定义消息处理程序将交换的数据抽象为消息,并描述每个参与者的行为。需要开发FGL算法的用户可以简单地定义(异构)消息和处理程序,从而省去协调参与者的工作。同时,可以使用各自的图形学习后端(比如torch_geometric、tf_geometric)实现不同的处理程序。
- 为了便于对标相关的FGL方法,FS - G提供了一个集成了适用于大多数现有图数据集的丰富分裂机制的Graph Data Zoo和一个集成了许多最先进的FGL算法的GN - NModel Zoo。因此,用户可以毫不费力地再现相关作品的结果。值得一提的是,我们识别了来自图结构的图数据的唯一协变量偏移,并设计了一个联邦随机图模型进行相应的进一步研究。
- FS - G还提供了一个用于调优FGL方法的组件。一方面,它提供了实现低保真HPO的基本功能,使FS - G的用户能够将现有的HPO算法推广到FL设置中。另一方面,当单个模型不足以处理非i.i.d.图数据时,我们的模型调优组件提供了丰富的度量来监控客户端之间的相异性,并提供了一种参数分组机制来统一描述各种个性化算法。
- 考虑FGL中额外交换的异构数据,展示各种攻击下的隐私泄露水平,并提供有效的防御策略是必不可少的。FS - G包含一个专用组件,提供各种现成的隐私攻击和防御能力,这些功能被封装为FGL过程的插件功能。
基于FederatedScope的开发
为了满足FGL的独特需求,基于一个名为FederatedScope的事件驱动FL框架开发了FS - G,它将FL过程中的数据交换抽象为消息传递。在FederationScope的帮助下,实现FGL的方法可以概括为两个方面:( 1 )定义应该交换什么类型的消息;
( 2 )描述服务器/客户端处理这些消息的行为。
从这个角度来看,一个标准的FL过程如下图:
其中,服务器和客户机传递同构消息(即,模型参数)。在接收消息时,它们分别执行聚合和本地更新。
FS - G的目标既包括对现有FGL方法的便捷使用,也包括对新FGL方法的灵活扩展。得益于FederatedScope,异构交换的数据和各种子程序可以方便地表示为消息和处理程序,这支持我们通过提供不同类型的消息(例如,模型参数、节点嵌入、辅助模型、邻接列表等)和参与者行为(例如,广播、集群等)来实现许多最新的FGL方法,包括FedSage +、FedGNN和GCFL +。将整个FGL过程模块化为消息和处理程序,使得开发人员可以灵活地单独表达自定义FGL方法中定义的各种操作,而不用考虑协调静态计算图中的参与者。
GRAPHDATAZOO
要为FGL提供一个统一的实验平台,一个全面的Graph Data Zoo必不可少。为了满足不同的实验目的,允许用户通过配置Dataset、Splitter、Transform和Dataloader的选择来构成FL数据集。
定义在图数据上的任务通常分为以下几类:
- 节点级任务:每个实例都是与其标签相关联的节点。为了对一个节点进行预测,它的𝑘跳邻域通常被认为是GNN的输入。
- 链路级任务:目标是预测任意给定的节点对是否连通或者每个给定链路的标签。
- 图级任务:每个实例都是与它的标签相关联的单个图。
对于链接/节点级别的任务,直推式设置是常用的,其中已标记和未标记的链接/节点都出现在同一个图中。至于图级任务,一个独立的数据集通常由一组图组成。
FederatedScope为研究人员提供了丰富的数据集,包括图像、文本、图形、推荐系统和演讲。DataZoo包含真实的联邦数据集以及具有不同拆分器的模拟联邦数据集。
GNNMODELZOO
作为一个FGL包,FS - G提供了一个GNNModelZoo。FS - G的NN模块中,将一个通用的神经网络模型模块化为四部分:
- 编码器:嵌入原始节点属性或边属性,如原子编码器和键编码器。
- GNN:从节点的原始表示(原始或编码)和图结构中学习节点的判别性表示。
- 解码器:将这些隐藏的表示恢复成原始的节点属性或邻接关系。
- Readout:将节点表示聚合成图表示,例如均值池化。
随着每个类别中丰富的选择集合,用户可以开箱即用地构建各种神经网络模型。
联邦超参数优化(Hyper-parameter Optimization,HPO)
一般来说,HPO是一个试错过程,在每个试验中,都会提出一个特定的超参数配置并进行评估。HPO方法主要在利用每个试次的反馈和探索基于先前试次的搜索空间方面有所不同。无论哪种方法,其中一个最受影响的问题是做出准确评估的成本,它对应着整个培训过程,然后进行评估。
从算法示例中确定保存和恢复FGL训练的功能需求。这些功能对于实现可靠的故障转移机制也是必不可少的。因此,我们首先说明哪些因素决定了FL课程的状态:
( 1 )服务器端:基本上,当前轮数和全局模型参数必须保存。当攻击者是有状态的,例如,考虑到动量,它的保持状态,例如,一定数量的移动平均,需要保持。
( 2 )客户端:当使用小批量训练进行本地更新时,客户端特定的数据加载器通常是有状态的,其索引和顺序可能需要保留。
在使用个性化设置时,需要保存客户端特定的模型参数。只要保存足够的因子作为检查点,FS - G就可以从中恢复一个FGL训练过程并继续进行。
同时,遵循FederatedScope的设计,将FS - G的入口作为一个可调用的FGL运行器,接收一个配置并返回已执行的FGL训练课程(全部或不)的度量值集合。因此,我们的模型校正组件中包含的每个HPO算法都可以抽象为一个代理,反复调用FGL转轮来收集反馈。受益于这种接口设计以及保存和恢复FGL训练课程的能力,任何一个单发HPO方法都可以毫不费力地推广到FS - G上的FGL设置。
监控与个性化
通过可视化训练损失和验证性能曲线来监视学习过程,以了解学习是否已经收敛,以及GNN模型是否已经过拟合。当涉及到FGL时,我们既考虑了客户端的度量,如本地训练损失,也考虑了服务器端要计算的一些度量。具体来说,我们已经实现了几个度量,包括B - local相异性和梯度的协方差矩阵,从聚合消息中计算,以反映客户端之间的统计异质性。这些度量越大,不同的客户端图就越多。
然后,我们在相关工具包(例如, WandB和TensorBoard)上构建监视功能,以记录和可视化指标。为了使用现成的度量,用户只需要指定配置的min。同时,FS - G提供了API供用户注册在本地更新/聚合期间计算/估计的任何数量,并在执行过程中进行监视。
一旦一些受监控的指标显示存在非i.i.d.,用户可以通过个性化模型参数甚至超参数来进一步调整GNN。为了满足这样的目的,FS - G首先允许用户单独实例化每个参与者的模型。然后,我们在底层机器学习引擎的命名系统上构建一个灵活的参数分组机制。具体来说,该机制允许用户轻松地将模型的每个部分(具有灵活的粒度)声明为客户端特定的或共享的。只有共享的部分才会被交换。
隐私攻击及防御
FederationScope的隐私攻击和防御组件集成了各种现成的被动隐私攻击方法,包括类代表推断攻击、成员推断攻击、属性推断攻击以及训练输入和标签推断攻击。这些方法已经被封装为我们的GNNTrainer的可选hooks。一旦用户选择了特定的hooks,GNN模型和一些需要的关于目标数据的信息就会在训练过程中自动反馈到钩子中。除了以前的被动攻击设置(对手诚实但好奇)之外,FS-G还支持恶意对手设置。攻击者可以通过修改消息来偏离FL协议。为了防御被动的隐私攻击,FS - G可以利用FederationScope的插件防御策略,包括差分隐私、MPC和数据压缩。
同时,FederationScope提供信息检查机制,有效检测异常消息,防御恶意攻击。
转载:https://blog.csdn.net/weixin_43598687/article/details/127384338