CN117150529A - 数据处理方法、装置及电子设备 - Google Patents
数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117150529A CN117150529A CN202311245817.0A CN202311245817A CN117150529A CN 117150529 A CN117150529 A CN 117150529A CN 202311245817 A CN202311245817 A CN 202311245817A CN 117150529 A CN117150529 A CN 117150529A
- Authority
- CN
- China
- Prior art keywords
- model parameters
- module
- initial
- terminal
- initial model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000012549 training Methods 0.000 claims abstract description 70
- 238000000034 method Methods 0.000 claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 58
- 238000004422 calculation algorithm Methods 0.000 claims description 52
- 230000015654 memory Effects 0.000 claims description 43
- 238000004220 aggregation Methods 0.000 claims description 24
- 230000002776 aggregation Effects 0.000 claims description 24
- 238000005516 engineering process Methods 0.000 abstract description 12
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 238000003860 storage Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据处理方法、装置及电子设备。涉及人工智能领域、金融科技领域或其他相关领域,该方法包括:接收来自于N个终端的N组加密后的初始模型参数,N组加密后的初始模型参数分别为对应终端基于本地业务数据进行训练得到的;采用中央服务器芯片中的中央服务器安全加速器CESA模块对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数;基于N组解密后的初始模型参数,得到初始全局模型参数;采用中央服务器芯片中的中央服务器CESA模块对初始全局模型参进行加密处理,并将得到的目标全局模型参数发送至N个终端。通过本申请,解决了相关技术中基于软件层面的模型参数加密方法存在的加解密效率低,系统可靠性差的问题。
Description
技术领域
本申请涉及人工智能领域、金融科技领域或其他相关领域,具体而言,涉及一种数据处理方法、装置及电子设备。
背景技术
在一些应用场景中,如联邦学习中,参与方通常需要共享模型参数,以提高整个系统的性能和准确性。然而,这些参与方通常拥有自己的敏感数据,例如个人信息、医疗记录或金融数据,需要保护这些数据的隐私和安全。因此,加密和解密操作在联邦学习中变得至关重要,例如在不暴露原始数据的情况下,让不同的设备或参与方共享模型参数。相关技术中主要从软件层面进行模型参数的加解密操作,然而,由于加密和解密操作是计算密集型的,因此在软件层面上执行这些操作可能会导致性能下降,加解密效率较低,进而导致系统可靠性差。
针对相关技术中基于软件层面的模型参数加密方法存在的加解密效率低,系统可靠性差的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种数据处理方法、装置及电子设备,以解决相关技术中基于软件层面的模型参数加密方法存在的加解密效率低,系统可靠性差的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种数据处理方法。该方法包括:接收来自于N个终端的N组加密后的初始模型参数,其中,所述N个终端与所述N组加密后的初始模型参数一一对应,所述N组加密后的初始模型参数分别为对应终端基于本地业务数据进行训练得到的;采用中央服务器芯片中的中央服务器安全加速器CESA模块对所述N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数;基于所述N组解密后的初始模型参数,得到初始全局模型参数;采用所述中央服务器芯片中的所述中央服务器CESA模块对所述初始全局模型参进行加密处理,得到目标全局模型参数;将所述目标全局模型参数发送至所述N个终端。
为了实现上述目的,根据本申请的另一个方面,提供了另一种数据处理方法。该方法包括:基于本地业务数据进行训练,得到一组初始模型参数;采用终端芯片中的终端CESA模块对所述一组初始模型参数进行加密处理,得到一组加密后的初始模型参数;将所述一组加密后的初始模型参数发送至主服务器;接收所述主服务器返回的目标全局模型参数,其中,所述目标全局模型参数是所述主服务器基于所述一组加密后的初始模型参数,以及其他N-1个终端对应的N-1组加密后的初始模型参数得到的,所述N-1个终端与所述N-1组加密后的初始模型参数一一对应;采用所述终端CESA模块对所述目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;基于所述解密后的目标全局模型参数,对本地业务模型进行参数更新。
为了实现上述目的,根据本申请的另一个方面,提供了另一种数据处理方法。该方法包括:目标终端基于本地业务数据进行训练,得到一组初始模型参数,其中,所述目标终端为N个终端中的任意一个终端;所述目标终端采用终端芯片中的终端CESA模块对所述一组初始模型参数进行加密处理,得到一组加密后的初始模型参数;将所述一组加密后的初始模型参数发送至主服务器;所述主服务器在接收到来自于N个终端的N组加密后的初始模型参数之后,采用中央服务器芯片中的中央服务器CESA模块对所述N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数,其中,所述N组加密后的初始模型参数包括:所述一组加密后的初始模型参数,以及除所述目标终端之外的其他N-1个终端对应的N-1组加密后的初始模型参数;所述主服务器基于所述N组解密后的初始模型参数,得到初始全局模型参数;所述主服务器采用所述中央服务器CESA模块对所述初始全局模型参进行加密处理,得到目标全局模型参数;所述主服务器将所述目标全局模型参数发送至所述N个终端;所述目标终端采用所述终端CESA模块对所述目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;所述目标终端基于所述解密后的目标全局模型参数,对本地业务模型进行参数更新。
为了实现上述目的,根据本申请的另一方面,提供了一种数据处理装置。该装置包括:第一接收模块,用于接收来自于N个终端的N组加密后的初始模型参数,其中,所述N个终端与所述N组加密后的初始模型参数一一对应,所述N组加密后的初始模型参数分别为对应终端基于本地业务数据进行训练得到的;第一解密模块,用于采用中央服务器芯片中的中央服务器安全加速器CESA模块对所述N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数;第一获取模块,用于基于所述N组解密后的初始模型参数,得到初始全局模型参数;第一加密模块,用于采用所述中央服务器芯片中的所述中央服务器CESA模块对所述初始全局模型参进行加密处理,得到目标全局模型参数;第一发送模块,用于将所述目标全局模型参数发送至所述N个终端。
为了实现上述目的,根据本申请的另一方面,提供了另一种数据处理装置。该装置包括:第一训练模块,用于基于本地业务数据进行训练,得到一组初始模型参数;第二加密模块,用于采用终端芯片中的终端CESA模块对所述一组初始模型参数进行加密处理,得到一组加密后的初始模型参数;第二发送模块,用于将所述一组加密后的初始模型参数发送至主服务器;第二接收模块,用于接收所述主服务器返回的目标全局模型参数,其中,所述目标全局模型参数是所述主服务器基于所述一组加密后的初始模型参数,以及其他N-1个终端对应的N-1组加密后的初始模型参数得到的,所述N-1个终端与所述N-1组加密后的初始模型参数一一对应;第二解密模块,用于采用所述终端CESA模块对所述目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;参数更新模块,用于所述目标终端基于所述解密后的目标全局模型参数,对本地业务模型进行参数更新。
为了实现上述目的,根据本申请的另一方面,提供了另一种数据处理装置。该装置包括:第二训练模块,用于目标终端基于本地业务数据进行训练,得到一组初始模型参数,其中,所述目标终端为N个终端中的任意一个终端;第三加密模块,用于所述目标终端采用终端芯片中的终端CESA模块对所述一组初始模型参数进行加密处理,得到一组加密后的初始模型参数;将所述一组加密后的初始模型参数发送至主服务器;第三解密模块,用于所述主服务器在接收到来自于N个终端的N组加密后的初始模型参数之后,采用中央服务器芯片中的中央服务器CESA模块对所述N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数,其中,所述N组加密后的初始模型参数包括:所述一组加密后的初始模型参数,以及除所述目标终端之外的其他N-1个终端对应的N-1组加密后的初始模型参数;第二获取模块,用于所述主服务器基于所述N组解密后的初始模型参数,得到初始全局模型参数;第四加密模块,用于所述主服务器采用所述中央服务器CESA模块对所述初始全局模型参进行加密处理,得到目标全局模型参数;第三发送模块,用于所述主服务器将所述目标全局模型参数发送至所述N个终端;第四解密模块,用于所述目标终端采用所述终端CESA模块对所述目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;参数更新模块,用于基于所述解密后的目标全局模型参数,对本地业务模型进行参数更新。
为了实现所述目的,根据本申请的另一方面,还提供了一种电子设备,包括中央处理器芯片和存储器,所述中央处理器芯片上包括中央服务器加密引擎、中央服务器解密引擎、中央服务器CESA模块以及一个或多个处理器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现任意一项所述的数据处理方法。
为了实现所述目的,根据本申请的另一方面,还提供了另一种电子设备,包括终端芯片和存储器,所述终端芯片上包括终端加密引擎、终端解密引擎、终端CESA模块以及一个或多个处理器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现任意一项所述的数据处理方法。
通过本申请,采用以下步骤:接收来自于N个终端的N组加密后的初始模型参数,其中,所述N个终端与所述N组加密后的初始模型参数一一对应,所述N组加密后的初始模型参数分别为对应终端基于本地业务数据进行训练得到的;采用中央服务器芯片中的中央服务器安全加速器CESA模块对所述N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数;基于所述N组解密后的初始模型参数,得到初始全局模型参数;采用所述中央服务器芯片中的所述中央服务器CESA模块对所述初始全局模型参进行加密处理,得到目标全局模型参数;将所述目标全局模型参数发送至所述N个终端,达到了在芯片上设置CESA模块,从硬件层面进行模型参数的加解密的目的,解决了相关技术中基于软件层面的模型参数加密方法存在的加解密效率低,系统可靠性差的问题。进而达到了提升加解密效率低且系统可靠性的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的数据处理方法的流程图;以及
图2是根据本申请实施例的一种数据处理方法的示意图;
图3是根据本申请实施例的另一种数据处理方法的示意图;
图4是根据本申请实施例的一种参数配置流程的示意图;
图5是根据本申请实施例的一种可选的数据处理方法的交互流程图;
图6是根据本申请实施例提供的数据处理装置的示意图;
图7是根据本申请实施例提供的另一种数据处理装置的示意图;
图8是根据本申请实施例提供的另一种数据处理装置的示意图;
图9是根据本申请实施例提供的电子设备的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
联邦学习作为一种分布式学习方法,其运行速度受到多方面因素的影响。以下是相关技术中一些保证联邦学习运行速度的方法:
模型优化:在联邦学习中,参与方之间需要共享模型参数以更新全局模型。但是,这些参数可能会非常庞大,导致传输时间变长,进而影响联邦学习的速度。通过对模型参数进行优化,如使用稀疏梯度聚合或动态权重聚合等方法,可以减少通信量,降低传输时间,提高联邦学习的速度。虽然联邦学习中的模型优化可以提高系统的性能和效率,但是也会带来一些缺点和风险,在联邦学习中,参与方需要共享模型参数以更新全局模型。但是,这些参数包含敏感信息,例如个人隐私或商业机密。如果未能正确处理这些信息,会导致数据泄露和其他安全问题。
压缩技术:对于大规模的模型参数,在联邦学习中传输和聚合时,需要采用压缩技术来减少通信开销。例如,可以使用压缩算法(如量化、剪枝、矩阵分解等)来减少模型参数的大小,并减少传输和聚合的时间。压缩技术可能会对模型参数的数量或精度进行压缩,从而减少传输和计算开销。但是,这种压缩会导致模型的准确性下降,因为压缩技术会导致信息丢失或降低精度。
并行计算:在联邦学习中,参与方通常使用本地数据进行训练,并将本地模型参数上传到中央服务器进行聚合。为了提高联邦学习的效率,可以在本地参与方使用并行计算技术,例如多线程和GPU加速,来加快本地训练速度。并行计算需要使用大量计算和存储资源,因此会导致资源竞争和冲突。如果资源分配不当或资源竞争过于激烈,会影响系统的稳定性和可靠性。
需要说明的是,本申请所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
下面结合优选的实施步骤对本申请进行说明,图1是根据本申请实施例提供的数据处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,接收来自于N个终端的N组加密后的初始模型参数,其中,N个终端与N组加密后的初始模型参数一一对应,N组加密后的初始模型参数分别为对应终端基于本地业务数据进行训练得到的。
可选的,本申请实施例用于基于联邦学习场景的模型参数训练中。各终端基于本地业务数据进行训练,得到训练好的初始模型参数,并将各自训练好的初始模型参数以加密的方式发送至主服务器,用于全局模型参数的训练。N个终端可以但不限于为个人智能手机、个人电脑、传感器设备、边缘服务器等中的一种或多种。
步骤S102,采用中央服务器芯片中的中央服务器安全加速器CESA模块对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数。
可选的,上述中央服务器芯片中包括有中央服务器加密引擎、中央服务器解密引擎以及中央服务器CESA模块。具体的,将N组加密后的初始模型参数输入至中央服务器芯片中的中央服务器解密引擎,通过中央服务器解密引擎调用中央服务器芯片中的中央服务器安全加速器CESA模块,进一步基于中央服务器CESA模块对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数。通过以上方式,通过在中央服务器芯片中设置CESA硬件模块进行初始模型参数的解密,由此降低软件层面计算压力,提升解密效率和系统运行安全性。上述中央服务器芯片可以但不限于为88AP510芯片。
在一种可选的实施例中,采用中央服务器芯片中的中央服务器安全加速器CESA模块对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数,包括:确定中央服务器解密参数,其中,中央服务器解密参数至少包括:执行解密处理所需的密钥和高级加密标准AES算法参数;基于中央服务器解密参数,采用中央服务器CESA模块中的AES算法,对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数。
可选的,在采用AES算法对N组加密后的初始模型参数进行解密时,需要预先进行密钥、AES算法参数等的设定,基于中央服务器芯片中的中央服务器解密引擎,将对N组加密后的初始模型参数进行解密时所需的中央服务器解密参数配置至中央服务器CESA模块,通过中央服务器CESA模块中预先配置好的AES算法,从硬件层面对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数。
步骤S103,基于N组解密后的初始模型参数,得到初始全局模型参数。
在一种可选的实施例中,基于N组解密后的初始模型参数,得到初始全局模型参数,包括:对N组解密后的初始模型参数进行平均聚合处理,得到初始全局模型参数;或者对N组解密后的初始模型参数进行加权聚合处理,得到初始全局模型参数。
可选的,主服务器在对来自于N个终端的N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数之后,需要通过平均聚合、加权聚合等聚合方式对N组解密后的初始模型参数进行处理,得到初始全局模型参数。可以但不限于通过如下方式对N组解密后的初始模型参数进行平均聚合处理,得到初始全局模型参数:将N组解密后的初始模型参数的平均值,作为初始模型参数。可以但不限于通过如下方式对N组解密后的初始模型参数进行加权聚合处理,得到初始全局模型参数:确定N组解密后的初始模型参数分别对应的权重值;基于N组解密后的初始模型参数分别对应的权重值,以及N组解密后的初始模型参数进行加权计算,得到初始全局模型参数。
步骤S104,采用中央服务器芯片中的中央服务器CESA模块对初始全局模型参进行加密处理,得到目标全局模型参数。
可选的,将初始全局模型参数输入至中央服务器加密引擎,通过中央服务器加密引擎调用中央服务器CESA模块,并基于中央服务器CESA模块,以硬件方式对初始全局模型进行加密处理,得到目标全局模型参数,由此降低软件层面计算压力,提升解密效率和系统运行安全性。
在一种可选的实施例中,采用中央服务器芯片中的中央服务器CESA模块对初始全局模型参进行加密处理,得到目标全局模型参数,包括:确定中央服务器加密参数,其中,中央服务器加密参数至少包括:执行加密处理所需的密钥和AES算法参数;基于中央服务器加密参数,采用中央服务器CESA模块中的AES算法,对初始全局模型参数进行加密处理,得到目标全局模型参数。
可选的,在采用AES算法对初始全局模型参数进行加密时,需要预先进行密钥、AES算法参数等的设定,基于中央服务器芯片中的中央服务器加密引擎,将对初始全局模型参数进行加密时所需的中央服务器加密参数配置至中央服务器CESA模块,通过中央服务器CESA模块中预先配置好的AES算法,从硬件层面对初始全局模型参数进行加密处理,得到全局模型参数。
步骤S105,将目标全局模型参数发送至N个终端。
可选的,将加密得到的目标全局模型参数发送至各个终端,各个终端对获取到的全局模型参数进行相应的解密处理后,基于得到的解密后的全局模型参数进行本地业务模型的参数更新。通过以上方式,以联邦学习的方式进行本地模型参数的训练更新,既保证了各终端模型参数的一致性,同时防止数据泄露情况的发生,保证各终端数据的安全性。
在一种可选的实施例中,在将目标全局模型参数发送至N个终端之后,该方法还包括:判断初始全局模型参数是否满足预设收敛条件;若初始全局模型参数不满足预设收敛条件,则循环执行以下操作,直至满足预设收敛条件:接收来自于N个终端的N组加密后的新的初始模型参数,其中,N组加密后的新的初始模型参数分别为对应终端基于新的本地业务数据进行训练得到的;采用中央服务器CESA模块对N组加密后的新的初始模型参数进行解密处理,得到N组解密后的新的初始模型参数;基于N组解密后的新的初始模型参数,得到新的初始全局模型参数;采用中央服务器CESA模块对新的初始全局模型进行加密处理,得到新的目标全局模型参数;将新的目标全局模型参数发送至N个终端。
可选的,在获取到初始全局模型参数之后,需要进一步判断获取得到的初始模型参数是否达到训练要求,即初始全局模型参数是否满足预设收敛条件,若初始全局模型参数达到训练要求,则向各终端发出停止模型参数训练的信号,整个模型参数训练过程结束。若初始全局模型参数不满足要求,则向各终端发送继续进行模型参数训练的信号,各终端会继续基于新的本地业务数据继续进行训练,得到新的初始模型参数,并对新的初始模型参数进行相应的加密处理后,将加密后的新的初始模型参数发送至主服务器,主服务器在接收到来自于N个终端的N个加密后的新的初始模型参数并进行相应的解密处理之后,基于N个解密后的新的初始模型参数得到新的初始全局模型参数,对新的初始全局模型参数进行加密处理,得到新的目标全局模型参数之后,将新的目标全局模型参数发送至各终端,各终端会继续基于新的目标全局模型参数进行本地业务模型的更新。同时继续判断新的目标全局模型参数是否满足预设收敛条件,若是则停止模型参数的训练,否则继续执行与上述相同的模型参数训练步骤,直至满足预设收敛条件要求。
上述步骤S101至步骤S105的执行主体为主服务器,通过上述步骤S101至步骤S105,可以达到在芯片上设置CESA模块,从硬件层面进行模型参数的加解密的目的,解决相关技术中基于软件层面的模型参数加密方法存在的加解密效率低,系统可靠性差的问题。进而达到提升加解密效率低且系统可靠性的效果。
基于上述实施例和可选实施例,本申请提出另一种实施方式,图2是根据本申请实施例的一种可选的数据处理方法的流程图,如图2所示,该方法包括:
步骤S201,基于本地业务数据进行训练,得到一组初始模型参数;
步骤S202,采用终端芯片中的终端CESA模块对一组初始模型参数进行加密处理,得到一组加密后的初始模型参数;
步骤S203,将一组加密后的初始模型参数发送至主服务器;
步骤S204,接收主服务器返回的目标全局模型参数,其中,目标全局模型参数是主服务器基于一组加密后的初始模型参数,以及其他N-1个终端对应的N-1组加密后的初始模型参数得到的,N-1个终端与N-1组加密后的初始模型参数一一对应;
步骤S205,采用终端CESA模块对目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;
步骤S206,基于解密后的目标全局模型参数,对本地业务模型进行参数更新。
上述步骤S201至步骤S206的执行主体为N个终端中的任意一个终端,通过上述步骤S201至步骤S206,可以达到在芯片上设置CESA模块,从硬件层面进行模型参数的加解密的目的,解决相关技术中基于软件层面的模型参数加密方法存在的加解密效率低,系统可靠性差的问题。进而达到提升加解密效率低且系统可靠性的效果。
可选的,终端芯片中包括有终端加密引擎、终端解密引擎以及终端CESA模块,上述终端芯片可以但不限于为88AP510芯片。具体的,目标终端(即N个终端中的任意一个终端)基于本地业务数据进行训练,得到一组初始模型参数,将一组模型参数输入至终端芯片中的终端加密引擎,通过终端加密引擎调用终端芯片中的终端CESA模块,并基于终端CESA模块,以硬件的方式对一组初始模型参数进行加密处理,得到一组加密后的初始模型参数,由此降低软件层面计算压力,提升解密效率和系统运行安全性。主服务器在接收到来自于各终端共N组加密后的初始模型参数之后,会对N组加密后的初始模型参数进行相应的解密处理,基于得到的N组解密后的初始模型参数依次进行相应的聚合、加密处理后,将得到目标全局模型参数发送至N个终端,N个终端中的任意一个终端(即目标终端)会基于接收到的目标全局模型参数进行本地业务模型的参数更新。
在一种可选的实施例中,采用终端芯片中的终端CESA模块对一组初始模型参数进行加密处理,得到一组加密后的初始模型参数,包括:确定终端加密参数,其中,终端加密参数至少包括:执行加密处理所需的密钥和AES算法参数;基于终端加密参数,采用终端CESA模块中的AES算法,对一组初始模型参数进行加密处理,得到一组加密后的初始模型参数。
可选的,在采用AES算法对一组初始模型参数进行加密时,需要预先进行密钥、AES算法参数等的设定,基于终端芯片中的终端加密引擎,将一组初始模型参数进行加密时所需的终端加密参数配置至中央服务器CESA模块,通过终端CESA模块中预先配置好的AES算法,从硬件层面对一组初始模型参数进行加密处理,得到一组加密后的初始模型参数。
在一种可选的实施例中,该方法还包括:采用终端CESA模块对目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;基于解密后的目标全局模型参数,对本地业务模型进行参数更新。
可选的,将目标全局模型参数输入至终端芯片中的终端解密引擎,通过终端解密引擎调用终端芯片中的终端CESA模块,并基于终端CESA模块,以硬件的方式对目标全局模型参数进行解密处理,得到解密后的目标全局模型参数,由此降低软件层面计算压力,提升解密效率和系统运行安全性。
在一种可选的实施例中,采用终端CESA模块对目标全局模型参数进行解密处理,得到解密后的目标全局模型参数,包括:确定终端解密参数,其中,终端解密参数至少包括:执行解密处理所需的密钥和AES算法参数;基于终端解密参数,采用终端CESA模块中的AES算法,对目标全局模型参数进行解密处理,得到解密后的目标全局模型参数。
可选的,在采用AES算法对目标全局模型参数进行解密时,需要预先进行密钥、AES算法参数等的设定,基于终端芯片中的终端解密引擎,将对目标全局模型参数进行解密时所需的终端解密参数配置至终端CESA模块,通过终端CESA模块中预先配置好的AES算法,从硬件层面对目标全局模型参数进行解密处理,得到解密后的目标全局模型参数。
基于上述实施例和可选实施例,本申请提出另一种实施方式,图3是根据本申请实施例的一种可选的数据处理方法的流程图,如图3所示,该方法包括:
步骤S301,目标终端基于本地业务数据进行训练,得到一组初始模型参数,其中,目标终端为N个终端中的任意一个终端;
步骤S302,目标终端采用终端芯片中的终端CESA模块对一组初始模型参数进行加密处理,得到一组加密后的初始模型参数;将一组加密后的初始模型参数发送至主服务器;
步骤S303,主服务器在接收到来自于N个终端的N组加密后的初始模型参数之后,采用中央服务器芯片中的中央服务器CESA模块对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数,其中,N组加密后的初始模型参数包括:一组加密后的初始模型参数,以及除目标终端之外的其他N-1个终端对应的N-1组加密后的初始模型参数;
步骤S304,主服务器基于N组解密后的初始模型参数,得到初始全局模型参数;
步骤S305,主服务器采用中央服务器CESA模块对初始全局模型参进行加密处理,得到目标全局模型参数;
步骤S306,主服务器将目标全局模型参数发送至N个终端;
步骤S307,目标终端采用终端CESA模块对目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;
步骤S308,目标终端基于解密后的目标全局模型参数,对本地业务模型进行参数更新。
上述步骤S301至步骤S308的执行主体为N个终端中的任意一个终端,通过上述步骤S301至步骤S308,可以达到在芯片上设置CESA模块,从硬件层面进行模型参数的加解密的目的,解决相关技术中基于软件层面的模型参数加密方法存在的加解密效率低,系统可靠性差的问题。进而达到提升加解密效率低且系统可靠性的效果。
可选的,在进行模型参数训练之前,需要进行中央服务器芯片、终端芯片的硬件配置,具体包括CESA模块、寄存器、加密引擎、解密模型的配置。图4是根据本发明实施例的一种可选的参数配置流程图,以中央服务器芯片、终端芯片均为88AP510芯片,中央服务器芯片和终端芯片中硬件配置方式相同。具体包括:
步骤S11,配置CESA模块:
首先需要配置CESA硬件模块的寄存器,以便设置加密算法、加密模式、密钥长度等参数。密钥寄存器和初始化向量IV寄存器是密码学中常用的两种寄存器,用于存储密钥和初始化向量(IV)。密钥寄存器是用于存储加密和解密过程中所需的密钥的寄存器。在加密或解密过程中,密钥寄存器将存储所需的密钥,以便加密或解密算法可以使用该密钥来执行其功能。密钥寄存器通常具有多个存储位置,每个位置用于存储不同的密钥,以便在需要时可以轻松切换密钥。
IV寄存器是用于存储加密算法中所需的初始化向量(IV)的寄存器。在加密过程中,IV用于初始化加密算法,以确保加密算法的每次使用都产生唯一的加密结果。IV寄存器通常具有单个存储位置,用于存储当前正在使用的IV。在加密过程中,IV寄存器将根据需要更新,以便在每个加密块中使用不同的IV。IV寄存器对应的数据处理原则如下:写入加密参数;写入数据,激活引擎;在指定的命令寄存器上设置终止位;使能中断通知CPU操作完毕;CPU从寄存器读取结果。
步骤S12,配置88AP510加密引擎,具体包括:
步骤S121,内存映射,可以但不限于通过如下代码形式实现:
\*phys virt size
\*c8000000fdb00000 1M Cryptographic SRAM
\*e0000000@runtime 128M PCIe-0 Memory space
\*e8000000@runtime 128M PCIe-1 Memory space
\*f1000000fde00000 8M on-chip south-bridge registers
\*f1800000fe600000 8M on-chip north-bridge registers
\*f2000000fee00000 1M PCIe-0 I/O space
\*f2100000fef00000 1M PCIe-1 I/O space
#define DOVE_CRYPT_PHYS_BASE..(dove_sb_regs_phys_base∣0x30000)/\*
Cryptographic Engine\*/
具体代码解释如下:
phys:物理地址,即内存条上的实际地址。
virt:虚拟地址,即操作系统中的逻辑地址。
size:内存大小,即以字节为单位的内存容量。
PCIe:Peripheral Component Interconnect Express,一种计算机总线接口标准,用于连接外部设备。
on-chip:指内存控制器、处理器等芯片上集成的功能。
上述代码中定义了以下地址范围:
Cryptographic SRAM:物理地址从0xc8000000到0xfdb00000,大小为1MB,用于存储加密相关数据的静态随机存储器。
PCIe-0 Memory space:物理地址从0xe0000000到0xffffffff,大小为128MB,用于PCIe设备访问的内存空间。
PCIe-1 Memory space:物理地址从0xe8000000到0xffffffff,大小为128MB,用于PCIe设备访问的内存空间。
On-chip south-bridge registers:物理地址从0xf1000000到0xfde00000,大小为8MB,用于访问南桥寄存器。
On-chip north-bridge registers:物理地址从0xf1800000到0xfe600000,大小为8MB,用于访问北桥寄存器。
PCIe-0 I/O space:物理地址从0xf2000000到0xfee00000,大小为1MB,用于PCIe设备访问的I/O空间。
PCIe-1 I/O space:物理地址从0xf2100000到0xfef00000,大小为1MB,用于PCIe设备访问的I/O空间。
最后一行代码定义了一个名为DOVE_CRYPT_PHYS_BASE的宏,它的值等于DOVE_SB_REGS_PHYS_BASE和0x30000按位或的结果,表示加密引擎的物理地址范围从南桥寄存器的偏移地址0x30000开始。
步骤S122,寄存器配置,具体包括:
例如,修改Dove寄存器,可以但不限于通过如下代码形式实现:
1./*enable isolator*/;
2.reg=MV_REG_READ(PMU_ISO_CTRL_REG);
3.reg&=~PMU_ISO_VIDEO_MASK;
4.MV_REG_WRITE(PMU_ISO_CTRL_REG,reg)
第2行:此行使用MV_REG_READ()函数读取名为PMU_ISO_CTRL_REG的寄存器的值。
第3行:此行通过清除与视频隔离相关的特定位域来修改先前读取的寄存器的值。使用按位与运算符(&)清除位域,使用按位取反运算符(~)反转掩码,以便仅影响所需的位域。
第4行:此行使用MV_REG_WRITE()函数将修改后的PMU_ISO_CTRL_REG寄存器的值写回设备。此更新将生效并修改设备的行为。
步骤S123,加密数据:在进行加密/解密操作之前,需要选择要使用的加密算法。CESA引擎通常支持多种加密算法,包括AES、DES、3DES、SHA、MD5等加密算法。根据所选的加密算法以及要进行的操作,需要配置相应的参数,首先检查aes_term是否为1,类似轮询操作;配置AES_CTRL_REG:密钥长度和数据大小字节序;写入密钥寄存器,总共8个,如果key不变,则无需配置;每次写入128bit的数据块:配置AES ENC Data In/out register;当这些寄存器填写完毕(填写顺序无所谓),加密开始;如果小于128,自动补0。轮询AES命令寄存器或者等待中断:在轮询模式下如果为1,说明结果已经准备好;在中断模式下每次中断发生,结束位从0变为1,当中断发生后,主机向中断使能寄存器的Zint2写入0以重启它,写入1则无影响。
获取AES结果:结果同样位于AES IO寄存器当中;引擎不会对字节序做任何修改。
步骤S124,解密数据:通过编写相关的软件程序,向CESA模块输入需要加密或解密的数据,并指定加密算法和模式等参数,然后启动CESA模块执行加密或解密操作。加密或解密的结果会输出到指定的寄存器或存储器中。具体解密流程如下:
当加密操作完成时,密钥key发生了变化,必须根据最后的加密密钥key生成密钥调度key schedule;具体如下:
当用一个指定的密钥key解密数据时候,主机首先加载key至解密引擎,然后设置AES解密命令寄存器为1,产生key schedule。
当从解密引擎中读取一个key的时候,主机必须等待AES命令寄存器的keyschedule位为1,方可读取key寄存器。
其中解密密钥生成步骤:
写入AES解密key n寄存器;
设置解密控制寄存器的aesDecMakekey位为1;
轮询直到该位设置为1;
从对应的解密key寄存器中读取key;
清空AES解密控制寄存器。
步骤S125,启动CESA,具体包括:
启用CESA,本质上是数据在动态随机存取存储器(Dynamic Random AccessMemory,DRAM)和静态随机存取存储器(Static Random Access Memory,SRAM)之间的拷贝,如果采用DMA,需要将DRAM和SRAM中数据的虚拟地址转化为对应的物理地址。一旦完成以上配置,就可以开始执行加密/解密操作。在CESA引擎中,这些操作通常是由硬件加速器和计算单元执行的,因此可以获得很高的性能和效率。
步骤S126,基于88AP510芯片联邦学习模型参数训练,具体包括:
在联邦学习模型参数训练的过程中,88AP510芯片可以作为客户端设备(即终端)之一,通过本地训练更新模型参数并将其加密发送回服务器。在服务器端,可以使用相应的密钥来解密这些数据并进行训练。同样,服务器端也可以使用嵌入式AES模块来对更新的模型参数进行加密,以保护模型的机密性。为了确保数据在传输过程中的安全性,使用安全的通信协议,如SSL/TLS(安全套接层/传输层安全协议),来保护数据在设备之间的传输。在联邦学习的每一轮迭代中,设备将本地训练的模型参数进行加密后传输到中央服务器或协调者。协调者使用相应的AES密钥解密并聚合这些模型参数,计算全局模型参数,并加密后发送回每个设备。最终,当联邦学习完成后,可对最终的模型参数进行加密后共享,以保护模型的隐私。
步骤S127,联邦学习的训练过程的一般步骤:
步骤S1271,初始化全局模型:训练过程开始时,在主服务器(如中央服务器或协调者)上初始化全局模型参数。这个全局模型是一个共享的初始全局模型,可以是预训练模型或随机初始化的模型。
步骤S1272,任务分配:确定参与联邦学习的设备或实体被分配为联邦学习的任务参与方,每一个任务参与方对应于一个终端。这些任务参与方可以是个人智能手机、传感器设备、边缘服务器等。
步骤S1273,本地模型训练:每个任务参与方在本地使用自己的本地数据集(即本地业务数据)进行模型训练,得到一组初始模型参数。训练过程可以使用传统的机器学习算法或深度学习算法,根据具体任务和模型结构进行训练。这一步是整个联邦学习过程中的独立训练阶段。
步骤S1274,模型参数更新:在本地训练完成后,每个任务参与方将本地训练得到的一组初始模型参数;在预先配置好的AES硬件模块中,采用加密算法对初始模型参数进行加密后传输到中央服务器或协调者(即主服务器)。这里的加密通常采用安全的加密算法,如可以采用AES算法,以保护模型参数的隐私。
步骤S1275,聚合模型参数:中央服务器或协调者收到来自各个任务参与方的加密后的初始模型参数后,基于AES硬件模块对这些加密后的初始模型参数进行解密并聚合。常见的聚合方法包括简单的平均聚合、加权平均聚合等。采用基于AES硬件模块对聚合后得到的初始全局模型参数进行加密处理,将得到的目标全局模型参数作为新的全局模型参数发送至各任务参与方。
步骤S1276,更新各任务参与方的本地业务模型:目标全局模型参数发送回每个任务参与方。各任务参与方在本地接收到目标全局模型参数后,基于AES硬件模块对目标全局模型参数进行解密处理,将解密后的全局模型参数应用到本地业务模型中,使得本地业务模型与中央服务器或协调者中的全局模型保持一致。
步骤S1277,迭代训练:重复执行本地业务模型训练、模型参数更新、聚合模型参数和全局模型更新等步骤,直到满足停止条件。停止条件可以是达到预定的训练轮数、全局模型收敛或其他指标满足要求。
步骤S1278,通过不断迭代上述过程,联邦学习可以逐渐优化全局模型,同时保护每个任务参与方的数据隐私。值得注意的是,联邦学习的性能和结果很大程度上取决于任务参与方的数量、数据分布、通信效率等因素,在实际应用中需要综合考虑这些因素来进行优化。
需要说明的是,由于88AP510具有低功耗和较小的尺寸,可以在移动设备和物联网设备中使用,这使得联邦学习可以扩展到更广泛的应用领域。同时,它还支持多种通信接口(如Wi-Fi、蓝牙和NFC等),可以与其他设备进行通信并交换模型参数更新。
基于上述实施例和可选实施例,本申请提出一种可选实施方式,图5是根据本申请实施例的一种可选的数据处理方法的交互流程图,如图5所示,该方法包括:
步骤S1,N个终端中的各终端基于本地业务数据进行训练,得到一组初始模型参数。
步骤S2,将一组模型参数输入至终端芯片中的终端加密引擎,通过终端加密引擎调用终端芯片中的终端CESA模块,并基于终端CESA模块,以硬件的方式对一组初始模型参数进行加密处理,得到一组加密后的初始模型参数。
步骤S3,将一组加密后的初始模型参数发送至主服务器。
步骤S4,主服务器在接收到N个终端对应的N组加密后的初始模型参数之后,将N组加密后的初始模型参数输入至中央服务器芯片中的解密引擎,通过该解密引擎调用中央服务器芯片中的中央服务器安全加速器CESA模块,进一步基于中央服务器CESA模块对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数。
步骤S5,主服务器对N组解密后的初始模型参数进行平均聚合处理,得到初始全局模型参数;或者对N组解密后的初始模型参数进行加权聚合处理,得到初始全局模型参数。
步骤S6,主服务器将初始全局模型参数输入至中央服务器加密引擎,通过中央服务器加密引擎调用中央服务器CESA模块,并基于中央服务器CESA模块,以硬件方式对初始全局模型进行加密处理,得到目标全局模型参数。
步骤S7,目标全局模型参数发送至N个终端。
步骤S8,各终端将目标全局模型参数输入至终端芯片中的终端解密引擎,通过终端解密引擎调用终端芯片中的终端CESA模块,并基于终端CESA模块,以硬件的方式对目标全局模型参数进行解密处理,得到解密后的目标全局模型参数。基于解密后的目标全局模型参数对本地业务模型进行参数更新。
步骤S9,在获取到的初始全局模型参数之后,需要进一步判断获取得到的初始全局模型参数是否达到训练要求,即初始全局模型参数是否满足预设收敛条件。
步骤S10,若初始全局模型参数达到训练要求,则向各终端发出停止模型参数训练的信号,整个模型参数训练过程结束;若初始全局模型参数不满足要求,则向各终端发送继续进行模型参数训练的信号。并重复执行步骤S1至步骤S9的操作,直至初始全局模型参数满足要求。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种数据处理装置,需要说明的是,本申请实施例的数据处理装置可以用于执行本申请实施例所提供的用于数据处理方法。以下对本申请实施例提供的数据处理装置进行介绍。
图6是根据本申请实施例的数据处理装置的示意图。如图6所示,该装置包括:第一接收模块601、第一解密模块602、第一获取模块603、第一加密模块604、第一发送模块605,其中,
上述第一接收模块601,用于接收来自于N个终端的N组加密后的初始模型参数,其中,N个终端与N组加密后的初始模型参数一一对应,N组加密后的初始模型参数分别为对应终端基于本地业务数据进行训练得到的;
上述第一解密模块602,连接于上述第一接收模块601,用于采用中央服务器芯片中的中央服务器安全加速器CESA模块对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数;
上述第一获取模块603,连接于上述第一解密模块602,用于基于N组解密后的初始模型参数,得到初始全局模型参数;
上述第一加密模块604,连接于上述第一获取模块603,用于采用中央服务器芯片中的中央服务器CESA模块对初始全局模型参进行加密处理,得到目标全局模型参数;
上述第一发送模块605,连接于上述第一加密模块604,用于将目标全局模型参数发送至N个终端。
本申请中,通过设置上述第一接收模块601,用于接收来自于N个终端的N组加密后的初始模型参数,其中,N个终端与N组加密后的初始模型参数一一对应,N组加密后的初始模型参数分别为对应终端基于本地业务数据进行训练得到的;上述第一解密模块602,连接于上述第一接收模块601,用于采用中央服务器芯片中的中央服务器安全加速器CESA模块对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数;上述第一获取模块603,连接于上述第一解密模块602,用于基于N组解密后的初始模型参数,得到初始全局模型参数;上述第一加密模块604,连接于上述第一获取模块603,用于采用中央服务器芯片中的中央服务器CESA模块对初始全局模型参进行加密处理,得到目标全局模型参数;上述第一发送模块605,连接于上述第一加密模块604,用于将目标全局模型参数发送至N个终端,可以达到在芯片上设置CESA模块,从硬件层面进行模型参数的加解密的目的,解决相关技术中基于软件层面的模型参数加密方法存在的加解密效率低,系统可靠性差的问题。进而达到提升加解密效率低且系统可靠性的效果。
在一种可选的实施例中,第一解密模块,包括:第一确定子模块,用于确定中央服务器解密参数,其中,中央服务器解密参数至少包括:执行解密处理所需的密钥和AES算法参数;第一解密子模块,用于基于中央服务器解密参数,采用中央服务器CESA模块中的AES算法,对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数。
在一种可选的实施例中,第一加密模块,包括:第二确定子模块,用于确定中央服务器加密参数,其中,中央服务器加密参数至少包括:执行加密处理所需的密钥和第二AES算法参数;第一加密子模块,用于基于中央服务器加密参数,采用中央服务器CESA模块中的AES算法,对初始全局模型参数进行加密处理,得到目标全局模型参数。
在一种可选的实施例中,该装置还包括:第一判断子模块,用于判断初始全局模型参数是否满足预设收敛条件;第一接收子模块,用于若初始全局模型参数不满足预设收敛条件,则接收来自于N个终端的N组加密后的新的初始模型参数,其中,N组加密后的新的初始模型参数分别为对应终端基于新的本地业务数据进行训练得到的;第二解密子模块,用于采用中央服务器CESA模块对N组加密后的新的初始模型参数进行解密处理,得到N组解密后的新的初始模型参数;第一获取子模块,用于基于N组解密后的新的初始模型参数,得到新的初始全局模型参数;第二加密子模块,用于采用中央服务器CESA模块对新的初始全局模型进行加密处理,得到新的目标全局模型参数;第一发送子模块,用于将新的目标全局模型参数发送至N个终端。
在一种可选的实施例中,第一获取模块,包括:第一聚合子模块,用于对N组解密后的初始模型参数进行平均聚合处理,得到初始全局模型参数;或者第二聚合子模块,用于对N组解密后的初始模型参数进行加权聚合处理,得到初始全局模型参数。
根据本申请实施例,还提供了另一种数据处理装置,图7是根据本申请实施例提供的另一种数据处理装置的示意图,如图7所示,该装置包括:第一训练模块701、第二加密模块702、第二发送模块703、第二接收模块704、第二解密模块705、参数更新模块706,其中,
第一训练模块701,用于基于本地业务数据进行训练,得到一组初始模型参数;
第二加密模块702,连接于第一训练模块700,用于采用终端芯片中的终端CESA模块对一组初始模型参数进行加密处理,得到一组加密后的初始模型参数;
第二发送模块703,连接于第二加密模块702,用于将一组加密后的初始模型参数发送至主服务器;
第二接收模块704,连接于第二发送模块704,用于接收主服务器返回的目标全局模型参数,其中,目标全局模型参数是主服务器基于一组加密后的初始模型参数,以及其他N-1个终端对应的N-1组加密后的初始模型参数得到的,N-1个终端与N-1组加密后的初始模型参数一一对应;
第二解密模块705,连接于第二接收模块706,用于采用终端CESA模块对目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;
参数更新模块706,用于基于解密后的目标全局模型参数,对本地业务模型进行参数更新。
在一种可选的实施例中,第二加密模块,包括:第三确定子模块,用于确定终端加密参数,其中,终端加密参数至少包括:执行加密处理所需的密钥和AES算法参数;第三加密子模块,用于基于终端加密参数,采用终端CESA模块中的AES算法,对一组初始模型参数进行加密处理,得到一组加密后的初始模型参数。
在一种可选的实施例中,第三解密子模块,包括:第四确定子模块,用于确定终端解密参数,其中,终端解密参数至少包括:执行解密处理所需的密钥和AES算法参数;第四解密子模块,用于基于终端解密参数,采用终端CESA模块中的AES算法,对目标全局模型参数进行解密处理,得到解密后的目标全局模型参数。
根据本申请实施例,还提供了另一种数据处理装置,图8是根据本申请实施例提供的另一种数据处理装置的示意图,如图8所示,该装置包括:第二训练模块801、第三加密模块802、第三解密模块803、第二获取模块804、第四加密模块805、第三发送模块806、第四解密模块807、参数更新模块808,其中,
第二训练模块801,用于目标终端基于本地业务数据进行训练,得到一组初始模型参数,其中,目标终端为N个终端中的任意一个终端;
第三加密模块802,连接于第二训练模块801用于目标终端采用终端芯片中的终端CESA模块对一组初始模型参数进行加密处理,得到一组加密后的初始模型参数;将一组加密后的初始模型参数发送至主服务器;
第三解密模块803,连接于第三加密模块802,用于主服务器在接收到来自于N个终端的N组加密后的初始模型参数之后,采用中央服务器芯片中的中央服务器CESA模块对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数,其中,N组加密后的初始模型参数包括:一组加密后的初始模型参数,以及除目标终端之外的其他N-1个终端对应的N-1组加密后的初始模型参数;
第二获取模块804,连接于第三解密模块803,用于主服务器基于N组解密后的初始模型参数,得到初始全局模型参数;
第四加密模块805,连接于第二获取模块804,用于主服务器采用中央服务器CESA模块对初始全局模型参进行加密处理,得到目标全局模型参数;
第三发送模块806,连接于第四加密模块805,用于主服务器将目标全局模型参数发送至N个终端;
第四解密模块807,连接于第三发送模块806,用于目标终端采用终端CESA模块对目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;
参数更新模块808,连接于第四解密模块807,用于基于解密后的目标全局模型参数,对本地业务模型进行参数更新。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述第一接收模块501、第一解密模块502、第一获取模块503、第一加密模块504、第一发送模块505对应于实施例中的步骤S101至步骤S105,上述第一训练模块701、第二加密模块702、第二发送模块703、第二接收模块704、第二解密模块705、参数更新模块706对应于实施例中的步骤S201至步骤S206,上述第二训练模块801、第三加密模块802、第三解密模块803、第二获取模块804、第四加密模块805、第三发送模块806、第四解密模块807、参数更新模块808对应于实施例中的步骤S301至步骤S308,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例中的相关描述,此处不再赘述。
上述数据处理装置包括处理器和存储器,上述单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来(本申请的目的)。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例提供了一种非易失性存储介质,其上存储有程序,该程序被处理器执行时实现上述数据处理方法。
本申请实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述数据处理方法。
如图9所示,本申请实施例提供了一种电子设备,该电子设备10包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:接收来自于N个终端的N组加密后的初始模型参数,其中,N个终端与N组加密后的初始模型参数一一对应,N组加密后的初始模型参数分别为对应终端基于本地业务数据进行训练得到的;采用中央服务器芯片中的中央服务器安全加速器CESA模块对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数;基于N组解密后的初始模型参数,得到初始全局模型参数;采用中央服务器芯片中的中央服务器CESA模块对初始全局模型参进行加密处理,得到目标全局模型参数;将目标全局模型参数发送至N个终端。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收来自于N个终端的N组加密后的初始模型参数,其中,N个终端与N组加密后的初始模型参数一一对应,N组加密后的初始模型参数分别为对应终端基于本地业务数据进行训练得到的;采用中央服务器芯片中的中央服务器安全加速器CESA模块对N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数;基于N组解密后的初始模型参数,得到初始全局模型参数;采用中央服务器芯片中的中央服务器CESA模块对初始全局模型参进行加密处理,得到目标全局模型参数;将目标全局模型参数发送至N个终端。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
接收来自于N个终端的N组加密后的初始模型参数,其中,所述N个终端与所述N组加密后的初始模型参数一一对应,所述N组加密后的初始模型参数分别为对应终端基于本地业务数据进行训练得到的;
采用中央服务器芯片中的中央服务器安全加速器CESA模块对所述N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数;
基于所述N组解密后的初始模型参数,得到初始全局模型参数;
采用所述中央服务器芯片中的所述中央服务器CESA模块对所述初始全局模型参进行加密处理,得到目标全局模型参数;
将所述目标全局模型参数发送至所述N个终端。
2.根据权利要求1所述的方法,其特征在于,所述采用中央服务器芯片中的中央服务器安全加速器CESA模块对所述N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数,包括:
确定中央服务器解密参数,其中,所述中央服务器解密参数至少包括:执行中央服务器解密处理所需的密钥和高级加密标准AES算法参数;
基于所述中央服务器解密参数,采用所述中央服务器CESA模块中的AES算法,对所述N组加密后的初始模型参数进行所述解密处理,得到所述N组解密后的初始模型参数。
3.根据权利要求1所述的方法,其特征在于,所述采用所述中央服务器芯片中的所述中央服务器CESA模块对所述初始全局模型参进行加密处理,得到目标全局模型参数,包括:
确定中央服务器加密参数,其中,所述中央服务器加密参数至少包括:执行中央服务器加密处理所需的密钥和AES算法参数;
基于所述中央服务器加密参数,采用所述中央服务器CESA模块中的AES算法,对所述初始全局模型参数进行所述加密处理,得到所述目标全局模型参数。
4.根据权利要求1所述的方法,其特征在于,在所述将所述目标全局模型参数发送至所述N个终端之后,该方法还包括:
判断所述初始全局模型参数是否满足预设收敛条件;
若所述初始全局模型参数不满足所述预设收敛条件,则循环执行以下操作,直至满足所述预设收敛条件:
接收来自于所述N个终端的N组加密后的新的初始模型参数,其中,所述N组加密后的新的初始模型参数分别为对应终端基于新的本地业务数据进行训练得到的;
采用所述中央服务器CESA模块对所述N组加密后的新的初始模型参数进行解密处理,得到N组解密后的新的初始模型参数;
基于所述N组解密后的新的初始模型参数,得到新的初始全局模型参数;
采用所述中央服务器CESA模块对所述新的初始全局模型进行加密处理,得到新的目标全局模型参数;
将所述新的目标全局模型参数发送至所述N个终端。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述基于所述N组解密后的初始模型参数,得到初始全局模型参数,包括:
对所述N组解密后的初始模型参数进行平均聚合处理,得到所述初始全局模型参数;或者
对所述N组解密后的初始模型参数进行加权聚合处理,得到所述初始全局模型参数。
6.一种数据处理方法,其特征在于,包括:
基于本地业务数据进行训练,得到一组初始模型参数;
采用终端芯片中的终端CESA模块对所述一组初始模型参数进行加密处理,得到一组加密后的初始模型参数;
将所述一组加密后的初始模型参数发送至主服务器;
接收所述主服务器返回的目标全局模型参数,其中,所述目标全局模型参数是所述主服务器基于所述一组加密后的初始模型参数,以及其他N-1个终端对应的N-1组加密后的初始模型参数得到的,所述N-1个终端与所述N-1组加密后的初始模型参数一一对应;
采用所述终端CESA模块对所述目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;
基于所述解密后的目标全局模型参数,对本地业务模型进行参数更新。
7.根据权利要求6所述的方法,其特征在于,所述采用终端芯片中的终端CESA模块对所述一组初始模型参数进行加密处理,得到一组加密后的初始模型参数,包括:
确定终端加密参数,其中,所述终端加密参数至少包括:执行终端加密处理所需的密钥和AES算法参数;
基于所述终端加密参数,采用所述终端CESA模块中的AES算法,对所述一组初始模型参数进行所述加密处理,得到所述一组加密后的初始模型参数。
8.根据权利要求6所述的方法,其特征在于,所述采用所述终端CESA模块对所述目标全局模型参数进行解密处理,得到解密后的目标全局模型参数,包括:
确定终端解密参数,其中,所述终端解密参数至少包括:执行终端解密处理所需的密钥和AES算法参数;
基于所述终端解密参数,采用所述终端CESA模块中的AES算法,对所述目标全局模型参数进行所述解密处理,得到所述解密后的目标全局模型参数。
9.一种数据处理方法,其特征在于,包括:
目标终端基于本地业务数据进行训练,得到一组初始模型参数,其中,所述目标终端为N个终端中的任意一个终端;
所述目标终端采用终端芯片中的终端CESA模块对所述一组初始模型参数进行加密处理,得到一组加密后的初始模型参数;将所述一组加密后的初始模型参数发送至主服务器;
所述主服务器在接收到来自于N个终端的N组加密后的初始模型参数之后,采用中央服务器芯片中的中央服务器CESA模块对所述N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数,其中,所述N组加密后的初始模型参数包括:所述一组加密后的初始模型参数,以及除所述目标终端之外的其他N-1个终端对应的N-1组加密后的初始模型参数;
所述主服务器基于所述N组解密后的初始模型参数,得到初始全局模型参数;
所述主服务器采用所述中央服务器CESA模块对所述初始全局模型参进行加密处理,得到目标全局模型参数;
所述主服务器将所述目标全局模型参数发送至所述N个终端;
所述目标终端采用所述终端CESA模块对所述目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;
所述目标终端基于所述解密后的目标全局模型参数,对本地业务模型进行参数更新。
10.一种数据处理装置,其特征在于,包括:
第一接收模块,用于接收来自于N个终端的N组加密后的初始模型参数,其中,所述N个终端与所述N组加密后的初始模型参数一一对应,所述N组加密后的初始模型参数分别为对应终端基于本地业务数据进行训练得到的;
第一解密模块,用于采用中央服务器芯片中的中央服务器安全加速器CESA模块对所述N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数;
第一获取模块,用于基于所述N组解密后的初始模型参数,得到初始全局模型参数;
第一加密模块,用于采用所述中央服务器芯片中的所述中央服务器CESA模块对所述初始全局模型参进行加密处理,得到目标全局模型参数;
第一发送模块,用于将所述目标全局模型参数发送至所述N个终端。
11.一种数据处理装置,其特征在于,包括:
第一训练模块,用于基于本地业务数据进行训练,得到一组初始模型参数;
第二加密模块,用于采用终端芯片中的终端CESA模块对所述一组初始模型参数进行加密处理,得到一组加密后的初始模型参数;
第二发送模块,用于将所述一组加密后的初始模型参数发送至主服务器;
第二接收模块,用于接收所述主服务器返回的目标全局模型参数,其中,所述目标全局模型参数是所述主服务器基于所述一组加密后的初始模型参数,以及其他N-1个终端对应的N-1组加密后的初始模型参数得到的,所述N-1个终端与所述N-1组加密后的初始模型参数一一对应;
第二解密模块,用于采用所述终端CESA模块对所述目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;
参数更新模块,用于基于所述解密后的目标全局模型参数,对本地业务模型进行参数更新。
12.一种数据处理装置,其特征在于,包括:
第二训练模块,用于目标终端基于本地业务数据进行训练,得到一组初始模型参数,其中,所述目标终端为N个终端中的任意一个终端;
第三加密模块,用于所述目标终端采用终端芯片中的终端CESA模块对所述一组初始模型参数进行加密处理,得到一组加密后的初始模型参数;将所述一组加密后的初始模型参数发送至主服务器;
第三解密模块,用于所述主服务器在接收到来自于N个终端的N组加密后的初始模型参数之后,采用中央服务器芯片中的中央服务器CESA模块对所述N组加密后的初始模型参数进行解密处理,得到N组解密后的初始模型参数,其中,所述N组加密后的初始模型参数包括:所述一组加密后的初始模型参数,以及除所述目标终端之外的其他N-1个终端对应的N-1组加密后的初始模型参数;
第二获取模块,用于所述主服务器基于所述N组解密后的初始模型参数,得到初始全局模型参数;
第四加密模块,用于所述主服务器采用所述中央服务器CESA模块对所述初始全局模型参进行加密处理,得到目标全局模型参数;
第三发送模块,用于所述主服务器将所述目标全局模型参数发送至所述N个终端;
第四解密模块,用于所述目标终端采用所述终端CESA模块对所述目标全局模型参数进行解密处理,得到解密后的目标全局模型参数;
参数更新模块,用于所述目标终端基于所述解密后的目标全局模型参数,对本地业务模型进行参数更新。
13.一种电子设备,其特征在于,包括中央处理器芯片和存储器,所述中央处理器芯片上包括中央服务器加密引擎、中央服务器解密引擎、中央服务器CESA模块以及一个或多个处理器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至5中任意一项所述的数据处理方法。
14.一种电子设备,其特征在于,包括终端芯片和存储器,所述终端芯片上包括终端加密引擎、终端解密引擎、终端CESA模块以及一个或多个处理器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求6至8中任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311245817.0A CN117150529A (zh) | 2023-09-25 | 2023-09-25 | 数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311245817.0A CN117150529A (zh) | 2023-09-25 | 2023-09-25 | 数据处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117150529A true CN117150529A (zh) | 2023-12-01 |
Family
ID=88908098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311245817.0A Pending CN117150529A (zh) | 2023-09-25 | 2023-09-25 | 数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117150529A (zh) |
-
2023
- 2023-09-25 CN CN202311245817.0A patent/CN117150529A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102376626B1 (ko) | 데이터 처리 가속기의 난독화를 통한 데이터 전송 | |
US8413153B2 (en) | Methods and systems for sharing common job information | |
WO2022126919A1 (zh) | 文件传输方法、装置、计算机设备及存储介质 | |
US11457354B2 (en) | System and method to securely broadcast a message to accelerators | |
TWI767893B (zh) | 包含多處理器所共享之記憶體的多處理器系統 | |
WO2022161182A1 (zh) | 基于数据流的可信计算的方法及装置 | |
US10839069B2 (en) | Protecting artificial intelligence models using virtual secure mode | |
CN113704041A (zh) | Fpga设计的安全调试 | |
US11210136B2 (en) | Systems and methods for an operating system module for a data processing accelerator | |
US11411934B2 (en) | System and method to securely broadcast a message to accelerators with switch | |
US20220188467A1 (en) | Cloud server and method for controlling cloud server thereof | |
US11728996B2 (en) | System and method to securely broadcast a message to accelerators using virtual channels with switch | |
EP4198780A1 (en) | Distributed attestation in heterogenous computing clusters | |
CN117150529A (zh) | 数据处理方法、装置及电子设备 | |
CN116070230A (zh) | 加密处理器、包括加密处理器的电子装置和计算方法 | |
CN108713190B (zh) | 用于加速安全存储能力的技术 | |
CN115048679A (zh) | 一种融合片内安全防护功能的多业务分区隔离芯片 | |
CN114969851A (zh) | 一种基于fpga的数据处理方法、装置、设备及介质 | |
US11516010B2 (en) | System and method to securely broadcast a message to accelerators using virtual channels | |
CN111290830B (zh) | 一种虚拟机迁移方法、处理器及电子设备 | |
JP2018087917A (ja) | 秘密計算装置、秘密計算方法及びプログラム | |
CN115269174A (zh) | 一种数据传输方法、数据处理方法及相关产品 | |
US10439960B1 (en) | Memory page request for optimizing memory page latency associated with network nodes | |
US20220091758A1 (en) | Securing sensitive data in memory | |
JP6957117B2 (ja) | 情報処理方法、情報処理システム、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |