首页> 中国专利> 一种基于同态加密的跨组织分布式深度学习方法

一种基于同态加密的跨组织分布式深度学习方法

摘要

本发明公开了一种基于同态加密的跨组织分布式深度学习方法,包括如下步骤,随机选择某一客户端生成同态加密密钥对并将其同步到所有其他客户端;被选择的领导客户端将初始化的模型也发送至其余客户端;客户端进行深度学习迭代,进行本地梯度计算;服务器从客户端收集处理后的梯度数据,并利用数据进行更新模型。该方法以及方法依赖的框架能够大大减少同态加密引起的严重计算和通信开销,同时保证模型预测准确性不受到损害。

著录项

  • 公开/公告号CN114840860A

    专利类型发明专利

  • 公开/公告日2022-08-02

    原文格式PDF

  • 申请/专利权人 上海电力大学;

    申请/专利号CN202210320143.5

  • 发明设计人 杜海舟;冯晓杰;

    申请日2022-03-29

  • 分类号G06F21/60(2013.01);G06N3/04(2006.01);G06N3/08(2006.01);

  • 代理机构南京禹为知识产权代理事务所(特殊普通合伙) 32272;

  • 代理人马建军

  • 地址 201306 上海市浦东新区沪城环路1851号

  • 入库时间 2023-06-19 16:14:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-19

    实质审查的生效 IPC(主分类):G06F21/60 专利申请号:2022103201435 申请日:20220329

    实质审查的生效

  • 2022-08-02

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及分布式深度学习的技术领域,尤其涉及一种基于同态加密的跨组织分布式深度学习方法。

背景技术

近年来,深度学习取得了长足的进步。研究人员和工程师已经将深度学习技术应用到包括计算机视觉、自然语言处理、语音识别等在内的诸多领域。为了获得更高的预测精度、支持更智能的任务,需要训练更复杂的神经网络。然而,训练大型模型所需的输入数据会随模型参数呈指数增长,对大规模数据训练大型深度神经网络已经超过了单一机器的计算和存储能力;其次,数据通常以孤岛的形式存在,收集数据进行集中训练会导致严重的隐私问题,甚至可能被法规禁止。因此,需要在多台计算机之间分配训练工作量,并从集中式训练转向分布式训练。

加法同态加密在跨组织分布式场景下特别有吸引力,因为它允许在密文上执行聚合而无需事先解密它们,并提供强大的隐私保证,而不惜学习准确性损失为代价。但是,同态加密执行复杂的加密操作,这些操作的计算成本极高。更糟糕的是,加密会产生更大的密文,从而极大地增加了通信的数据量。

为了使同态加密实际集成到跨组织分布式深度学习中,我们必须正确解决同态加密引起的过度计算和通信开销,同时模型预测准确性不应受到损害。由于加速单个同态加密操作或压缩密文占用空间并不能消除在分布式深度学习中采用同态加密的瓶颈。由于要执行的加密操作太多,因此可以通过压缩梯度,以便大大减少加密操作和密文传输的数量。但是,基于同态加密的跨组织分布式深度学习面临以下挑战。首先,服务器只能对由加法同态加密的密文执行加法操作,压缩算法应具有可加性以适应加法同态加密。其次,具有高压缩比的有损压梯度缩将损害已训练模型的性能,压缩方案应进行误差修正。

发明内容

本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

鉴于上述现有基于同态加密的跨组织分布式深度学习方法存在的问题,提出了本发明。

因此,本发明目的是提供一种基于同态加密的跨组织分布式深度学习方法。

为解决上述技术问题,本发明提供如下技术方案:一种基于同态加密的跨组织分布式深度学习方法,包括如下步骤,

随机选择某一客户端生成同态加密密钥对并将其同步到所有其他客户端;

被选择的领导客户端将初始化的模型也发送至其余客户端;

客户端进行深度学习迭代,进行本地梯度计算;

服务器从客户端收集处理后的梯度数据,并利用数据进行更新模型。

作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:其余客户端在进行每一次迭代时,每个客户端计算本地梯度更新,并利用公钥对其进行加密。

作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:在每个客户端对本地梯度进行更新后,服务器将开始接受加密后的更新结果,并将梯度数据进行归拢收集。

作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:每个本地客户端建立分布式训练组件,并利用分布式训练组件计算本地更新,并定期与中心服务器进行通信,传递更新数据。

作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:建立分布式训练组件,建立优化目标函数f:

其中n是工作节点的数量,工作人员共同更新模型参数x∈R

作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:在每个客户端内部建立梯度压缩组件,其中梯度压缩组件包括压缩器、解压器以及误差累积存储器,并利用梯度压缩组件进行梯度数据的压缩。

作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:建立随机梯度下降优化算法,并建立数学模型,并规定:在第k+1 次迭代,随机梯度下降将模型参数更新为:

x

其中η

作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:梯度压缩组件从每个层中选择最重要的梯度,并通过考虑梯度的幅度来过滤无关紧要的梯度,对于任何向量x∈R

