Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

FATE v1.3来了!首度增加联邦推荐算法,更有KubeFATE重构「新体验」

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

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

该项目现已发布在GitHub:https://ai.webankcdn.net/scvm/html/1579237396542.html

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++和Hetero GMF也提供了丰富的联邦建模下的协同过滤算法包。基于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也会以服务的方式对外提供RESTful API,对开发者而言,后续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://ai.webankcdn.net/scvm/html/1579237396542.html

产业联邦学习
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

协同过滤技术

协同过滤(英语:Collaborative Filtering),简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。协同过滤又可分为评比(rating)或者群体过滤(social filtering)。其后成为电子商务当中很重要的一环,即根据某顾客以往的购买行为以及从具有相似购买行为的顾客群的购买行为去推荐这个顾客其“可能喜欢的品项”,也就是借由社区的喜好提供个人化的信息、商品等的推荐服务。除了推荐之外,近年来也发展出数学运算让系统自动计算喜好的强弱进而去芜存菁使得过滤的内容更有依据,也许不是百分之百完全准确,但由于加入了强弱的评比让这个概念的应用更为广泛,除了电子商务之外尚有信息检索领域、网络个人影音柜、个人书架等的应用等。

提升算法技术

Boosting是一种主要用于减少偏差的机器学习集成元算法,也是监督学习的一个变化,是一种将弱学习器转换为强学习器的机器学习算法家族。 Boosting是基于Kearns和Valiant(1988,1989)提出的问题:一组弱学习器能创造一个强大的学习器吗?一个弱的学习器被定义为一个分类器,它与真实的分类只有轻微的相关性(它可以比随机猜测更好地标注示例)。相反,强大的学习器是一个与真实分类任意相关的分类器。

广义线性模型技术

在统计学上, 广义线性模型 (Generalized linear model) 是一种应用灵活的线性回归模型,简称GLM。该模型允许因变量的偏差分布有除了正态分布之外的其它分布。此模型假设实验者所量测的随机变量的分布函数与实验中系统性效应(即非随机的效应)可经由一链接函数(link function)建立起可资解释其相关性的函数。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

因式分解技术

在数学中,把一个数学因子(比如数字,多项式,或矩阵)分解其他数学因子的乘积。比如:整数15可以分解成两个质数3和5的乘积,一个多项式x^2 -4 可被因式分解为(x+2)(x-2)。

联邦学习技术

如何在保护数据隐私、满足合法合规要求的前提下继续进行机器学习,这部分研究被称为「联邦学习」(Federated Learning)。

矩阵分解技术

矩阵分解是一种将矩阵简化为其组成部分的方法。这种方法可以简化更复杂的矩阵运算,这些运算可以在分解的矩阵上执行,而不是在原始矩阵本身上执行。它的衍生Non-negative matrix factorization也被用于降维等操作上。

推荐文章
暂无评论
暂无评论~