一种联邦学习异构处理系统的算法验证方法及系统技术方案

技术编号:27198491 阅读:13 留言:0更新日期:2021-01-31 12:00
本说明书的实施例提供一种联邦学习异构处理系统的算法验证方法,应用于验证异构处理系统中FPGA异构计算芯片算法的正确性,包括:获取配置信息,该配置信息包括算法类型、各输入参数、各输入参数的位宽;根据各输入参数的位宽配置信息随机生成输入参数数据;根据输入参数数据进行基于标准运算库的计算得到标准值;基于FPGA异构计算芯片的实际算法,根据所述输入参数数据进行计算得到实际值;比较标准值和实际值,若所述标准值和所述实际值一致,则算法验证通过,若所述标准值和所述实际值不一致,则发出报错信息。本方案可自动验证异构计算芯片上算法实现的正确性,提高了工程验证的效率。的效率。的效率。

【技术实现步骤摘要】
一种联邦学习异构处理系统的算法验证方法及系统


[0001]本说明书实施例通常涉及异构计算领域,尤其涉及用于联邦学习异构处理系统的算法验证方法及系统。

技术介绍

[0002]本专利技术涉及人工智能(Artificial Intelligence,AI)领域的联邦学习异构系统,联邦学习是一种分布式机器学习框架,在保证数据安全性、私密性、合法性的前提下,不同参与方实现共同建模。不同参与方之间要安全而私密地共享数据,必须先对数据进行同态加密,同态加密是一种高位宽、大整数的数学运算,计算量非常复杂,同时涉及到对计算实时性等要求,在实际应用中同态加密的实现逐渐由软件向硬件转变,多以CPU结合异构计算芯片的方式从硬件上优化异构计算系统,从而提升系统整体的计算能力。
[0003]CPU加异构计算芯片的方式为联邦学习提供了强大的计算性能,在保障产品的功能与性能的同时,需要对同态加密算法在硬件实现过程中的正确性进行有效性验证。
[0004]硬件方式的算法验证方案,需要设计电路,或者将算法转换成机器语言,编译、布局布线、下载到异构芯片上,并且硬件设计周期很长,动辄几周甚至数月,且每次算法变动,都要更改硬件设计,导致验证的迭代周期很长。

技术实现思路

