隐私计算 — 联邦学习 — 联邦迁移学习

举报
云物互联 发表于 2022/09/25 07:19:24 2022/09/25
【摘要】 目录 文章目录 目录前言联邦迁移学习(Federated Transfer Learning)联邦迁移学习的基本原理联邦迁移学习性能分析计算开销分析性能分析优化方案 数据传输开销分析性能分...

目录

前言

本文摘自以下文献,为个人学习笔记摘抄:

联邦迁移学习(Federated Transfer Learning)

最初的联邦学习体系中,参与者之间必须保证数据的特征空间完全相同。举例说明,如果 A 公司持有的数据包含用户性别、年龄、年收入等信息,则 B 公司的数据也必须包含这些信息,才能和 A 公司进行联邦学习。除此之外,该体系还存在噪声对模型精确度造成影响、仍存在部分敏感信息传递等问题,这就限制了联邦学习在实际生产中的应用前景。

为了摆脱这一系列限制,联邦迁移学习(Federated Transfer Learning)于 2018 年被提出。在该理论中,训练所使用的多个数据集,无需保证特征空间的一致。另外,该理论使用同态加密替代差分隐私对隐私数据进行保护。这些改进为联邦学习对金融、医疗等场景中的应用带来了极大的便利。

但是联邦迁移学习在实际使用中遭遇了严重的性能不足问题。

在这里插入图片描述

联邦迁移学习的基本原理

在这里插入图片描述

需要 3 个不同的参与者:Guest、Host 和 Arbiter。其中:

  • Guest 和 Host 是数据持有者,同时也负责主要的数值计算和加密工作;
  • Arbiter 在计算开始前生成密钥,并发送至 Host 和 Guest,此外,Arbiter 负责训练过程中的梯度聚合以及收敛检查。

如果 Host 和 Guest 所持有的数据中样本不同而特征相同,这种联邦迁移学习被称为同构的或横向的(homogeneous);如果双方数据集样本相同而特征不同,则称联邦迁移学习为异构的或纵向的(heterogeneous)。

在训练过程中,Host 和 Guest 首先使用本地数据进行初步计算,并对计算结果进行加密,这些中间结果可以被用于梯度和损失的计算。接下来,双方将加密结果发送至 Arbiter 进行聚合,Arbiter 对密文进行解密后,返回给 Host 和 Guest,双方使用接收的数值更新本地模型。联邦迁移学习需要重复此训练过程,直至模型收敛。

联邦迁移学习性能分析

从联邦迁移学习的工作流程中,可以发现它和分布式机器学习在一些方面上十分相似,二者均包含多个持有不同数据的工作节点,且均根据聚合的结果更新模型。但是,两种体系之间存在相当明显的区别:

  • 在分布式机器学习中,参数服务器(parameter server)是中心调度节点,负责将数据和计算分配到不同的工作节点中从而优化训练性能;
  • 在联邦迁移学习中,不同的数据持有者对本方工作节点和数据都有着完全独立的管理,除此之外,联邦迁移学习中所使用的同态加密,将极大地增加计算和数据传输时间。

因此,和分布式机器学习相比,联邦迁移学习是一种复杂度更高的系统,也可以认为分布式机器学习性能是衡量联邦迁移学习性能的合适指标。

图二为分布式机器学习和联邦迁移学习在使用相同数据集训练相同模型的性能对比图。图(a)代表模型训练端到端性能对比,根据测试结果,两种系统的运行时间差距在 18 倍以上。根据分布式机器学习中的经验,计算和数据传输往往是系统运行中时间占比最高的两个部分,因此图(b)和图(c)又分别展示了两种系统在计算和数据传输中的耗时对比,结果显示,联邦迁移学习的这两段耗时,均在分布式机器学习的 20 倍左右,这也证实了联邦迁移学习的性能瓶颈主要来自于计算和传输。

因此,接下来,我们将分别从这两个方面对联邦迁移学习的时间开销进行分析。

在这里插入图片描述

计算开销分析

性能分析

为了进行深入的分析,我们将计算时间划分为两个部分:

  1. 模型训练(数值计算)
  2. 额外操作(包括跨进程通信和内存拷贝等)

如图三所示。我们从测试中发现,训练任务的端到端时间开销中,仅有 18% 左右的时间用于数值计算,而绝大部分的时间都花费在了内存拷贝等额外工作中。

具体说明额外操作,联邦迁移学习的底层实现中需要使用不同编语言以实现不同的功能,而跨语言环境的数据交换和内存拷贝耗时较长,如 Python 和 Java 虚拟机(JVM)之间的数据传递。

此外,联邦迁移学习底层需要开启多个进程,分别管理任务创建、数据传递等工作,而跨进程通信同样开销巨大。总的来说,跨进程通信和内存拷贝是当前联邦迁移学习实现的主要性能瓶颈。

  • 图三:模型训练时间和额外时间开销对比
    在这里插入图片描述
  • 图四:加密运算对模型训练时间的影响
    在这里插入图片描述

而在模型训练时间中,一个较为明显的时间开销就是同态加密。联邦迁移学习中所使用的部分同态加密将原本的浮点运算扩展为数千位大整数之间的运算,这显然大幅降低了运算性能。因此,图四对比了密态模型训练与纯明文模型训练的运行时间。测试结果显示同态加密运算为模型训练过程引入了超过两倍的额外时间开销。因此,加速同态加密运算是优化联邦迁移学习性能的可行方案。

优化方案

从降低额外开销的角度,可以借鉴 Unix domain socket 或者 JTux 等以实现更高效率的跨进程通信。同时,使用 JVM 本地内存,可以有效提升跨环境内存拷贝速度。

从加速数值计算的角度,可以通过使用高性能计算硬件实现高吞吐率的同态加密运算。现如今以 GPU 和 FPGA 为代表的计算硬件设备,由于其充足的计算、存储和通信资源,可以高并发地处理大部分数值计算。通过大幅降低同态加密开销,可以有效提升模型训练整体性能。

数据传输开销分析

性能分析

除了计算开销的明显上涨,联邦迁移学习中增长接近 20 倍的数据传输开销也值得注意。造成该现象的原因主要有三个:

  1. 首先,在计算开销中,同态加密运算大大提升了数据位宽,这不仅增加了计算时间,也大幅增加了需要传输的总数据量,从而对数据传输时间造成了影响;
  2. 其次,与传统的机器学习算法相比,联邦迁移学习中为了保护数据隐私,增加了不同参与方之间的数据交换,频繁的数据传输必然带来总传输时间的上升;
  3. 最后,分布式机器学习往往部署在密集的数据中心网络中,数据传输延时非常低,因此跨节点通信带来的开销也相对较低,而反观联邦迁移学习,在实际应用中,不同的参与方往往位于相距较远的两个站点中,只能通过高延迟的广域网传输数据,因此耗时也远高于分布式机器学习,如图四所示,当我们将联邦迁移学习的不同参与方部署在世界各地的数据中心网络中时,数据带宽较低,数据传输延迟将占到整体运行时间的 30% 以上,造成十分严重的影响。

在这里插入图片描述

优化方案

在跨站点多方数据交换中,网络质量扮演着重要的角色,而密集的通信很容易造成网络拥塞,因此,探索网络拥塞控制技术以提升数据传输性能是一种可行的解决方案。以 PCC 算法为代表的拥塞控制算法,可以通过细粒度的拥塞控制规则优化长距离数据传输的网络性能,进而提升联邦迁移学习的整体性能。

文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。

原文链接:is-cloud.blog.csdn.net/article/details/125734083

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。