全球首个联邦学习工业级开源框架 FATE 上云

阅读数:1015 2019 年 11 月 27 日 14:15

全球首个联邦学习工业级开源框架FATE上云

2019 年 2 月,微众银行 AI 团队自主研发的全球首个工业级联邦学习框架 FATE(Federated AI Technology Enabler)正式发布,提供基于数据隐私保护的分布式安全计算框架,为机器学习、深度学习、迁移学习算法提供高性能的安全计算支持。10 月 31 日,FATE v1.1 版本正式发布,联合 VMware 中国研发开放创新中心云原生实验室团队发布 KubeFATE 项目,通过把 FATE 的所有组件用容器的形式封装,实现了使用 Docker Compose 或 Kubernetes(Helm Charts)来部署。

全球首个联邦学习工业级开源框架FATE上云

随着用户数据安全和隐私保护相关政策出台,企业在给用户提供更好的创新服务时也面临着数据安全和用户隐私问题。而联邦学习则能够帮助企业在符合数据安全和政策法规的前提下,持续更好地输出创新服务,提升服务质量。

作为联邦学习全球首个工业级开源框架,FATE v1.1 版本于 10 月 31 日正式发布。在这个版本中,FATE 联合 VMware 中国研发开放创新中心云原生实验室的团队发布了 KubeFATE 项目,通过把 FATE 的所有组件用容器的形式封装,实现了使用 Docker Compose 或 Kubernetes(Helm Charts)来部署。现代应用以 DevOps 方式开发,基于容器部署应用的优势相当明显,应用不仅可以无差别地运行在支持容器的平台上,还可以按需灵活地实现多实例水平扩展。该项目现已发布在 GitHub 上。

项目地址: https://github.com/FederatedAI/KubeFATE

目前主流的云平台,如 AWS、Azure、阿里云、腾讯云等,都有基于容器和 Kubernetes 的云原生服务,使得容器应用的部署和运行已经标准化和商品化。通过 KubeFATE 项目,开发者可以轻松地在公有云或私有云中部署和使用 FATE 项目。

全球首个联邦学习工业级开源框架FATE上云

另外,本次 FATE v1.1 版本在算法和功能基础了进行重大升级和提升:不仅上线了横向联邦学习通用算法框架,增加了 DNN、回归等多个联邦算法,并开始支持多方纵向联邦建模,支持 spark 引擎,支持 FATEServing 服务治理,支持 secureboost 在线预测等;1.1 版本再一次提升了联邦学习建模体验,更丰富的功能、更全面的算法,同时帮助更多的企业和用户参与对 FATE 技术和应用的深入研究。

FederatedML:提供易扩展的横向算法框架支持横向算法开发

在新版本中,FATE 使开发更加轻松,开发者可以更关注算法本身,而将更多通用的通信传输内容交给框架。FATE v1.1 提供易扩展的横向联邦学习通用算法框架,支持 Secure Aggregation,通过封装横向联邦学习的主要流程,开发者能够简单地实现横向联邦学习算法。

全球首个联邦学习工业级开源框架FATE上云

在算法方面,FATE 新增了对横向 DNN、纵向线性回归、纵向泊松回归等联邦算法的支持,以及更多算法支持多方联邦建模,丰富了更多的建模场景,提升了 FATE 的实用性。值得一提的是,线性回归在预测连续标签等应用场景上非常有力,而泊松回归则能更好的协助开发者预测次数与频率,如在购买保险和评估意外发生风险等场景里,泊松回归都能对频率进行预测。

从这一版本开始,FATE 也正式开始支持多方纵向联邦建模,可以实现纵向场景下的多个数据提供方共同训练联邦模型。

最后,FATE 也对连接 Spark 进行了尝试,FATE v1.1 支持已有 Spark 集群的开发者直接复用现有资源,可以选择 Spark 作为计算引擎,根据实际情况灵活配置。更多可前往 GitHub 了解。

(地址: https://github.com/FederatedAI/FATE/tree/master/federatedml)

FATEFlow:高性能联邦学习 Pipeline 生产服务

FATEFlow 是联邦学习建模 Pipeline 调度和生命周期管理工具,为用户构建端到端的联邦学习 Pipeline 生产服务。v1.1 版本中,FATEFlow 主要在稳定性及易用性上进行了提升,例如:

  • 上传下载文件支持查看作业状态,对于大文件和对接其他系统有较大帮助;
  • 支持取消等待中的作业;
  • 支持对作业设置超时时间;
  • 优化作业日志,统一存放于以作业 ID 命名的日志文件夹,提高排查问题效率;

FATEBoard:简单高效,联邦学习建模过程可视化

FATEBoard 是联邦学习建模的可视化工具,为终端用户可视化和度量模型训练的全过程,帮助用户更简单而高效地进行模型探索和模型理解。新版本中,job 工作流展示进一步优化,并支持组件数据与模型的输入输出端口分离,提供更直观的数据传输与模型传输展示;
另外,现已支持模型训练过程中的评估结果可视化,便于实时关注与跟踪中间训练过程和结果;更提供 secureboost 树模型的可视化展示,不仅可以清晰地观测模型中每颗决策树,还能查看不同标签下的树模型。

FATEServing:服务治理,重启自动恢复模型

在新版本中,模型加载成功后会在本地文件中保存,在重启之后会从本地文件中恢复之前加载的模型。
此外,v1.1 版本引入 zookeeper 作为注册中心,提供了有限的服务治理功能,能够动态的注册 grpc 接口,在某些机器宕机的情况下,能够自动的切换流量 。

KubeFATE:FATE 部署能力升级

FATE v1.1 版本提供打包好的 Docker 容器镜像,大大降低 FATE 的使用门槛,避免开发者“倒在起跑线上”。如果是企业开发者,还可以发现离线部署 FATE 的能力也得到了提升,借助 Harbor 开源容器镜像仓库,可以自动同步网上的镜像,为运维减压。
KubeFATE 主要提供了 Docker compose 和 Kubernetes(Helm Chart)两种部署方式。

全球首个联邦学习工业级开源框架FATE上云

Docker-Compose 可以将 FATE 的所有组件部署在单个节点中,并且支持多个合作方的部署。开发者无需编译代码,可使用 Docker compose 迅速搭建测试环境。当前 Docker compose 可将 FATE 部署在一个或多个节点中,有利于开发者对 FATE 功能的熟悉和了解。

Docker-Compose 的单节点部署方式定位于测试。在生产环境中,往往需要多节点部署,此时采用 Kubernetes 的方式更佳。KubeFATE 提供了 Helm Charts 来把 FATE 部署到 Kubernetes 方法,可在支持 Kubernetes 的云上直接部署 FATE,并且可以按照需求定制部署的细节,例如把计算模块部署在有 GPU 的节点上等等。

Harbor 是开源镜像仓库,提供镜像的访问控制、远程同步、安全漏洞扫描等强大能力,国内的用户绝大部分使用 Harbor 管理镜像。KubeFATE 项目将 Harbor 集成到其中,可提供本地镜像管理能力,无需依赖 Docker Hub 等云服务,大大提高了效率和安全性。此外,Harbor 还能复制远程的镜像,可把镜像在公有云或数据中心之间双向复制,遇到故障可自动恢复,从而简化运维复杂度。

总的来说,FATE v1.1 版本增加了多个联邦算法的支持,为联邦学习建模带来更丰富更强大的功能,同时联合 VMware 推出 KubeFATE,简化 FATE 使用门槛,对初接触开发者更为友好。我们欢迎对联邦学习有兴趣的同仁一起贡献代码,提交 Issues 或者 Pull Requests。

评论

发布