重磅!全球首个可视化联邦学习产品与联邦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文件即可将算法全流程实现。
而配置运行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
⬇⬇点击“阅读原文”,前往github深入了解FATE
相关文章:

SpringBoot之集成swagger2
maven配置 <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.5.0</version> </dependency> <dependency><groupId>io.springfox</groupId><artifact…

Windows Caffe中MNIST数据格式转换实现
Caffe源码中src/caffe/caffe/examples/mnist/convert_mnist_data.cpp提供的实现代码并不能直接在Windows下运行,这里在源码的基础上进行了改写,使其可以直接在Windows 64位上直接运行,改写代码如下:#include "stdafx.h"…

关于less在DW中高亮显示问题
首先, 找到DW 安装目录。 Adobe Dreamweaver CS5.5\configuration\DocumentTypes 中的,MMDocumentTypes.xml 这个文件,然后用记事本打开,查找CSS 把 CSS 后边加上,less 然后到。C:\Users\Administrator\AppData\Roamin…
Windows7 64bit VS2013 Caffe train MNIST操作步骤
1. 使用http://blog.csdn.net/fengbingchun/article/details/47905907中生成的Caffe静态库; 2. 使用http://blog.csdn.net/fengbingchun/article/details/49794453中生成的LMDB数据库文件; 3. 新建一个train_mnist控制台工程&#…

NLP机器翻译深度学习实战课程基础 | 深度应用
作者 | 小宋是呢来源 | CSDN博客0.前言深度学习用的有一年多了,最近开始 NLP 自然处理方面的研发。刚好趁着这个机会写一系列 NLP 机器翻译深度学习实战课程。本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:…

个人站点渲染和跳转过滤功能
核心逻辑:在url里加入正则,匹配分类、标签、年月日和其后面的参数,在视图函数接收这些参数,然后进行过滤。 urls.py # 个人站点的跳转 re_path(r^(?P<username>\w)/(?P<condition>tag|category|archive)/(?P<pa…

三步10分钟搞定数据库版本的降迁 (将后台数据库SQL2008R2降为SQL2005版本)
三步10分钟搞定数据库版本的降迁 (将SQL2008R2降为SQL2005版本)转载原文,并注明出处!虽无多少技术含量,毕竟是作者心血原创,希望理解。转自 http://blog.csdn.net/claro/article/details/6449824前思后想仍…

jdbc链接数据库
JDBC简介 JDBC全称为:Java Data Base Connectivity (java数据库连接),可以为多种数据库提供填统一的访问。JDBC是sun开发的一套数据库访问编程接口,是一种SQL级的API。它是由java语言编写完成,所以具有很好的跨平台特性…

Google Protocol Buffers介绍
Google Protocol Buffers(简称Protobuf),是Google的一个开源项目,它是一种结构化数据存储格式,是Google公司内部的混合语言数据标准,是一个用来序列化(将对象的状态信息转换为可以存储或传输的形式的过程)结…

打造 AI Beings,和微信合作…第七代微软小冰的成长之路
8月15日, “第七代微软小冰”年度发布会在北京举行。本次发布会上,微软(亚洲)互联网工程院带来了微软小冰在 Dual AI 领域的新进展,全新升级的部分核心技术,最新的人工智能创造成果,以及更多的合作与产品落地。其中&am…
感知机介绍及实现
感知机(perceptron)由Rosenblatt于1957年提出,是神经网络与支持向量机的基础。感知机是最早被设计并被实现的人工神经网络。感知机是一种非常特殊的神经网络,它在人工神经网络的发展史上有着非常重要的地位,尽管它的能力非常有限,…

不甘心只做输入工具,搜狗输入法上线AI助手,提供智能服务
8月19日搜狗输入法上线了新功能——智能汪仔,在输入法中引入了AI助手,这是搜狗输入法继今年5月推出“语音变声功能”后又一个AI落地产品。 有了智能汪仔AI助手的加持后,搜狗输入法能够在不同的聊天场景,提供丰富多样的表达方式从…
可构造样式表 - 通过javascript来生成css的新方式
可构造样式表是一种使用Shadow DOM进行创建和分发可重用样式的新方法。 使用Javascript来创建样式表是可能的。然而,这个过程在历史上一直是使用document.createElement(style)来创建<style>元素,然后通过访问其sheet属性来获得一个基础的CSSStyle…

模板方法模式与策略模式的区别
2019独角兽企业重金招聘Python工程师标准>>> 模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 策略模式:定义一个…

简单明了,一文入门视觉SLAM
作者 | 黄浴转载自知乎【导读】SLAM是“Simultaneous Localization And Mapping”的缩写,可译为同步定位与建图。最早,SLAM 主要用在机器人领域,是为了在没有任何先验知识的情况下,根据传感器数据实时构建周围环境地图,…
大主子表关联的性能优化方法
【摘要】主子表是数据库最常见的关联关系之一,最典型的包括合同和合同条款、订单和订单明细、保险保单和保单明细、银行账户和账户流水、电商用户和订单、电信账户和计费清单或流量详单。当主子表的数据量较大时,关联计算的性能将急剧降低,在…

