联邦学习平台FATE实践

本博客地址:https://security.blog.csdn.net/article/details/123900119

一、FATE平台介绍

FATE是全球首个联邦学习工业级开源框架,其基于Python开发,可以让企业和机构在保护数据安全和数据隐私的前提下进行数据协作。 FATE项目使用多方安全计算以及同态加密技术构建底层安全计算协议,以此支持不同种类的机器学习的安全计算,包括逻辑回归、基于树的算法、深度学习和迁移学习等。

FATE包括以下主要功能:

● 提供了一种基于数据隐私保护的分布式安全计算框架;
● 为机器学习、深度学习、迁移学习等常用算法提供了高性能的安全计算支持;
● 支持包括同态加密、秘密共亨、Diffie Hellman等多种多方安全计算协议,确保数据和模型的安全;
● 提供了一套友好的跨域交互信息管理方案和详细的开发文档,极大方便了开发人员的使用。

其他详细介绍请阅读官方文档,本篇文章主要介绍该平台的部署搭建以及简单测试,部署以CentOS-7操作系统为承载平台,使用Docker部署。

开源地址:https://github.com/FederatedAI/FATE

二、部署实践

安装docker和docker-compose这里不做说明,详细步骤请移步该篇博客:https://security.blog.csdn.net/article/details/123852276

之后运行以下命令即可,这里最新版本是1.7.2,所以我们以该版本为准:

# 下载
wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/fate/1.7.2/release/standalone_fate_docker_image_1.7.2_release.tar

# 加载
docker load < standalone_fate_docker_image_1.7.2_release.tar

# 查看
docker images | grep federatedai/standalone_fate

# 启动
docker run -d --name standalone_fate -p 8080:8080 federatedai/standalone_fate:1.7.2

# 验证
docker ps -a | grep standalone_fate

之后访问地址:http://ip:8080/

登录口令:admin/admin

登录后效果如下,可以看到平台是成功运行的。

(此时看到内容是空白的,这是因为还没有进行数据学习的原因)
在这里插入图片描述

三、编程范式

用FATE构建联邦学习模型有以下两种不同的编程范式:

● 组件化配置:即用户将模型训练拆分为不同的任务,每一个任务以组件的形式通过有向无环图(DAG)图相连,联邦模型训练所需要的有关参数都在配置文件中定义。在该模式下,用户只需要自定义和提交配置文件,就可以直接执行联邦训练。

● 脚本编程:FATE提供API接口,用户通过脚本编程的方式实现联邦模型,这与直接使用Python编程相似。

使用组件化配置构建联邦学习模型,需要提供两个配置文件:

● dsl配置文件:FATE内置的一套自定义领域特定语言。在dsl中,常见的机器学习任务会被划分为不同的模块。

● conf配置文件:在dsl配置文件中,不同的组件模块有不同的参数配置,这些参数统一放在conf文件中设置。

我们可以进入到正在运行的docker镜像中,执行一个预定脚本进行测试:

# 进入正在运行的Docker镜像中
docker exec -it xxxxxxxxxxxx /bin/bash

# 执行预置脚本
cd fate/fateflow/python/fate_flow
python fate_flow_client.py -f submit_job -d /data/projects/fate/examples/dsl/v2/data_split/test_homo_data_split_job_dsl.json -c /data/projects/fate/examples/dsl/v2/data_split/test_homo_data_split_job_conf.json

执行后返回结果如下:
在这里插入图片描述
此时访问返回的board_url地址,就看到了页面上已经有数据了。这里报错是因为没有上传需要学习的原始数据,仅仅只是运行了一个学习脚本,没有原始学习数据自然就报错了。如果要完整的验证平台效果,可以自己造一些数据上传上去,具体操作可以研究FATE开源项目,这里就不做介绍了。

在这里插入图片描述

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武天旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值