第四章:微众银行FATE平台


FATE是“Federated AI Technology Enabler”的简称,是微众银行AI部门发起的联邦学习开源项目,是全球第一个联邦学习工业级开源框架,为联邦学习生态系统提供了可靠的安全计算框架。2019年6月,微众银行向Linux基金会捐赠了FATE框架,并宣布成为Linux基金的最新“黄金会员”,这也是目前唯一一家成为黄金会员的金融机构(链接4-2)。

FATE自开源以来,因其易用性和对联邦生态的完整支持,已经在信贷风控、客户权益定价、监管科技等领域落地应用。不管是对初级入门者,还是联邦学习产品级系统的开发人员,FATE都是一个非常合适的选择。

相比于利用Python从零开发,FATE提供了完善的建模工具,构建联邦学习模型简单方便,用户不需要了解太多的底层细节就可以实现联邦学习,非常适合开发工业级的联邦学习产品。

4.1 FATE平台架构概述

2019年2月,微众银行AI团队对外发布自主研发的开源项目FATE,它是一款基于Python开发的联邦学习平台,也是全球首个工业级的联邦学习开源框架。自发布以来,FATE经过多次重大更新,已经形成了一套完整的生态系统。

当前FATE包括以下主要功能:

  • 提供了一种基于数据隐私保护的分布式安全计算框架(数据隐私保护也是FATE在设计过程中的首要考量目标);

  • 为机器学习、深度学习、迁移学习等常用算法提供了高性能的安全计算支持;

  • 支持包括同态加密、秘密共亨、Diffie Hellman等多种多方安全计算协议,确保数据和模型的安全;

  • 提供了一套友好的跨域交互信息管理方案和详细的开发文档,极大方便了开发人员的使用。

4.2 FATE安装与部署

先接招docker安装
先下载好压缩包,用命令可能会出问题:传送门
在这里插入图片描述

docker load -i standalone_fate_docker_image_${version}_release.tar.gz
docker images | grep federatedai/standalone_fate
## 解压缩对应的压缩包
FATE $tar -xzvf docker_standalone-fate-XXX.tar.gz

#执行部署
FATE $ cd docker_standalone-fate-XXX
FATE $ bash install_standalone_docker.sh

#验证和测试
FATE $ CONTAINER_ID=`docker ps -aqf "name=fate_python"`
FATE $ docker exec -t -i ${CONTAINER_ID} bash
FATE $ bash ./federatedml/test/run_test.sh

这里介绍以下FATE的单机版主机安装

先定义想要的版本,如

export version=1.11.2

部署前环境检查
本地8080、9360、9380端口是否被占用

netstat -apln|grep 8080;
netstat -apln|grep 9360;
netstat -apln|grep 9380

获取安装包

wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/fate/${version}/release/standalone_fate_install_${version}_release.tar.gz;

安装

docker load -i standalone_fate_docker_image_${version}_release.tar.gz
docker images | grep federatedai/standalone_fate

在这里插入图片描述
在这里插入图片描述

启动

docker run -it --name standalone_fate -p 8080:8080 federatedai/standalone_fate:${version}

测试

加载环境变量

source bin/init_env.sh

测试项

Toy测试		flow test toy -gid 10000 -hid 10000
如果成功,屏幕显示类似下方的语句:
success to calculate secure_sum, it is 2000.0

在这里插入图片描述

单元测试 	fate_test unittest federatedml --yes
如果成功,屏幕显示类似下方的语句:
there are 0 failed test

在这里插入图片描述

4.3 FATE编程范式

FATE作为一个工业级的联邦学习框架,为开发人员提供了丰富的编程接口和模型构建方式。用FATE构建联邦学习模型有以下两种不同的编程范式。

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

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

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

  • dsl配置文件:FATE内置的一套自定义领域特定语言。在dsl中,常见的机器学习任务会被划分为不同的模块,如数据读写data_io,模型训练、模型评估等可以通过一个有向无环图组织起来。
  • conf配置文件:在dsl配置文件中,不同的组件模块有不同的参数配置,这些参数统一放在conf文件中设置。比如在数据读写模块中,要指定各个参与方数据的文件路径;在模型训练中,要指定模型训练的迭代次数、batch大小、最优化方法等。

为了方便后面的统一讲解,假设用户安装FATE的主目录为fata_dir,dsl和conf是FATE运行的核心配置文件。第5章和第6章介绍dsl和conf的入门配置,以用于FATE进行横向建模和纵向建模。尽管如此,由于FATE版本的迭代,有很多参数和功能不会在本书中介绍,因此建议关注FATE官方有关运行配置的最新版本使用说明:传送门

dsl模块设置和conf参数设置都完成后,调用fate_flow模块下的fate_flow_client.py,在命令行中输入如下命令:在这里插入图片描述
将看到输出的如下信息。在浏览器中输入board_url字段中的网址信息:
在这里插入图片描述

输入后,将看到如图4-4所示的FATEBoard界面,在此界面中,会看到有关当前算法的任务流图。
在这里插入图片描述
提供了多种安全策略机制,包括同态加密、秘密共亨等安全计算协议,保证数据的隐私安全;

• 部署简单方便,用户只需提供配置文件信息便可构建联邦学习模型;

• 提供了可视化的界面,方便用户检查模型和结果;

• 支持常用的机器学习算法。提供了包括联邦特征工程、联邦模型训练和联邦模型评估在内的完整流程。

当前组件化配置的模式也存在一些不足,即模型很难自定义设置。当前的组件化配置使用的学习模型都已经内置在FATE中,但在某些场景中,用户需要根据实际情况来自定义模型、损失函数等,这就要求熟悉FATE的代码,深入FATE内部进行修改。

4.4 FATE应用案例

随着联邦学习的快速普及,FATE作为当前最完善的工业级联邦学习开发框架,已经在多个场景中得到应用。它在金融行业的应用主要包括以下几类。

  • 在小微企业信用风险管理中的应用。利用联邦学习技术,联合分散在不同行业中的数据进行建模,为小微企业贷款提供可靠的风控模型,对企业规避风险,降低微型企业贷款不良率起到重要作用。

  • 在跨银行反洗钱中的应用。反洗钱在银行的日常经营中发挥着重要作用,有效的反洗钱模型可以遏制经济犯罪活动。微众银行利用联邦学习技术,自动筛查交易记录,取得了不错的效果。

  • 在交通违章保险中的应用。通过联合多方数据进行建模,为每个用户提供个性化的保险定价模型。

有关FATE的更多应用和实践案例,可以查阅微众FedAI的官方网站:传送门

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

unseven

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

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

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

打赏作者

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

抵扣说明:

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

余额充值