联手VMware,我们将联邦学习全球首个工业级开源框架FATE送上了云平台

10月31日,FATE v1.1版本正式发布。在这个版本中,FATE联合VMware中国研发开放创新中心云原生实验室的团队一起搞了个“大事”——发布了KubeFATE项目,通过把FATE的所有组件用容器的形式封装,实现了使用Docker Compose或Kubernetes(Helm Charts)来部署。现代应用以DevOps方式开发,基于容器部署应用的优势相当明显,应用不仅可以无差别地运行在支持容器的平台上,还可以按需灵活地实现多实例水平扩展。该项目现已发布在GitHub:https://github.com/FederatedAI/KubeFATE

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

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

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

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

在算法方面,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)两种部署方式。

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。详情可查阅 FATE官网项目贡献者指南:https://fate.fedai.org/contribute/