首页 > 编程知识 正文

多方安全计算如何实现运算的安全,多方安全计算 开源

时间:2023-05-03 12:44:03 阅读:286790 作者:512

多方安全计算如何实现运算的?

模型构建

在FATE中构建一个算法模型,需要准备三种类型配置文件

上传数据配置文件

用于上传数据,主要由文件路径,标题header,分区数目,表名,工作模式。不要上传不同的数据使用相同的表名或命名空间

属性值描述file文件路径head指定是否需要header. 0 表示不需要 1 表示需要partition指定需要多少分区来存储这些数据table_name表示用于存储数据的表work_mode表示是单机版还是集群版。 0 为单机;1位集  

DSL配置文件

用于定义模型任务,会有些组件被调用。如data_io,feature_engineering, 算法模型,评估等。但不同的任务,会有不同的组件组合。 因此FATE可以通过DSL配置文件(Domain-Specific Language)方式来定义用户需要的模型结构。组件组合成DAG(Directed Acylic Graph)有向无环图的方式进行任务调度和运行。

DSL配置文件对每个组件既会定义输入数据及模型,也会定义输出数据及模型。作为下游组件会以上游组件的输出作为其输入。

DSL配置文件主要由组件名,模块,输入,输出,是否需要部署等构成

 

属性描述component_name一个组件的名称,后缀以下划线加数字方式,例如dataio_0,通常数字都以0开始moduleFATE支持的算法模块中可选项,选择其中一个(Dataio,Intersect,Federated sampling,Feature scale,Hetero Feature Binning,Onehout encoder,Hetero feature selection,union,Hetero-lr,local baseline,Hetero-LinR,Hetero-Poisson,Homo-LR,Homo-NN,Hetero Secure Boosting,Evaluation,Hetero Pearson,Hetero-NN)input有两种类型的输入:一种是data(数据),一种是model(模型)。 data又分为三类:1. 普通数据。用于dataio,feature_engineering和evaluation的;2. 训练数据 。主要使用于一些逻辑回归模型中(如homo_lr,hetero_lr,secure_boost) ; 3. 测试评估数据。如果训练数据指定了,将会被作为测试集,如果训练数据没有制定,将会被作为预测或转换任务output同样和输入一样有两种类型的输出:一种是data(数据) ,一种model(模型)need_deploy两个可选值:true或false。 表示组件是否需要部署用于在线推理。这个字段仅用于在线推理【推理】DSL配置  

运行时配置文件

用于对各方中所有组件设置参数。

属性描述initiator指定发起人的角色和party_idrolerole定义各种角色和其对应所属的party_idrole_paramters根据角色不同参数有所不同,algorithm_parameters算法中的参数  

 

启动模型任务

数据上传

python fate_flow_client.py -f upload -c upload_data.json

模型任务运行

基于dsl任务配置和submit runtime配置文件进行运行

python fate_flow_client.py -f submit_job -d intersecttest_intersect_job_dsl.json -c test_intersect_job_raw_conf.json

 

 

查看执行日志或board上看执行结果

cat logs/${jobid}/

 

基本流程图

以参与三方数据应用方guest0,数据提供方host0,host1为例简单描述下执行过程

 

参与各方dataiointersect上传guest0数据上传host0数据上传host1数据加载DSL配置文件和runtime配置文件dataio输出作为intersect输入guest0提交job任务计算结果参与各方dataiointersect

PS:

需要说明的如果希望运算在spark中执行,可以通过在runtime配置文件中,job_paramters中指定既可以支持 yarn方式部署,也可以支持standalone方式部署。日常多数据源运算支持intersect和union应该比较充分。如果需要支持机器模型构建,需要使用选择合适的LR,NN等模型算法

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。