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

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

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

作为联邦学习全球首个工业级开源框架,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 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。

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/1jxG5bz4Ey2aFhKQjEWJ
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券