[0005]鉴于上述,本说明书的实施例提供一种联邦学习异构处理系统的验证系统及方法。利用该异构处理系统的验证系统及方法,充分考虑了硬件实现的特性,直接将同态加密相关算法涉及到的伪代码优化至真实硬件实现方式,更加贴近硬件实现,进一步减少了后期硬件设计的工作量,同时结合软硬测试的优点,提高算法验证的准确性,可以实现快速、有效的验证算法。
[0006]根据本说明书的实施例的一个方面,提供一种联邦学习异构处理系统的算法验证方法,应用于验证异构处理系统中FPGA异构计算芯片算法的正确性,包括:获取配置信息,所述配置信息包括算法类型、各输入参数和各输入参数的位宽;根据所述各输入参数的位宽配置信息随机生成输入参数数据;根据所述输入参数数据进行基于标准运算库的计算,得到标准值;基于FPGA异构计算芯片的实际算法,根据所述输入参数数据进行计算,得到实际值;比较所述标准值和所述实际值,若所述标准值和所述实际值一致,则所述算法验证通过,若所述标准值和所述实际值不一致,则发出报错信息。
[0007]可选地,在上述方面的一个示例中,所述算法为Paillier加密算法,表达式为C=(1+m
×
n)
×
(r
n
)modN,其中:m为明文,n为秘钥,r为随机数,N=n2,C为密文数据;所述输入参数包括m、n、r和N。
[0008]可选地,在上述方面的一个示例中,根据m、n、r和N的位宽配置信息,随机生成输入参数数据。
[0009]可选地,在上述方面的一个示例中,标准运算库为大整数运算库,将所述随机生成
的输入参数数据代入所述大整数运算库,得到标准值。
[0010]可选地,在上述方面的一个示例中,将所述paillier加密算法表达式C=(1+m
×
n)
×
(r
n
)modN转化为:C=((1+m
×
n)modN)
×
((r
n
)modN)modN,其中,Raw=(1+m
×
n)modN,P=(r
n
)modN;基于大整数运算库和实际算法分别得到Raw的标准值和实际值,若Raw的标准值和实际值相等,则验证Raw通过;基于大整数运算库和实际算法分别得到P的标准值和实际值,若P的标准值和实际值相等,则验证P通过;若Raw和P均验证通过,再进一步验证C的准确性。
[0011]根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得机器执行如上所述的任务处理方法。
[0012]根据本说明书的实施例的另一方面,提供一种联邦学习异构处理系统的算法验证系统,包括:参数配置模块,产生配置信息,所述配置信息包括算法类型,各输入参数和各输入参数的位宽;数据产生模块,根据所述各输入参数的位宽配置信息随机生成输入参数数据;算法计算模块,包括第一计算模块和第二计算模块,所述第一计算模块进行基于标准运算库的计算得到标准值,所述第二计算模块进行基于实际算法的计算得到实际值;结果对比模块,比较所述标准值和所述实际值是否一致,若一致,则判断所述算法验证通过;数据存储模块,存储所述数据产生模块生成的所述输入参数数据,以及所述算法计算模块生成的所述标准值和实际值;数据传输模块,将验证中的数据在所述数据存储模块、所述算法计算模块和所述结果对比模块之间进行传输。
[0013]可选地,在上述方面的一个示例中,所述算法为Paillier同态加密算法,表达式为C=(1+m
×
n)
×
(r
n
)modN,其中:m为明文,n为秘钥,r为随机数,N=n2,C为密文数据;输入参数包括m、n、r和N。
[0014]可选地,在上述方面的一个示例中,所述算法验证系统还包括算法分解模块,所述算法分解模块将所述Paillier同态加密算法表达式转化为:C=((1+m
×
n)modN)
×
((r
n
)modN)modN,其中:Raw=(1+m
×
n)modN,P=(r
n
)modN;所述第一计算模块基于大整数运算库和实际算法分别得到Raw的标准值和实际值;所述第二计算模块基于大整数运算库和实际算法分别得到P的标准值和实际值;所述算法验证模块比较Raw的标准值和实际值是否一致,若一致,则判断Raw验证通过,比较若P的标准值和实际值是否一致,若一致,则判断P验证通过;若Raw和P均验证通过,再进一步验证C的准确性。
[0015]可选地,在上述方面的一个示例中,所述参数配置模块可配置多种算法,多种算法可同时并行进行验证。
附图说明
[0016]通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
[0017]图1示出了根据本说明书的实施例的联邦学习异构处理系统的算法验证系统的示意图。
[0018]图2示出了根据本说明书的实施例的异构处理系统的算法计算模块的示意图。
[0019]图3示出了根据本说明书的实施例的FPGA芯片的示意图。
[0020]图4示出了根据本说明书实施例的一种联邦学习异构处理系统的算法验证方法的
流程图。
[0021]图5示出了根据本说明书实施例的一种联邦学习异构处理系统的算法验证方法的详细流程图。
具体实施方式
[0022]现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种联邦学习异构处理系统的算法验证方法,应用于验证异构处理系统中FPGA异构计算芯片算法的正确性,其特征在于,包括:获取配置信息,所述配置信息包括算法类型、各输入参数和各输入参数的位宽;根据所述各输入参数的位宽配置信息随机生成输入参数数据;根据所述输入参数数据进行基于标准运算库的计算,得到标准值;基于FPGA异构计算芯片的实际算法,根据所述输入参数数据进行计算,得到实际值;比较所述标准值和所述实际值,若所述标准值和所述实际值一致,则所述算法验证通过,若所述标准值和所述实际值不一致,则发出报错信息。2.根据权利要求1所述的算法验证方法,其特征在于,所述算法类型为Paillier加密算法,表达式为C=(1+m
×
n)
×
(r
n
)modN,其中:m为明文,n为秘钥,r为随机数,N=n2,C为密文数据;所述输入参数包括m、n、r和N。3.根据权利要求2所述的算法验证方法,其特征在于,根据所述各输入参数的位宽配置信息随机生成输入参数数据包括:根据m、n、r和N的位宽配置信息,随机生成输入参数数据。4.根据权利要求3所述的算法验证方法,其特征在于,根据所述输入参数数据进行基于标准运算库的计算,得到标准值,包括:所述标准运算库为大整数运算库,将所述随机生成的输入参数数据代入所述大整数运算库,得到标准值。5.根据权利要求4所述的算法验证方法,其特征在于,将所述paillier加密算法表达式C=(1+m
×
n)
×
(r
n
)modN转化为:C=((1+m
×
n)modN)
×
((r
n
)modN)modN,其中,Raw=(1+m
×
n)modN,P=(r
n
)modN;基于大整数运算库和实际算法分别得到Raw的标准值和实际值,若Raw的标准值和实际值相等,则验证Raw通过;基于大整数运算库和实际算法分别得到P的标准值和实际值,若P的标准值和实际值相等,则验证P通过;若Raw和P均验证通过,再进一步验证C的准确性。6.一种机器可读存储介质,其...

【专利技术属性】
技术研发人员:王亚玲王玮胡水海
申请(专利权)人:深圳致星科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1