本发明涉及分布式机器学习,具体而言,涉及一种联邦学习的加速方法、装置和非易失性存储介质。
背景技术:
1、随着电力系统的不断扩张和技术进步,尤其是在智能电网和电力物联网的推动下,电力系统的运营和管理日益依赖于高效、安全的数据处理能力。电力系统越来越多地依赖于跨域的数据流通,随着数据共享和利用的便利,也带来了对数据隐私保护的严峻挑战。尤其在多个电力系统实体间共享敏感数据时,如何在不泄露数据源信息的前提下高效利用这些数据,成为了一个亟需解决的问题。
2、联邦学习作为一种新兴的分布式机器学习方法,可以在保护数据隐私的前提下实现跨设备的协同学习。然而,联邦学习在训练过程中需要进行大量的加密操作,这在边缘设备上往往导致计算复杂度高和训练速度慢的问题。现有的针对加密过程的联邦学习加速方法主要包括硬件加速、算法优化和通信优化等,但普遍存在普适性不高的缺点。
3、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本发明实施例提供了一种联邦学习的加速方法、装置和非易失性存储介质,以至少解决相关技术中针对联邦学习的加速方法普适性不高的技术问题。
2、根据本发明实施例的一个方面,提供了一种联邦学习的加速方法,包括:接收基于联邦学习的模型训练方法的训练阶段生成的目标数据,以及对目标数据加密采用的加密算法标识;根据加密算法的标识,确定对目标数据进行加密的处理步骤;在处理步骤中,确定可并行执行的多个步骤;将可并行执行的多个步骤分别分配至引擎并行执行,以使可并行执行的多个步骤分别被对应的引擎执行,得到多个引擎各自的执行结果;根据多个引擎各自的执行结果,生成目标数据的加密结果。
3、可选地,在处理步骤中,确定可并行执行的多个步骤,包括:确定加密算法的加密步骤;将加密步骤拆分为基本运算步骤,其中,基本运算步骤包括模幂运算步骤和模乘运算步骤;根据基本运算步骤,确定可并行执行的多个步骤。
4、可选地,将可并行执行的多个步骤分别分配至引擎并行执行,以使可并行执行的多个步骤分别被对应的引擎执行,得到多个引擎各自的执行结果,包括:将多个步骤各自的基本运算步骤分别分配至对应的引擎并行执行,得到多个引擎各自的执行结果。
5、可选地,将多个步骤各自的基本运算步骤分别分配至对应的引擎并行执行,得到多个引擎各自的执行结果,包括:确定多个步骤各自所需的运算量;以多个引擎之间的运算量差距最小为目标,将多个步骤各自的基本运算步骤分别分配至对应的引擎并行执行,得到多个引擎各自的执行结果。
6、可选地,模幂运算步骤通过如下方式执行:将模幂运算的输入数据从初始格式转化为蒙哥马利空间格式;以蒙哥马利空间格式对输入数据进行计算,得到计算结果;将计算结果从蒙哥马利空间格式转换为初始格式,得到输入数据的模幂运算结果。
7、可选地,将可并行执行的多个步骤分别分配至引擎并行执行,还包括:确定可并行执行的多个步骤分别对应的引擎;将可并行执行的多个步骤分别发送至数据分发器,由数据分发器将可并行执行的多个步骤分发至对应的引擎,其中,数据分发器包括多层分发器,多层分发器以树形结构进行数据分发。
8、根据本发明实施例的另一方面,还提供了一种联邦学习的加速装置,包括:接收模块,用于接收基于联邦学习的模型训练方法的训练阶段生成的目标数据,以及对目标数据加密采用的加密算法标识;第一确定模块,用于根据加密算法的标识,确定对目标数据进行加密的处理步骤;第二确定模块,用于在处理步骤中,确定可并行执行的多个步骤;分配模块,用于将可并行执行的多个步骤分别分配至引擎并行执行,以使可并行执行的多个步骤分别被对应的引擎执行,得到多个引擎各自的执行结果;生成模块,用于根据多个引擎各自的执行结果,生成目标数据的加密结果。
9、根据本发明实施例的又一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述中任意一项联邦学习的加速方法。
10、根据本发明实施例的再一方面,还提供了一种计算机设备,计算机设备包括处理器,处理器用于运行程序,其中,程序运行时执行上述中任意一项联邦学习的加速方法。
11、根据本发明实施例的再一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述中任意一项联邦学习的加速方法。
12、在本发明实施例中,采用在加密算法中确定可并行的多个步骤,并且并行执行可并行的多个步骤的方式,通过接收基于联邦学习的模型训练方法的训练阶段生成的目标数据,以及对目标数据加密采用的加密算法标识;根据加密算法的标识,确定对目标数据进行加密的处理步骤;在处理步骤中,确定可并行执行的多个步骤;将可并行执行的多个步骤分别分配至引擎并行执行,以使可并行执行的多个步骤分别被对应的引擎执行,得到多个引擎各自的执行结果;根据多个引擎各自的执行结果,生成目标数据的加密结果,达到了缩短加密算法的执行时间的目的,只要联邦学习采用加密算法进行加密,就可以采用本发明提供的方法进行加速,从而实现了提高联邦学习的加速方法的适用性的技术效果,进而解决了相关技术中针对联邦学习的加速方法普适性不高的技术问题。
1.一种联邦学习的加速方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述在所述处理步骤中,确定可并行执行的多个步骤,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述可并行执行的多个步骤分别分配至引擎并行执行,以使所述可并行执行的多个步骤分别被对应的引擎执行,得到多个引擎各自的执行结果,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述多个步骤各自的基本运算步骤分别分配至对应的引擎并行执行,得到所述多个引擎各自的执行结果,包括:
5.根据权利要求3所述的方法,其特征在于,所述模幂运算步骤通过如下方式执行:
6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述将所述可并行执行的多个步骤分别分配至引擎并行执行,还包括:
7.一种联邦学习的加速装置,其特征在于,包括:
8.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至6中任意一项所述联邦学习的加速方法。
9.一种计算机设备,其特征在于,包括:存储器和处理器,
10.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行权利要求1至6中任意一项所述联邦学习的加速方法。