作为全球首个联邦学习工业级技术框架,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 提供了极为丰富的功能,主要包括:
l DAG 定义联邦学习 Pipeline
多方非对称 Pipeline DAG、通用 json 格式 DAG DSL、DSL-Parser
l 联邦任务协同调度
多方任务队列管理、协同分发任务、任务一致性保证、多方状态同步等
l 联邦任务生命周期管理
多方启停、状态检测等
l 联邦模型管理
联邦模型存取、联邦模型一致性、版本管理、发布管理等
l 联邦任务输入输出实时追踪
数据、模型、自定义指标、日志等实时记录存储
此外,FateFlow 还提供了多种接口,方便用户完整把握整个建模任务。包括:
l 上传和下载数据功能,使得用户可以方便地切换数据源;
l 状态查询功能,获得每个组件的实时状态;
l 下载功能,获取每个组件的配置文件和中间结果,最大程度方便用户调试。
在 FATE 1.0 版本中,用户自定义流程得以进一步简化,过程非常简单,只需通过一个普通的 json 文件即可将算法全流程实现。
而配置运行 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 回调中间统计结果以可视化展示。另外,还增加和升级了多项重要功能:
l 优化算法模块增加对 Nesterov Momentum SGD 优化算法的支持,极大提升了联邦学习算法的收敛速度;
l 多方安全协议增加对 Affine Transform 的加法同态加密算法的支持;
l 联邦特征分箱增加对稀疏输入格式的支持;
l 升级评估指标以覆盖大部分分类评估与回归评估;
l 重构和升级算法参数类,实现算法参数定义和校验一体化。
FATEServing:联邦推理功能升级
在线联邦推理中,FATE 1.0 新增了在线联邦建模 pipeline 的 DSL 解析器,允许用户生成联邦推理 pipeline 并进行联邦推理。
总之,FATE 1.0 版本为联邦学习建模带来更丰富更强大的功能,极大提升了联邦建模体验。微众银行 AI 团队欢迎对联邦学习有兴趣的同仁一起贡献代码,提交 Issues 或者 Pull Requests。
详情可查阅 FATE 项目贡献指南:
https://github.com/WeBankFinTech/FATE/blob/master/CONTRIBUTING.md
评论