FATE 1.0重磅发布:首个可视化联邦学习产品与联邦pipeline生产服务上线

作为全球首个联邦学习工业级技术框架,FATE支持联邦学习架构体系与各种机器学习算法的安全计算,实现了基于同态加密和多方计算(MPC)的安全计算协议,能够帮助多个组织机构在符合数据安全和政府法规前提下,有效和协作地进行数据使用和联合建模。

8月18日,FATE 1.0版本正式发布,重点推出了联邦建模可视化工具FATABoard,以及联邦学习建模pipeline调度和生命周期管理工具FATEFlow,并对FederatedML进行了重大升级。该项目已发布在github:https://github.com/webankfintech/fate。

FATEBoard:简单高效,联邦学习建模过程可视化

FATEBoard是联邦学习建模的可视化工具,为终端用户可视化和度量模型训练的全过程,帮助用户更简单而高效地进行模型探索和模型理解。

FATEBoard由任务仪表盘、任务可视化、任务管理与日志管理等模块组成,支持模型训练过程全流程的跟踪、统计和监控等,并为模型运行状态、模型输出、日志追踪等提供了丰富的可视化呈现。FATEBoard可大大增强联邦建模的操作体验,让联邦建模更易于理解与实施,有利于建模人员持续对模型探索与优化。

图1 FATEBoard功能架构总览

图2 FATEBoard界面示意图

FATEFlow:高性能联邦学习pipeline生产服务

FATEFlow是联邦学习建模Pipeline 调度和生命周期管理工具,为用户构建端到端的联邦学习pipeline生产服务。FATEFlow实现了pipeline的状态管理及运行的协同调度,同时自动追踪任务中产生的数据、模型、指标、日志等便于建模人员分析。另外,FATEFlow还提供了联邦机制下的模型一致性管理以及生产发布功能。

在FATE 0.3版本以前,启动任务的模块是由Workflow完成。在Workflow中,各算法组件的顺序被完全固定,用户只能选择是否开启某个模块,无法按照需求调整组件顺序,甚至多次调用同一个组件。每多开发一个组件,都要修改整体的Workflow,以适应新组件的添加。这种设计,使开发者在添加新组件时,修改部分过多,限制了整体系统的可扩展性。

而FATE 1.0新推出的FATEFlow良好解决了workflow中由于需要提前规定算法组建顺序而造成的流程排版复杂问题,在调用模块时不再存在大一统组件,每一次建模任务都能自定义算法流程。在FATE v1.0版本中,开发者自定义流程只要一个普通的json文件就可以实现,这使得开发者在添加新组件时,不用修改过多部分,极大程度地提升了整体系统的可扩展性。

FATEFlow提供了极为丰富的功能,主要包括:

DAG定义联邦学习Pipeline

多方非对称Pipeline DAG、通用json格式DAG DSL、DSL-Parser

联邦任务协同调度

多方任务队列管理、协同分发任务、任务一致性保证、多方状态同步等

联邦任务生命周期管理

多方启停、状态检测等

联邦模型管理

联邦模型存取、联邦模型一致性、版本管理、发布管理等

联邦任务输入输出实时追踪

数据、模型、自定义指标、日志等实时记录存储

此外,FateFlow还提供了多种接口,方便用户完整把握整个建模任务。包括:

上传和下载数据功能,使得用户可以方便地切换数据源;

状态查询功能,获得每个组件的实时状态;

下载功能,获取每个组件的配置文件和中间结果,最大程度方便用户调试。

在FATE 1.0版本中,用户自定义流程得以进一步简化,过程非常简单,只需通过一个普通的json文件即可将算法全流程实现。

QQ截图20190821092142.png

而配置运行DSL,也只需要三步:

1.module: 模型组件,FATE当前支持11个模型组件

2.Input:

•data: 数据输入

•model: 模型输入

•isometric_model: 异构模型,当前只用于Feature Selection

3.Output

•data: 数据输出

•model: 模型输出

通过以上配置,dsl-parser能自动对用户设定的json文件,解析出完成的算法DAG图,并将其通过FATEBoard展示出来,使得用户可以清晰地看到整个算法流程的架构。

DAG图示意

FederatedML:重大升级所有算法模块运行机制

FederatedML支持FATEFlow以组件模块化的方式构建任意模型,支持FATEBoard回调中间统计结果以可视化展示。另外,还增加和升级了多项重要功能:

优化算法模块增加对Nesterov Momentum SGD 优化算法的支持,极大提升了联邦学习算法的收敛速度;

多方安全协议增加对Affine Transform的加法同态加密算法的支持;

联邦特征分箱增加对稀疏输入格式的支持;

升级评估指标以覆盖大部分分类评估与回归评估;

重构和升级算法参数类,实现算法参数定义和校验一体化。

FATEServing:联邦推理功能升级

在线联邦推理中,FATE 1.0新增了在线联邦建模pipeline的DSL解析器,允许用户生成联邦推理pipeline并进行联邦推理。

总之,FATE 1.0版本为联邦学习建模带来更丰富更强大的功能,极大提升了联邦建模体验。微众银行AI团队欢迎对联邦学习有兴趣的同仁一起贡献代码,提交 Issues 或者 Pull Requests。详情可查阅 FATE项目贡献指南:https://github.com/WeBankFinTech/FATE/blob/master/CONTRIBUTING.md