【导读】
作为全球首个联邦学习工业级技术框架,FATE支持联邦学习架构体系与各种机器学习算法的安全计算,实现了基于同态加密和多方计算(MPC)的安全计算协议,能够帮助多个组织机构在符合数据安全和政府法规前提下,有效和协作地进行数据使用和联合建模。
8月18日,
FATE 1.0版本正式发布
,重点推出了联邦建模可视化工具FATABoard,以及联邦学习建模pipeline调度和生命周期管理工具FATEFlow,并对FederatedML进行了重大升级。
该项目已发布在github:
https://github.com/webankfintech/fate
FATEBoard是联邦学习建模的可视化工具,为终端用户可视化和度量模型训练的全过程,帮助用户更简单而高效地进行模型探索和模型理解。
FATEBoard由
任务仪表盘、任务可视化、任务管理与日志管理
等模块组成,支持模型训练过程全流程的跟踪、统计和监控等,并为模型运行状态、模型输出、日志追踪等提供了丰富的可视化呈现。FATEBoard可大大增强联邦建模的操作体验,让联邦建模更易于理解与实施,有利于建模人员持续对模型探索与优化。
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文件即可将算法全流程实现。
1.module:
● 模型组件,FATE当前支持11个模型组件
2.Input:
● data: 数据输入
● model: 模型输入
● isometric_model: 异构模型,当前只用于Feature Selection
3.Output
● data: 数据输出
● model: 模型输出
通过以上配置,dsl-parser能自动对用户设定的json文件,解析出完成的算法DAG图,并将其通过FATEBoard展示出来,使得用户可以清晰地看到整个算法流程的架构。