FedAI联邦学习来源

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可大大增强联邦建模的操作体验,让联邦建模更易于理解与实施,有利于建模人员持续对模型探索与优化。

FATEBoard功能架构总览
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文件即可将算法全流程实现。

而配置运行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版本为联邦学习建模带来更丰富更强大的功能,极大提升了联邦建模体验。我们欢迎对联邦学习有兴趣的同仁一起贡献代码,提交 Issues 或者 Pull Requests。详情可查阅 FATE项目贡献指南:

https://github.com/WeBankFinTech/FATE/blob/master/CONTRIBUTING.md 

工程联邦学习
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

调度技术

调度在计算机中是分配工作所需资源的方法。资源可以指虚拟的计算资源,如线程、进程或数据流;也可以指硬件资源,如处理器、网络连接或扩展卡。 进行调度工作的程序叫做调度器。调度器通常的实现使得所有计算资源都处于忙碌状态,允许多位用户有效地同时共享系统资源,或达到指定的服务质量。 see planning for more details

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

联邦学习技术

如何在保护数据隐私、满足合法合规要求的前提下继续进行机器学习,这部分研究被称为「联邦学习」(Federated Learning)。

推荐文章
暂无评论
暂无评论~