FATE组件信息

本文详细介绍了FATE的组件:Eggroll的架构、测试结果及其重要模块;FATE_Flow作为联邦学习的Pipeline系统,包括其功能、任务步骤;FATEBoard则提供了任务的可视化展示和历史任务查询。内容涵盖了从数据上传、任务提交到结果查看的整个流程。
摘要由CSDN通过智能技术生成

在这里插入图片描述
图1 fate整体架构图

1.Eggroll

1.1.架构图

在这里插入图片描述
图2 eggroll 架构图

1.2.测试结果

命令:python -m unittest test_roll_pair.TestRollPairCluster -集群模式
在这里插入图片描述
图3 eggroll部署完成测试结果图

1.3.重要模块及描述

1.3.1.Rollsite

新版本该模块拥有老版proxy+federation两个组件
主要功能1、用于host与guest之间的通信协调,当guest提交任务之后,通过rollsite通知host同步进行数据的加密以及相关模型训练工作。
功能2、当双方完成数据的加密以及交融之后,通过rollsite交换数据,取得双方所需的数据。

1.3.2.Roll

通过图1 fate整体架构图和图2 eggroll 架构图可以看出,一个节点包括一个clustermanager管理器,和多个nodemanger 资源管理器,然后每个nodemanger会有一套roll和egg组件,roll在其中主要作用是用于数据的计算,以及资源的调度和聚合操作。此步骤的计算过程主要有后续的fate_flow的dsl配置的算法详情定义,另联邦学习的同态加密也在此不走进行。

1.3.3.Egg

在1.3.2中已经介绍一个nodemanger 会有一套roll和egg组件,roll主要功能已经做过介绍,egg在中主要的作用是计算和存储数据引擎。

1.3.4.Clustermanager

在图1中可以看到Clustermanager,在fate_flow在发起任务之后通知Clustermanager进行调度资源,Clustermanager把收到的算法运行信息分发给不同的Nodemanger节点,进行资源分配,然后🧍‍各个节点进行计算,另在fate_flow发起upload任务时,会先把数据表信息通过Clustermanager通知到Nodemanger的eggroll把数据转成后续算法可执行的DTable格式

1.3.5.Nodemanger

Nodemanger在接受Clustermanager任务之后,执行算法执行内容,对数据进行所需的计算,得出结果后与Clustermanager同步,使Nodemanger同步信息,合理使用资源,这里计算使用eggroll的算子,就如同spark的算子,每个算子都有着自己的不同的功能,同时算子的作用也可以达到快速运行的效果。

2.FATE_Flow

2.1.简介

FATE-Flow是用于联邦学习的端到端Pipeline系统,它由一系列高度灵活的组件构成,专为高性能的联邦学习任务而设计。其中包括数据处理、建模、训练、验证、发布和在线推理等功能.

2.2.架构图

在这里插入图片描述
图4 Fate_Flow架构图

2.3.业务运行图

在这里插入图片描述
图5 Fate_Flow业务双方模型运行示例图

2.4.任务进行步骤

2.4.1.用户含义
  • arbiter是用来辅助多方完成联合建模的,它的主要作用是聚合梯度或者模型。比如纵向lr里面,各方将自己一半的梯度发送给arbiter,然后arbiter再联合优化等等。
  • guest代表数据应用方。
  • host是数据提供方。
  • local是指本地任务, 该角色仅用于upload和download阶段中。
2.4.2.上传数据
python fate_flow_client.py -f upload -c examples/upload_guest.json

结果信息:
在这里插入图片描述
图6 Fate_Flow guest端上传数据示例图

python fate_flow_client.py -f upload -c examples/upload_host.json

结果信息:
在这里插入图片描述
图7 Fate_Flow host端上传数据示例图
该步是首先把数据上传到eggroll,后续在FederatedML的作用下把数据格式转换成DTable。此用户为local。

2.4.2.1.upload_homo_guest.json信息内容
{
   
  "file": "examples/data/breast_homo_guest.csv",
  "head": 1,
  "partition": 10,
  "work_mode": 1,
  "namespace": "fate_flow_test_breast_homo",
  "table_name": "breast_homo_guest"
}

此文件主要配置,数据上传的信息,以及数据上传到eggroll的表的信息,这里配置的namespace和table_name在后续任务的调用的过程需要用到,work_mode 表示系统的环境,0代表单机,1代表集群

2.4.2.2.upload_homo_host.json信息内容
{
   
  "file": "exampl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值