「AI开发者成长计划」首期公开课由机器之心与微众银行联合开设,主题为《联邦学习FATE入门与应用实战》,特邀合作伙伴 VMware 也将参与分享。 公开课为期4周,共6期课程 ,设置主题分享、项目实践、在线答疑等环节,从零入门联邦学习。
整体学习计划与加入方式请查看:《联邦学习FATE入门与应用实战》公开课上线!
3月5日,在《联邦学习FATE入门与应用实战》第一讲中,微众银行人工智能部高级研究员马国强带来了《联邦学习技术介绍、应用和FATE开源框架 》主题分享,详细介绍了联邦学习算法的概念、应用、以及FATE开源框架介绍和进展,视频回放如下:
第一讲精选问答
在第一讲的QA环节中,马国强讲师回答了小伙伴们的很多疑问,其中有些问题被大家广泛提到,所以我们再次做了精选与编辑,供大家参考。
问题1:现在的FATE版本支持动态加入和退出吗?
目前FATE是还没支持这个机制,我们之前有考虑过这个问题,类似于在移动端的应用。我们后续会继续评估可行性并加入到我们的需求列表里面。
问题2:win下有支持的计划吗?
目前来说我们还没有在windows上直接支持的计划,有一些包在windows上使用存在问题,会有些坑,另外在生产中的稳定性也差一点。
问题3:横向联邦学习的同态加密过程是怎样的?
我们目前在横向联邦里面除横向LR外并没有使用同态加密技术,或者说同态加密不是核心,我们主要使用的是FedAvg和Secure-Aggregation,本质上是使用随机噪声的思想,参与者之间两两产生噪声,在server端进行抵消。 另外横向方面同态加密用得比较少,像dp(查分隐私)和mpc的方案会更常用。
问题4:秘密共享和SPDZ是用在横向还是纵向里?
目前使用在纵向Pearson相关性系数计算里面,对于SPDZ,目前来说我们主要支持两方,MPC在多方的方案上感觉有点问题,包括我们在调研pysyft的时候,发现多方也存在问题。
问题5:训练一个标准模型需要多久?
和具体算法有关,另外和数据样本量也有关。在我们的测试环境和机器测试中,联邦和非联邦有数十倍到几百倍的差距,但也不会差的特别大,因为纵向联邦里面耗时的主要是同态加密,对于横向联邦,因为使用FedAvg机制,其实是比较快的。
问题6:secureboost训练比开源慢多少?
SecureBoost推荐大家用另一种同态加密方法,仿射变换(IterativeAffine),这是我们第一个contributor贡献的,这个方法可以让你有更佳体验。在训练方面,它支持更多数据,训练速度快了很多,对内存的消耗也少很多。在我们测试中,比如单机版,跟xgboost差几十倍是有可能的。SecureBoost影响速度的主要是特征的维度,特征维度比较低的话,差距反而没那么大。特征维度增加的时候,计算梯度直方图,同态加密的加法,是有耗时的,平时看不出,是因为单独加密一个数,耗时是比加法多很多,但是统计梯度直方图的时候,加法的时间消耗就会体现出来。
问题7:纵向如何做到特征对齐?
其实在我们的分享中有介绍:通过隐私保护交集(PSI)技术求出共同样本。大家如果想对PSI有更多了解,可以上网搜一下,在我们的FATE下也有一些说明,FATE主要实现的是RSA和哈希的方案,另外还有其他的方案,比如说像OT或者Bloom Filter。
问题8:联邦学习如何应对数据孤岛?
联邦学习就是为了解决数据孤岛而存在的。我们通过刚刚的分享可以看到,通过联邦学习算法,它的效果跟中心化学习的效果是一致的,所以这个问题自然就不存在了。
问题9:未来会考虑用全同态做技术路线吗?
全同态加密存在一个问题,效率低。当然它是很方便的,因为全同态支持各种操作,像我们用的加法同态加密,它只支持加法和数乘。但是全同态的效率上不去,所以我们目前还没有规划这一块。全同态的效率和半同态相比,有数量级的差距。
大家如有更多疑问,也欢迎在评论区留言讨论,我们也会定期邀请讲师在评论区答疑,并持续将精选问答收录到本篇文章的正文内容中。