您的位置 : 首页 > 营销 >

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

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

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

时 间:2019年11月23日 16:25

详细介绍

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

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

  在这一版本之前,如果开发者要使用FATE项目提供的联邦学习基础框架,需要从源代码开始编译构建然后使用。编译源码和构建可执行文件的工作涉及到C++,JavaPython等异构语言环境,开发者需要具备这些方面的能力才能理解并排除编译中出现的问题,对自身要求较高。其次,编译过程中需要从互联网下载大量依赖的软件包(GB级别),网络环境不佳的话耗时将会巨大,并且可能因为网络原因构建失败。

  另外,在编译构建之后,部署FATE的过程需要对系统各个模块进行配置,如果配置有误,系统将无法正常工作。因为FATE是个分布式系统,排错的成本比较高。

  事实上,许多开发者的初步要求只是能够使用FATE,因此从源码开始的编译工作是不必要的,这也阻碍了部分开发者来认识FATE。而直接使用FATE v1.1版本中打包好的Docker容器镜像,则可以跳过前期步骤,大大降低了FATE的使用门槛,避免开发者“倒在起跑线上”。如果是企业开发者,还可以发现离线部署FATE的能力也得到了提升,借助 Harbor 开源容器镜像仓库,可以自动同步网上的镜像,为运维减压了。

  除了和Vmware联手推出的KubeFATE项目外,v1.1版本还提供了横向通用框架,增加了多个联邦算法。详情可前往GitHub查看:

  具体来说,新版本中提供了横向联邦学习通用算法框架,支持Secure Aggregation,通过封装横向联邦学习的主要流程,开发者能够简单地实现横向联邦学习算法。比如利用这一框架,可以实现横向神经网络算法。

  除了横向联邦学习框架外,新版本中FATE还新增了对纵向线性回归、纵向泊松回归等联邦算法的支持,前者在预测连续标签等应用场景上非常有力,而后者则能更好的协助开发者预测次数与频率,如在购买保险和评估意外发生风险等场景里,泊松回归都能对频率进行预测。这一版本开始,FATE也正式开始支持多方纵向联邦建模,可以实现纵向场景下的多个数据提供方共同训练联邦模型。

  其次,FATE也对连接Spark进行了尝试,FATE v1.1支持已有Spark集群的开发者直接复用现有资源,可以选择Spark作为计算引擎,根据实际情况灵活配置。而在FATE-Serving模块,FATE也首次支持在线上使用训练好的Secureboost模型进行推理预测。同时,FATE-Serving新增服务治理功能,在线将部署多台相同服务器,如有任一服务器出现问题,那么进程将会在剩下的服务器之间切换,防止因为单一服务器故障而出现数据丢失等情况。

  在新版本中,FATE的开发更加轻松,开发者可以更关注于算法具体本身,而将更多通用的通信传输内容交给框架。通过提供易扩展的横向算法框架,方便了不同横向算法的开发,有助于提高整体开发效率。对用户而言,也能更方便理解和把握整体的算法思路,从而更好地使用和参与到社区建设中来。

  此外,FATE v1.1版本中还提供了横向DNN、线性回归、泊松回归等算法的支持,以及更多算法支持多方联邦建模,丰富了更多的建模场景,提升了FATE的实用性。

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

  FATEBoard是联邦学习建模的可视化工具,为终端用户可视化和度量模型训练的全过程,帮助用户更简单而高效地进行模型探索和模型理解。新版本中,job工作流展示进一步优化,并支持组件数据与模型的输入输出端口分离,提供更直观的数据传输与模型传输展示;

  另外,现已支持模型训练过程中的评估结果可视化,便于实时关注与跟踪中间训练过程和结果;更提供secureboost树模型的可视化展示,不仅可以清晰地观测模型中每颗决策树,还能查看不同标签下的树模型。

  而在新版本中,模型加载成功后会在本地文件中保存,在重启之后会从本地文件中恢复之前加载的模型。

  此外,v1.1版本引入zookeeper作为注册中心,提供了有限的服务治理功能,能够动态的注册grpc接口,在某些机器宕机的情况下,能够自动的切换流量 。

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

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

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

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

上一篇:京东数科与农行签署框架合作协议 下一篇:新文化与京东拓宏签署合作框架协议

人物观点