其中x

作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:在服务器内部将稀疏梯度的表示为键值对(索引向量和值向量),然后使用同态加密对值进行加密。

本发明的有益效果:本发明公开了一种基于同态加密的高效的跨组织分布式深度学习框架FLZip,该框架大大减少同态加密引起的严重计算和通信开销,同时模型预测准确性不受到损害。本发明基于两个关键观察。第一,我们观察到同态加密引起的加密和通信开销可以通过在加密之前压缩梯度来缓解。第二,我们观察到当前用于分布式学习的压缩方案不具有“可加性”以满足同态加密的加法属性。本发明包含两个主要部分,即梯度压缩组件和同态加密组件。首先,为了解决同态加密引起的过度计算和通信开销,每个客户端首先通过独立考虑每层中梯度的绝对值来过滤不重要的的梯度,而不是对所有梯度进行加密。其次,为了允许在稀疏梯度的密文上执行聚合,即保证压缩算法具有可加性以适应加法同态加密,本发明使用键值对编码方案。最后,为了抵消由于稀疏化压缩而导致的精度损失,本发明还利用了误差累积机制。我们实现了FLZip 的原型,并评估了其在实际应用中的性能。实验结果表明,FLZip在不影响预测精度的情况下,可以大大减少同态加密带来的计算和通信开销,同时提供强大的隐私保障。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:

图1为本发明基于同态加密的跨组织分布式深度学习方法所述的分布式深度学习框架示意图。

图2为本发明基于同态加密的跨组织分布式深度学习方法所述的深度学习框架FLZip示意图。

图3为本发明基于同态加密的跨组织分布式深度学习方法所述的FMNIST 数据集上的全连接神经网络的测试精度对比。

图4为本发明基于同态加密的跨组织分布式深度学习方法所述的CIFAR10 数据集上的AlexNet网络的测试精度对比。

图5为本发明基于同态加密的跨组织分布式深度学习方法所述的各对比方法的压缩与解压运算对比。

图6为本发明基于同态加密的跨组织分布式深度学习方法的各对比方法的通信数据量对比。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。

其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。

再其次,本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。

实施例1

参照图1-6,本发明公开了一种基于同态加密的跨组织分布式深度学习方法,其方法的核心是建立分布式深度学习系统架构,其中同态加密作为客户端上的可插拔模块实现,聚合器是协调客户端并聚合其加密梯度的服务器,在训练开始之前,聚合器随机选择一个客户端作为生成同态加密密钥对并将其同步到所有其他客户端的领导者。领导者还会初始化深度学习模型,并将模型权重发送给所有其他客户端。收到同态加密密钥对和初始权重后,客户开始训练。在一次迭代中,每个客户端计算本地梯度更新,使用公钥对其进行加密,并将结果传输到服务器,服务器从所有客户端收集梯度,然后,它将它们相加并分发结果,然后,客户端接收聚合的梯度,解密它们,并使用它们来更新本地模型。

FLZip框架的整体架构示意图如附图2所示,框架基于如图1所示的基本的基于同态加密的跨组织分布式深度学习系统架构,包括基本的数据并行分布式训练组件并额外包括梯度压缩组件(包括压缩器,解压器和误差累积存储器) 和同态加密组件(包括加密器,解密器和聚合器)。

分布式训练组件

此设计遵循经典的数据并行分布式SGD模式。我们专注于数据并行分布式训练,其中每个工作节点拥有整个模型的本地副本,计算本地更新,并定期与中心服务器通信,通过聚合来更新全局模型。

分布式深度学习可以看作是一个最小化问题,它优化目标函数f

其中n是工作节点的数量。每个节点都有模型的本地副本,并有权访问训练数据的分区。工作人员共同更新模型参数x∈R

考虑一个深度神经网络,让x={W,b}成为包含模型参数(也称为权重W和偏差b)的空间。给定一组输入数据D及其相应的真实标签,训练阶段学习网络 x的每一层。令

是损失函数,使得在每个工作节点i上,

随机梯度下降(Stochastic Gradient Descent,SGD)是一种一阶迭代优化算法。在第k+1次迭代,SGD将模型参数更新为:

x

其中η

为了更快地收敛,SGD通常配备了短期记忆z,称为动量。在每次迭代中, Polyak将动量更新为:z

梯度压缩组件

FLZip从每个层中选择最重要的梯度,并通过考虑梯度的幅度来过滤无关紧要的梯度。对于任何向量x∈R

其中x

FLZip将模型的参数和梯度的每一层视为单个向量,并计算每层的Top-k 梯度。模型偏差项的梯度被单独加密的和传输,并且未被压缩,因为这些偏置项通常只占参数空间的一小部分。稀疏化压缩器是通过对梯度进行排序来实现的。这是有效的,因为我们只需要以O(n log n)复杂性的多个较小数组进行排序。