Windows7上配置Python Protobuf 操作步骤
1、 按照http://blog.csdn.net/fengbingchun/article/details/8183468 中步骤,首先安装Python 2.7.10; 2、 按照http://blog.csdn.net/fengbingchun/article/details/47905907 中步骤,配置、编译Protobuf; 3、 将(2)中生成的pr…

鲜为人知的静态、命令式编程语言——Nimrod
Nimrod是一个新型的静态类型、命令式编程语言,支持过程式、函数式、面向对象和泛型编程风格而保持简单和高效。Nimrod从Lisp继承来的一个特殊特性抽象语法树(AST)作为语言规范的一部分,可以用作创建领域特定语言的强大宏系统。它还…

机器学习进阶-图像形态学操作-腐蚀操作 1.cv2.erode(进行腐蚀操作)
1.cv2.erode(src, kernel, iteration) 参数说明:src表示的是输入图片,kernel表示的是方框的大小,iteration表示迭代的次数 腐蚀操作原理:存在一个kernel,比如(3, 3),在图像中不断的平移,在这个9…

无需成对示例、无监督训练,CycleGAN生成图像简直不要太简单
作者 | Jason Brownlee译者 | Freesia,Rachel编辑 | 夕颜出品 | AI科技大本营(ID: rgznai100)【导读】图像到图像的转换技术一般需要大量的成对数据,然而要收集这些数据异常耗时耗力。因此本文主要介绍了无需成对示例便能实现图…

Git使用常见问题解决方法汇总
1. 在Ubuntu下使用$ git clone时出现server certificate verification failed. CAfile:/etc/ssl/certs/ca-certificates.crt CRLfile: none 解决方法:在执行$ git clone 之前,在终端输入: export GIT_SSL_NO_VERIFY1 2. 在Windows上更新了…

服务器监控常用命令
在网站性能优化中,我们经常要检查服务器的各种指标,以便快速找到害群之马。大多情况下,我们会使用cacti、nagois或者zabbix之类的监控软件,但是这类软件安装起来比较麻烦,在一个小型服务器,我们想尽快找到问…
Ubuntu下内存泄露检测工具Valgrind的使用
在VS中可以用VLD检测是否有内存泄露,可以参考http://blog.csdn.net/fengbingchun/article/details/44195959,下面介绍下Ubuntu中内存泄露检测工具Valgrind的使用。Valgrind目前最新版本是3.11.0, 可以从http://www.valgrind.org/ 通过下载源码…

数据为王的时代,如何用图谱挖掘商业数据背后的宝藏?
这是一个商业时代,一个数据为王的时代,也是一个 AI 迎来黄金发展期的时代。据史料记载,商业在商朝已初具规模。斗转星移,时光流转,到 2019 年,商业形式已发生翻天覆地的变化,但是商业的本质——…

旋转卡壳——模板(对踵点)
这东西学了我大概两天吧。。其实不应该学这么久的,但是这两天有点小困,然后学习时间被削了很多\(QwQ\) 说几个坑点。 - 对于题目不保证有凸包的情况,要选用左下角的点,而非单纯的最下边的点构造凸包。 - 对于凸包中只有\(1/2\)个点…

SNMP 协议 OID的使用
为什么80%的码农都做不了架构师?>>> SNMP 协议 OID的使用 SNMP(Simple Network Management Protocol简单网络管理)协议 是现在网络管理系统(NMS)监控网络设备状态的协议,是现在网管事实上的标准…

颜色空间YUV简介
YUV概念:YUV是被欧洲电视系统所采用的一种颜色编码方法(属于PAL,Phase Alternation Line),是PAL和SECAM模拟彩色电视制式采用的颜色空间。其中的Y、U、V几个字母不是英文单词的组合词,Y代表亮度,其实Y就是图像的灰度值…

基于RNN的NLP机器翻译深度学习课程 | 附实战代码
作者 | 小宋是呢来源 | CSDN博客深度学习用的有一年多了,最近开始NLP自然处理方面的研发。刚好趁着这个机会写一系列 NLP 机器翻译深度学习实战课程。本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:…

trash-cli设置Linux 回收站
trash-cli 设置 Linux 回收站 trash-cli是一个使用 python 开发的软件包,包含 trash-put、restore-trash、trash-list、trash-empty、trash-rm等命令,我们可以通过这条命令,将文件移动到回收站,或者还原删除了的文件。 trash-cli的…

磁盘有时也不可靠
实验服务器的磁盘是最近买的,当卖家问我要普通的还是高级的, 我选择了普通,现在追悔莫及。今天的分析更加详细。首先发现每次实验,出错的文件都不一样,所以应该不是临界条件的问题。下表总结了出错的位置,原…