10月21日,杭州云栖大会-技术&可持续发展论坛,注册有礼 了解详情
写点什么

联邦学习全球首个工业级开源框架 FATE 完成重大更新:全球首次支持纵向联邦神经网络算法

2020 年 1 月 19 日

联邦学习全球首个工业级开源框架FATE完成重大更新:全球首次支持纵向联邦神经网络算法

近两年来,联邦学习发展迅速,其作为分布式的机器学习范式,能够有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,从技术上打破数据孤岛,实现 AI 协作。而 FATE 作为联邦学习全球首个工业级开源框架,支持联邦学习架构体系,为机器学习、深度学习、迁移学习提供了高性能联邦学习机制。此外,其自身还支持多种多方安全计算协议,如同态加密、秘密共享、哈希散列等,具有友好的跨域交互信息管理方案。


近日,全球首个联邦学习工业级开源框架 FATE 1.2 版本正式发布,在该版本中,FATE 推出了两大重量级的更新项,分别为对纵向联邦 DNN 的支持以及对多方安全计算 SPDZ 协议的支持。作为首个支持纵向联邦神经网络算法的版本,开发者在纵向联邦建模的分类、回归、排序等场景下都可以明显感受到其支持性。而 SPDZ 秘密共享安全计算协议的的支持,进一步拓展和丰富了 FATE 的应用场景。


在之前的 1.0 大版本中,FATE 上线了首个可视化联邦学习产品与联邦 pipeline 生产服务。而在 1.1 大版本中,FATE 联合 VMware 中国研发开放创新中心云原生实验室联合发布了 KubeFATE 项目,通过把 FATE 的所有组件用容器的形式封装,实现了使用 Docker Compose 或 Kubernetes(Helm Charts)来部署。前两个版本分别在可视化使用体验及部署体验上做了重点提升,而 FATE v1.2 版本则回归至算法本身,进一步拓展其支持性。除两大重量级更新项以外,还新增了如二阶优化方法-纵向 SQN、数据管理模块等功能,前者能够显著提升纵向逻辑回归和纵向线性回归收敛效率,对算法加速起到关键作用。后者则用于记录 upload 的数据表及 Job 运行中模型的输出结果,并提供查询以及清理 CLI,项目已开源在GitHub上。


FederatedML: 开启纵向联邦深度学习和多种多方安全计算协议支持之旅

在 FATE 1.2 版本中,首次对外发布了纵向联邦深度学习框架,开启了 FATE 对深度学习联邦化的支持,开发者可以自定义深度神经网络结构。目前版本已支持 Tensorflow, 后续会推出 PyTorch 版本,便于开发者低代价迁移 Tensorflow 和 Pytorch 的使用习惯和经验。


在这一版本中,FATE 实现了 SPDZ 秘密共享多方安全计算协议的支持,这意味在现有同态加密协议的基础上,FATE 能为开发者提供更多样化的多方安全计算协议支持。开发者们可根据自身算法的特点,自由选择适合自身算法的多方安全计算协议,联邦学习的可应用范围得到进一步拓展。值得说明的是,在纵向皮尔逊特征相关性计算算法实现中,首次使用了 SPDZ 协议。


此外,算法性能优化方面, 新版本也首次引入二阶优化算法,提出了纵向 SQN 算法,并成功应用在纵向广义线性模型中,对算法性能有显著提升。特征分箱和特征选择新增对多方 host 联邦建模的支持,开始全方位的支持多 host 场景。


FATE-Board:两大可视化支持,实用性再提升

自 1.0 版本推出 FATE-Board 以来,这一产品受到了开发者广泛好评。而在 1.2 版本中,FATE 也对 FATE-Board 再次进行了提升,新增了对联邦模式下特征相关性、以及 LocalBaseline 组件的可视化支持。前者能够直观地分析特征之间的相关性分布情况,从而帮助开发者快速进行判断与特征选择。而后者则可以让开发者将基于联邦训练的模型与基于 sklearn 训练的模型结果进行直接对比,并从可视化报告对比中得出相关结论。


此外,这一版本的 FATE-Board 在用户体验方面也有了重大的提升,如工作流、模型输出图表图形、评估曲线等,都高度优化了可视化效果及交互操作,并增强了实用性。在使用中相信能让开发者体验再上一层楼。


FATE-Flow:FATE 数据管理模块,开启数据治理之路