由于过滤不重要的梯度将导致对原始梯度的估计偏差,这将损害模型的准确性,甚至导致模型无法收敛。FLZip使用误差累积来解决此问题。最近的研究表明,使用误差累积(即存储压缩梯度和压缩梯度之间的差异,并在下一次迭代中重新插入)可以改善压缩方案的收敛和泛化性。这通常可以使偏置的梯度压缩方案达到目标测试精度。我们的误差累积版本遵循,它通过引入动量校正来扩展原始误差,这是一种在SGD上使用动量进行误差累积的方法。

内存补偿功能,在本文中,我们使用以下形式的函数φ(·)和ψ(·):

其中β>0是内存衰减因子,γ>0权衡最新随机梯度的相关性。本发明使用β=γ=1。

FLZip允许用户选择梯度的不同压缩比,以加速带有同态加密的跨组织分布式深度学习。FLZip引入的唯一超参数是稀疏化率r=d/k。这使得FLZip非常易于使用。就像Dropout技术一样,稀疏化可以被视为隐式执行类似的正则化,因此可以预期具有良好的泛化性。

同态加密组件

FLZip将稀疏梯度的表示为键值对(索引向量和值向量),然后使用同态加密对值进行加密。这种分离的表示对于服务器对由加法同态加密的密文执行聚合至关重要。另一方面,逐层压缩过程提供了将加密运算于加密通信重叠的机会,这可以进一步优化通信的过程。由于同态加密引起的计算和通信都有很大的开销,因此使用管道重叠它们可能会带来巨大的好处。

在FLZip中,服务器通过合并来自所有客户端的键值对(由普通索引和相应的加密值表示)并生成键值对的聚合序列来执行聚合过程。对于收到的索引向量中存在的每个索引,FLZip将添加与索引对应的所有加密值。聚合后,服务器将聚合的键值对(也由普通索引和相应的加密值表示)发送到客户端。由于加密值的加法次数和同态加法的计算成本是聚合开销的主要瓶颈,因此FLZip 的稀疏化操作还可以提高聚合效率。

为了检验本发明能够在减少同态加密的计算和通信开销的同时还能保证模型精度,本实施例子还设计了以下实验。在分布式环境中使用3台服务器进行实验,总共包含12个GPU。使用一台配备4个GeForce RTX 2080Ti的服务器和两台分别配备4个Tesla T4的服务器。用MPI实现用于通信的框架并使用 paillier-python同态加密库。将客户端数设置为10,并将客户端部署这些GPU 上,其中一个GPU部署服务器。

表1训练模型和数据集以及参数设置的信息

训练精度损失与压缩率关系对比

我们首先评估稀疏化方案的影响,并查看稀疏化如何影响模型质量,我们报告FMNIST和CIFAR工作负载的测试准确性,以了解FLZip的稀疏化如何影响分类准确性。由图3和图4可知通过适当的稀疏化比,FLZip的稀疏化对训练的模型质量的负面影响可以忽略不计。

加密与通信效率提升对比

为了说明FLZip对计算开销和通信开销的缓和作用,我们将其与使用朴素同态加密训练、普通分布式学习和BatchCrypt进行比较。图5和图6表明FLZip 显著降低了同态加密导致的计算和通信开销,从而为生产环境中的跨组织分布式深度学习提供了高效的同态加密解决方案。

重要的是,应注意,在多个不同示例性实施方案中示出的本申请的构造和布置仅是例示性的。尽管在此公开内容中仅详细描述了几个实施方案,但参阅此公开内容的人员应容易理解,在实质上不偏离该申请中所描述的主题的新颖教导和优点的前提下,许多改型是可能的(例如,各种元件的尺寸、尺度、结构、形状和比例、以及参数值(例如,温度、压力等)、安装布置、材料的使用、颜色、定向的变化等)。例如,示出为整体成形的元件可以由多个部分或元件构成,元件的位置可被倒置或以其它方式改变,并且分立元件的性质或数目或位置可被更改或改变。因此,所有这样的改型旨在被包含在本发明的范围内。可以根据替代的实施方案改变或重新排序任何过程或方法步骤的次序或顺序。在权利要求中,任何“装置加功能”的条款都旨在覆盖在本文中所描述的执行所述功能的结构,且不仅是结构等同而且还是等同结构。在不背离本发明的范围的前提下,可以在示例性实施方案的设计、运行状况和布置中做出其他替换、改型、改变和省略。因此,本发明不限制于特定的实施方案,而是扩展至仍落在所附的权利要求书的范围内的多种改型。

此外,为了提供示例性实施方案的简练描述,可以不描述实际实施方案的所有特征(即,与当前考虑的执行本发明的最佳模式不相关的那些特征,或于实现本发明不相关的那些特征)。

应理解的是,在任何实际实施方式的开发过程中,如在任何工程或设计项目中,可做出大量的具体实施方式决定。这样的开发努力可能是复杂的且耗时的,但对于那些得益于此公开内容的普通技术人员来说,不需要过多实验,所述开发努力将是一个设计、制造和生产的常规工作。

应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号