当前位置: 首页 > 科技观察

联邦迁移学习的最新进展:计算和迁移如何“限制”模型性能?

时间:2023-03-21 00:56:05 科技观察

本文转载自雷锋网。如需转载,请在雷锋网官网申请授权。人工智能系统需要依赖大量数据,但数据传输过程和人工智能模型本身可能会泄露敏感和隐私数据。例如,在数据流动的任何阶段,恶意攻击者都可以对匿名数据集发起攻击,窃取数据;例如,在数据发布阶段,恶意攻击者可以利用身份重识别对匿名数据集发起攻击,窃取隐私信息……学术界针对上述隐私提出了多种针对性保护方法泄露问题,而基于差分隐私和同态加密的联邦学习是一种常见的隐私保护方法。联邦学习于2015年提出,可以在不暴露用户数据的情况下训练多方机器学习模型,以保护隐私信息。然而,谷歌提出的联邦学习不仅要保证数据集的特征空间是一致的,而且还会引入噪声,影响模型的准确性。此外,还存在敏感信息传输等问题。这些不足限制了联邦学习在实际生产中的应用。应用前景。2018年提出联邦迁移学习理论。在该理论中,用于训练的多个数据集不需要保证特征空间的一致性。此外,该理论使用同态加密代替差分隐私来保护隐私数据。这些改进为联邦学习在金融、医疗等场景的应用带来了极大的便利。然而,联邦迁移学习在实际使用中暴露出严重的性能缺陷。针对这一问题,香港科技大学、星云星和鹏城实验室的研究人员联合发表了《量化评估联邦迁移学习(Quantifying the Performance of Federated Transfer Learning)》。本文通过对联邦迁移学习框架的研究,提出了联邦学习在实际应用中面临的性能挑战,并给出了相应的优化方案。论文作者:景清河、王维彦、张俊雪、田汉、陈凯编译:程晓典(星云软件工程师)论文:https://arxiv.org/abs/1912.12795性能挑战主要包括:1.Federationmigration学习的性能瓶颈主要来自于计算和传输;2.跨进程通信和内存复制是目前联邦迁移学习实现的主要性能瓶颈;3.不同的参与者往往位于相距较远的两个站点,只能通过高延迟的广域网传输数据,因此耗时远高于分布式机器学习。1.联邦迁移学习简介联邦学习理论基于数据检查的隐私保护数据。多个数据持有者可以在不将原始数据留在本地的情况下进行联合模型训练。但在原有的联邦学习系统中,必须保证数据的特征空间在参与者之间完全一致。例如,如果A公司持有的数据包含用户性别、年龄、年收入等信息,那么B公司的数据也必须包含这些信息,才能与A公司进行联邦学习。此外,系统还具有噪声影响模型的准确性和一些敏感信息的传递等问题,限制了联邦学习在实际生产中的应用前景。为了摆脱这一系列的限制,2018年提出了FederatedTransferLearning。在这个理论中,训练中使用的多个数据集不需要保证特征空间的一致性。此外,该理论使用同态加密代替差分隐私来保护隐私数据。这些改进为联邦学习在金融、医疗等场景的应用带来了极大的便利。然而,联邦迁移学习在实际使用中遇到了严重的性能问题。联邦迁移学习的典型工作流程如图1所示,它需要三个不同的参与者:Guest、Host和Arbiter。其中Guest和Host是数据持有者,同时也负责主要的数值计算和加密工作;Arbiter在计算开始之前生成一个密钥并将其发送给Host和Guest。此外,Arbiter还负责训练过程中的梯度聚合和收敛性检查。如果Host和Guest持有的数据中的样本不同但具有相同的特征,则这种联邦迁移学习称为同质或同质;异构或垂直(heterogeneous)。在训练过程中,Host和Guest首先使用本地数据进行初步计算,并对计算结果进行加密。这些中间结果可用于梯度和损失计算。接下来,双方将加密后的结果发送给Arbiter进行聚合。Arbiter解密密文并将其返回给Host和Guest。双方使用接收到的值更新本地模型。联邦迁移学习需要重复这个训练过程,直到模型收敛。图1:联邦迁移学习的工作流程2.联邦迁移学习的性能分析从联邦迁移学习的工作流程可以发现,它在某些方面与分布式机器学习非常相似。它们都包括具有不同数据的多个服务器。工作节点,全部根据聚合结果更新模型。但是,这两个系统有相当明显的区别:在分布式机器学习中,参数服务器(parameterserver)是中心调度节点,负责将数据和计算分配到不同的工作节点,以优化训练性能;在联邦迁移学习中,不同的数据持有者对自己的工作节点和数据有完全独立的管理。此外,联邦迁移学习中使用的同态加密将大大增加计算和数据传输时间。因此,与分布式机器学习相比,联邦迁移学习是一个更为复杂的系统,也可以认为分布式机器学习的性能是衡量联邦迁移学习性能的合适指标。近年来,分布式机器学习的方案设计和性能优化研究非常火热,而联邦迁移学习却鲜有人做。量化分布式机器学习与联邦迁移学习的性能差距,对于联邦迁移学习的性能优化具有启发性的借鉴和参考价值。图2显示了分布式机器学习和联邦迁移学习使用相同数据集训练相同模??型的性能比较。图(a)表示模型训练的端到端性能比较。根据测试结果,两个系统的运行时间差距超过18倍。根据分布式机器学习的经验,计算和数据传输往往是系统运行时间占比最高的两个部分,因此图(b)和图(c)分别展示了两个系统的计算和数据传输。耗时对比表明,联邦迁移学习这两个阶段的耗时大约是分布式机器学习的20倍,这也印证了联邦迁移学习的性能瓶颈主要来自于计算和传输。因此,接下来,我们将从这两个方面来分析联邦迁移学习的时间开销。图2:分布式机器学习和联邦迁移学习(包括水平和垂直)和附加操作(包括跨进程通信和内存复制等)的性能比较,如图3所示。我们从测试中发现,只有训练任务的端到端时间开销大约有18%花在数值计算上,大部分时间花在内存复制等额外任务上。具体解释一下额外的操作,联邦迁移学习的底层实现需要使用不同的编程语言来实现不同的功能,而跨语言环境的数据交换和内存复制需要很长时间,比如Python和Java虚拟机之间(虚拟机)。数据传输。此外,联邦迁移学习底层需要开启多个进程来管理任务创建、数据传输等,跨进程通信的开销也很大。总的来说,跨进程通信和内存复制是目前联邦迁移学习实现的主要性能瓶颈。图3:模型训练时间和额外时间开销对比图4:加密操作对模型训练时间的影响在模型训练时间中,一个比较明显的时间开销是同态加密。联邦迁移学习中使用的部分同态加密将原来的浮点运算扩展为数千个大整数之间的运算,这显然大大降低了运算性能。因此,图4比较了密集状态模型训练与纯文本模型训练的运行时间。测试结果表明,同态加密操作为模型训练过程引入了两倍以上的额外时间开销。因此,加速同态加密操作是优化联邦迁移学习性能的可行解决方案。2、优化方案从减少额外开销的角度,可以借鉴Unixdomainsocket或者JTux,实现更高效的跨进程通信。同时,使用JVM本地内存可以有效提高跨环境内存拷贝的速度。从加速数值计算的角度来看,可以通过使用高性能计算硬件来实现高吞吐量的同态加密运算。如今,以GPU、FPGA为代表的计算硬件设备凭借其充足的计算、存储和通信资源,可以处理大部分高并发的数值计算。通过大幅降低同态加密的开销,可以有效提升模型训练的整体性能。四、数据传输开销分析1.性能分析除了计算开销明显增加外,联邦迁移学习中数据传输开销增加近20倍也值得注意。造成这种现象的原因主要有以下三个方面:一是在计算开销上,同态加密运算大大增加了数据位宽,不仅增加了计算时间,而且需要传输的数据总量也大大增加,从而影响数据传输时间。造成了影响;其次,与传统的机器学习算法相比,联邦迁移学习为了保护数据隐私,增加了各方之间的数据交换,频繁的数据传输必然带来总传输时间的增加;最后,分布式机器学习往往部署在密集的数据中心网络中,数据传输延迟很低,因此跨节点通信带来的开销也比较低。另一方面,在联邦迁移学习中,在实际应用中,不同的参与者往往在相距较远的两个站点,数据只能通过高延迟的广域网传输,因此耗时远高于分布式机器学习。如图4所示,当我们将联邦迁移学习的不同参与者部署在全球数据中心网络中时,数据带宽较低,数据传输延迟会占整体运行时间的30%以上,造成非常严重的影响。图4:参与者部署在不同地理位置时,数据传输时间和端到端运行时间的比例2.优化方案在跨站点多方数据交换中,网络质量起着重要作用,而通信很容易造成网络拥塞,因此探索网络拥塞控制技术来提高数据传输性能是一个可行的解决方案。以PCC算法为代表的拥塞控制算法可以通过细粒度的拥塞控制规则优化长距离数据传输的网络性能,从而提高联邦迁移学习的整体性能。五、小结作为机器学习在隐私计算领域的延伸,联邦迁移学习在打破数据孤岛、实现数据更高价值方面发挥着极其重要的作用。但与所有安全计算系统一样,性能和安全性之间的平衡很棘手。现有的联邦迁移学习系统框架远不能满足实际生产中的性能要求。通过深入的性能分析,计算、内存复制、数据传输等方面的开销问题都是导致联邦迁移学习端到端性能恶化的重要原因。为了实现联邦迁移学习在更多场景下的落地,需要结合各种方案对各个环节进行针对性优化。