在 FATE 1.2 版本中,FATE 新增加了数据管理模块,这将成为开启数据治理的第一步。从这一版本开始,在整个 Job 生命周期产生的数据都有迹可循了。此外,数据管理模块提供了诸如查询、删除等常用管理命令,这也极大地增强了开发者对数据的掌控能力。


总的来说,FATE 在 1.2 这一版本中,开启了对新领域的进一步拓展。无论是对纵向联邦深度学习框架,还是多方安全计算 SPDZ 协议的支持,都是在打磨底层框架,为未来 FATE 能支持更多应用场景提供一种可能。从这一版本也可以看出,除新功能外,FATE 对已有建模组件也在持续不断的优化和改进,致力于在效率,多样性和实用性上,为开发者提供更加优质的服务体验。


详情可查阅 FATE官网项目贡献者指南。


2020 年 1 月 19 日 09:441825

评论

发布
暂无评论
发现更多内容

【计算机内功修炼】五:从小白到高手,你需要理解同步与异步

码农的荒岛求生

异步 同步 回调函数

城市生态的机器人革命

脑极体

运维大规模ES集群的思考和实践

京东科技开发者

数据库 elasticsearch 数据分析

工信部:推动区块链等与工业互联网的融合技术研究

CECBC区块链专委会

大数据

全网独家首发!—份破解大厂面试官千层套路的算法+数据结构笔记!真是太TM重要了

比伯

Java 架构 面试 程序人生 算法

HBase 底层原理详解(深度好文,建议收藏)

五分钟学大数据

大数据 HBase

精选算法面试-数组(二分查找)

李孟

面试 算法 数组 28天写作

三分钟快速掌握 maven插件

田维常

maven

RocketMQ中的事务消息

废材姑娘

RocketMQ

量化交易系统开发软件源码

系统开发咨询:I76-883I-5I52 邓森

案例研究之聊聊 QLExpress 源码 (五)

小诚信驿站

刘晓成 小诚信驿站 28天写作 QLExpress源码 聊聊源码

【小菜学网络】MAC地址详解

fasionchan

网络编程 网络协议 TCP/IP

“直男”审美?不存在的!来看看 “攻城狮”对一款IoT App的UI改造吧!

IoT云工坊

android App 物联网 IoT sdk

DevSecOps:好处和挑战

啸天

敏捷开发 运维自动化 DevSecOps 应用安全

区块链未来三年内将广泛落地

CECBC区块链专委会

区块链

智慧building之一 智能家居

张老蔫

28天写作

Docker真的被Kubernetes放弃了吗?

蔡超

Docker Kubernetes 云原生

玩一玩Linux常见命令第二篇

程序员的时光

程序员 28天写作

醒醒!Python已经支持中文变量名啦!

Python猫

Python

【Mysql-InnoDB 系列】锁定读

程序员架构进阶

MySQL innodb 锁机制 28天写作

不要用+""代替强转

BerryMew

快的不止一点点!阿里强推的“Redis速成手册”也太香了吧

互联网架构师小马

Java 数据库 nosql redis 缓存

TRX智能合约系统开发案例详解

系统开发咨询:I76-883I-5I52 邓森

京东搜索排序在线学习的 Flink 优化实践

Apache Flink

flink

区块链:行业应用即将“引爆”

CECBC区块链专委会

区块链

【TF2系列笔记】Day01:在VSCode中创建开发环境

IT蜗壳-Tango

七日更 TF2

28 天带你玩转 Kubernetes-- 第六天(玩转 Docker命令)

Java全栈封神

Docker k8s 28天写作 docker命令

Spring Boot 中的MVC支持

武哥聊编程

Java mvc springboot SpringBoot 2 28天写作

枪手博弈 - 在强者的世界,弱者的生存法则

石云升

博弈论 28天写作 枪手博弈

Kubernetes介绍篇:是什么?为什么要用?

xcbeyond

Docker Kubernetes 容器 28天写作 Kubernetes从入门到精通

LeetCode题解:105. 从前序与中序遍历序列构造二叉树,递归+数组切割,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

数据cool谈(第1期)数据库寻路,开源有态度

数据cool谈(第1期)数据库寻路,开源有态度

联邦学习全球首个工业级开源框架FATE完成重大更新:全球首次支持纵向联邦神经网络算法-InfoQ