联邦学习首个工业级框架FATE v1.3来了!首度增加联邦推荐算法,更有KubeFATE重构“新体验”

前言

抗疫战场上的好消息不断传来,关于“数据免疫力”的话题也不断升温。如同人体需要提升自身免疫能力以抵抗人际接触中的潜在病毒威胁,企业和个人用户数据如何提高“免疫能力”,在越来越广泛的行业应用与合作中提升自身数据安全和防御能力?近来以破竹之势兴起的“联邦学习”进入行业视野。联邦学习在符合数据安全和政策法规的前提下,帮助各行各业实现13多方协作训练AI。FATE(Federated AI Technology Enabler)作为联邦学习全球首个工业级开源框架,实现了同态加密和多方计算(MPC)的安全计算协议,支持联邦学习架构,内置了多种机器学习算法的联邦学习实现,是联邦学习领域一座绕不开的“丰碑”。

 

近日,FATE发布了2020年的第一个版本更新——FATE v1.3。在这一版本中,FATE首次增加了联邦推荐算法模块FederatedRec,该模块包含了6大推荐场景中常用的算法,包括5种纵向联邦算法和1种横向联邦算法,可用于解决联邦学习场景下的推荐问题,如评分预测,物品排序等。此外,与VMware中国研发开放创新中心云原生实验室的团队联合发布的KubeFATE也在这一版本中迎来了大更新,整体进行了重构,并引入了对最新版本的FATE-Serving支持,使得用户可以进行在线推理。最后,针对FederatedML等多个模块,新版本也进行了更新及优化。新版本将为开发者带来一个体验绝佳的FATE。

 

该项目现已发布在GitHub:https://github.com/FederatedAI/FATE

 

FederatedREC:提升算法预测效果,优化产品分发效率

在FATE1.3版本中,FATE新增了联邦推荐算法模块FederatedRec,使得联邦推荐模块更加明确化。这一算法模块包含了6大推荐场景的常用算法,主要有:

  • 纵向联邦算法 Hetero FM(Factorization Machine)

  • 横向联邦算法 Homo FM(Factorization Machine)

  • 纵向联邦算法 Hetero MF(Matrix Factorization)

  • 纵向联邦算法 Hetero SVD

  • 纵向联邦算法 Hetero SVD++

  • 纵向联邦算法 Hetero GMF(Generalized Matrix Factorization)

     

在这6类算法中,Hetero FM和Homo FM分别是纵向联邦和横向联邦两种场景下的FM(因式分解机)算法,该算法能够实现联合不同数据方的数据进行联合建模,对不同数据方直接进行显式的特征交叉和联合打分。而对于推荐场景下的算法,Hetero MF, Hetero SVD, Hetero SVD++和HeteroGMF也提供了丰富的联邦建模下的协同过滤算法包。基于FATE v1.3提供的算法工具,能够实现不同数据方之间的user-item,user-user和item-item的矩阵分解。对开发者而言,通过联邦推荐这一模块,可以显著提升自己算法的预测效果及产品的分发效率。

 

 

KubeFATE:支持FATE-Serving实现在线联邦推理,完全重构Kubernetes安装更便捷

这一版本中,KubeFATE也同步更新至1.3,引入了对最新版本的FATE-Serving支持,使得用户可以进行在线推理,机器学习的常见功能进一步完善。

 

此外,对于KubeFATE本身,这一版本也进行了彻底的重构,主要有:

  • 支持完整的FATE集群生命周期管理,包括查询现在已部署的FATE集群列表,查看每个FATE集群的具体配置,对FATE集群配置进行更新,删除FATE集群等功能;

     

  • 实现FATE集群管理的任务框架,开发者可以细致追踪每个任务的子任务,方便定位基础设施层面的问题;

     

  • 分离KubeFATE的程序与FATE集群配置的关系,后续FATE更新版本后,开发者不需要每次都重新下载安装KubeFATE从而进行升级。理想网络状况下,KubeFATE可以自动下载 FATE集群的配置,开发者直接使用即可。如使用环境无网络支持,也可从KubeFATE的Release中下载tgz包,使用KubeFATE命令行直接上传到服务中,就可以实现部署发布新的集群支持。

     

  • 加强FATE模块化安装部署,这一版本中,KubeFATE可以把Exchange或某几个模块单独部署为一个集群,通过Kubernetes联通起来。这一功能将有助于复杂IT环境的企业进行部署。

 

最后,在新版本中,KubeFATE也会以服务的方式对外提供RESTfulAPI,对开发者而言,后续KubeFATE将以服务形式常驻对集群进行管理,命令行工具也可以在外网甚至FATE集群管理员的笔记本上运行。对外有RESTful API接口的功能如下图所示,都可以方便接入企业已有的云管系统。

 

 

FederatedML:训练稀疏数据效率提升,内存消耗再优化

除联邦推荐及KubeFATE的重点更新外,新版本针对FederatedML也做了进一步提升,在1.3中,纵向联邦广义线性模型(Hetero-LR、Hetero-LinR、Hetero-PoissonR)开始支持稀疏数据训练,开发者在训练稀疏数据时,能明显感到效率提升,内存消耗减少。解决分箱中32M限制,也使得特征分箱支持更高维度和更多样本的数据。纵向SecureBoost 梯度直方图32M限制的解决,让FATE可以支持更高维度特征进行secureboost的训练。

 

总的来说,1.3版本对FATE功能性及实践应用价值进行了强化,联邦推荐算法子模块FederatedRec的添加,对于用户而言,最明显的益处在于可以利用联邦推荐来提升自己算法的预测效果和产品的分发效率,使推荐服务的质量更上一个台阶。这对于第一方数据不够丰富,或者在业务的初始时期数据积累较少的用户方,是非常有帮助的。而KubeFATE也开启了FATE在生产环境,尤其是云原生环境上最优化管理使用的功能更新探索之路。后续,我们也将和VMware进一步合作,推出基于FATE的多方管理新项目。

 

我们欢迎对联邦学习有兴趣的同仁一起贡献代码,提交 Issues 或者 Pull Requests。详情可查阅FATE官网项目贡献者指南:https://fate.fedai.org/contribute/

 

如有疑问,欢迎留言交流。也可以添加我们FATE助手:FATEZS001,进一步交流,感谢!