用于隐私计算的除法运算装置、数据处理系统及方法制造方法及图纸

技术编号:30307061 阅读:23 留言:0更新日期:2021-10-09 22:44
本申请涉及一种用于隐私计算的除法运算装置、数据处理系统及方法。除法运算装置包括:第一移位器,配置成将被除数向右移位第一固定位数从而得到中间结果;乘法器,配置成对中间结果和主参数进行乘法运算从而得到乘法运算结果;以及第二移位器,配置成将乘法运算结果向右移位第二固定位数。被除数和除数的商根据第二移位器的输出结果确定。当除数和与另一个被除数对应的除数相同时,与另一个被除数对应的第一固定位数作为第一固定位数,与另一个被除数对应的第二固定位数作为第二固定位数。如此,有利于提高计算速度和节省硬件资源也适用于大整数位宽的除法运算操作,并且通过参数复用和模块复用提高流水式处理多个除法运算操作的整体效率。作的整体效率。作的整体效率。

【技术实现步骤摘要】
用于隐私计算的除法运算装置、数据处理系统及方法


[0001]本申请涉及数据安全和隐私保护
,具体涉及一种用于隐私计算的除法运算装置、数据处理系统及方法。

技术介绍

[0002]随着人工智能和大数据挖掘分析等应用领域的发展,对数据量的需求越来越大。例如训练人工智能的应用模型需要使用大量带有合适的数据标签或者特征数值的训练数据。高质量的数据往往来源于经营活动中产生和积累的应用数据。但是应用数据往往分散在不同的组织和个体手上,例如交易数据分散在各个金融机构,医疗诊断数据分散在各个医疗机构。跨行业跨领域的应用数据往往也是分散的,例如互联网领域的社交属性数据和电商交易数据往往由不同实体掌控。随着数据所有权的重要性、用户隐私和数据安全等受到更多重视,也随着法律法规对数据收集处理提出更严格的约束和要求,掌握应用数据的各个组织或个体往往不愿意或者没有合适手段进行彼此之间的合作,从而很难让各自掌握的应用数据共同发挥作用。这种数据分享和协同合作方面的困境被称之为数据孤岛现象。为了解决跨行业跨组织的数据合作难题,尤其是关键的隐私保护及数据安全的问题,提出了联邦学习的概念。联邦学习指的是拥有数据的各个参与方,在不共享受保护的隐私数据且自有数据不传递到外部的前提下,通过加密的方式交换模型相关信息从而实现协同优化联邦学习模型。其中,联邦学习根据训练数据在不同参与方之间的数据特征空间和样本空间的分布情况,可以划分为在数据特征空间重叠较大而在样本空间重叠较小的横向联邦学习,在数据特征空间重叠较小而在样本空间重叠较大的纵向联邦学习,以及在数据特征空间和样本空间均重叠较小的联邦迁移学习。
[0003]在联邦学习相关应用场景中,拥有数据的各个参与方通过隐私保护技术来保护数据安全和用户隐私,例如采用同态加密方法对原始数据也叫明文进行加密后再将加密后的密态数据也叫密文用在模型训练、梯度计算、参数计算等。同态加密方法允许直接在密文上进行代数运算等有效操作例如加法运算和乘法运算,并且直接对密文进行计算的结果等效于解密后对明文进行计算的结果,从而仅根据公钥和密文进行计算而无需知道密钥。这些数据加密技术和密态运算技术统称为隐私计算。隐私计算需要使用大量复杂算子操作,其中包括大整数位宽的除法运算。例如,常见的一种同态加密方法是Paillier算法,Paillier算法的解密计算需要对大整数位宽的被除数和除数进行除法运算,并且被除数和除数的位宽可以是1024比特、2048比特、4096比特或者更大的位宽。
[0004]现有技术中,处理器进行除法运算的方式一般有查表法和迭代法。其中,查表法要求预先存储除法运算结果,不适用于隐私计算和联邦学习的复杂应用场景。迭代法的基本原理是下一次的运算用到上一次运算的结果。一种不恢复余数的数字迭代算法是(Sweeney Robertson and Tocher,SRT)算法,SRT算法在每次迭代运算时通过加减法操作和移位操作,获得固定位数的商位结果。如基数为4的SRT算法每次迭代运算获得2比特的商位结果,基数为8的SRT算法每次迭代运算获得3比特的商位结果。提高基数可以降低迭代次数但是
基数增大导致每次迭代运算确定商位结果的计算过程更加复杂,并且当被除数和除数的位宽很大时SRT算法的整体迭代次数变得太多且迭代运算过程复杂,从而不适用于隐私计算和联邦学习的复杂应用场景。为此,需要一种用于隐私计算的除法运算装置、数据处理系统及方法,能够应对隐私计算中所涉及的大整数位宽的除法运算操作同时有较好的计算速度和硬件资源利用效率。

技术实现思路

[0005]本申请实施例为了解决能够应对隐私计算中所涉及的大整数位宽的除法运算操作同时有较好的计算速度和硬件资源利用效率这一难题,通过提供了用于隐私计算的除法运算装置、数据处理系统及方法,从而实现了在隐私计算和联邦学习的复杂应用场景下对大整数位宽的除法运算操作同时有较好的计算速度和硬件资源利用效率。
[0006]第一方面,本申请实施例提供了一种除法运算装置。所述除法运算装置包括:第一移位器,其中,所述第一移位器配置成将被除数向右移位第一固定位数从而得到中间结果;乘法器,其中,所述乘法器配置成对所述中间结果和主参数进行乘法运算从而得到乘法运算结果;以及第二移位器,其中,所述第二移位器配置成将所述乘法运算结果向右移位第二固定位数;
[0007]其中,除法运算结果根据所述第二移位器的输出结果确定,所述除法运算结果是所述被除数和除数的商,其中,所述除法运算装置保存分别与另一个被除数对应的除数、第一固定位数以及第二固定位数,所述除法运算装置还用于:比较所述除数和与所述另一个被除数对应的除数;当所述除数和与所述另一个被除数对应的除数相同时,与所述另一个被除数对应的第一固定位数作为所述第一固定位数,与所述另一个被除数对应的第二固定位数作为所述第二固定位数。
[0008]第一方面所描述的技术方案,通过将整除运算的除法运算简化为固定位数的位移操作与乘法运算的结合,因而节省了迭代运算和商位选择的复杂操作,有利于提高计算速度和节省硬件资源也适用于大整数位宽的除法运算操作。并且,通过参数复用和模块复用提高流水式处理多个除法运算操作的整体效率。
[0009]根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了所述除法运算装置还保存与所述另一个被除数对应的除数的位宽,所述除法运算装置还用于:当所述除数和与所述另一个被除数对应的除数不同时,比较所述除数的位宽和与所述另一个被除数对应的除数的位宽,所述除数的位宽通过对以第一参数为底的所述除数的对数进行向下取整操作再加一得到;当所述除数的位宽和与所述另一个被除数对应的除数的位宽相同时,与所述另一个被除数对应的第一固定位数作为所述第一固定位数,与所述另一个被除数对应的第二固定位数作为所述第二固定位数。如此,通过参数复用和模块复用提高流水式处理多个除法运算操作的整体效率。
[0010]第二方面,本申请实施例提供了一种除法运算方法,所述方法包括:根据除数,第一参数,第二参数以及位宽计算主参数,其中,所述位宽根据所述第一参数和所述除数确定;将被除数向右移位第一固定位数得到中间结果,其中,所述第一固定位数根据所述第一参数,所述位宽以及第三参数确定;对所述中间结果和所述主参数进行乘法运算得到乘法运算结果;以及将所述乘法运算结果向右移位第二固定位数后再加上正整数1得到所述被
除数和所述除数的商,其中,所述第二固定位数根据所述第一参数,所述位宽,所述第二参数以及所述第三参数确定,其中,所述第二参数和所述第三参数分别根据所述位宽的变化而变化,所述第二参数和所述第三参数可以被调整以便调节所述除法运算结果的精度。
[0011]第二方面所描述的技术方案,通过将整除运算的除法运算简化为固定位数的位移操作与乘法运算的结合,因而节省了迭代运算和商位选择的复杂操作,有利于提高计算速度和节省硬件资源也适用于大整数位宽的除法运算操作。并且,实现了通过微调第二参数和第三参数而改进整体计算的效率和精度。
[0012]根据第二方面的技术方案的一种可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种除法运算装置,其特征在于,所述除法运算装置包括:第一移位器,其中,所述第一移位器配置成将被除数向右移位第一固定位数从而得到中间结果;乘法器,其中,所述乘法器配置成对所述中间结果和主参数进行乘法运算从而得到乘法运算结果;以及第二移位器,其中,所述第二移位器配置成将所述乘法运算结果向右移位第二固定位数;其中,除法运算结果根据所述第二移位器的输出结果确定,所述除法运算结果是所述被除数和除数的商,其中,所述除法运算装置保存分别与另一个被除数对应的除数、第一固定位数以及第二固定位数,所述除法运算装置还用于:比较所述除数和与所述另一个被除数对应的除数;当所述除数和与所述另一个被除数对应的除数相同时,与所述另一个被除数对应的第一固定位数作为所述第一固定位数,与所述另一个被除数对应的第二固定位数作为所述第二固定位数。2.根据权利要求1所述的除法运算装置,其特征在于,所述除法运算装置还保存与所述另一个被除数对应的除数的位宽,所述除法运算装置还用于:当所述除数和与所述另一个被除数对应的除数不同时,比较所述除数的位宽和与所述另一个被除数对应的除数的位宽,所述除数的位宽通过对以第一参数为底的所述除数的对数进行向下取整操作再加一得到;当所述除数的位宽和与所述另一个被除数对应的除数的位宽相同时,与所述另一个被除数对应的第一固定位数作为所述第一固定位数,与所述另一个被除数对应的第二固定位数作为所述第二固定位数。3.根据权利要求2所述的除法运算装置,其特征在于,所述除法运算装置还用于:当所述除数的位宽和与所述另一个被除数对应的除数的位宽不同时,根据所述除数的位宽分别计算所述第一固定位数和所述第二固定位数。4.根据权利要求1所述的除法运算装置,其特征在于,所述主参数根据第一参数、第二参数、所述除数的位宽以及所述除数确定,所述除数的位宽根据所述第一参数和所述除数确定,所述第一固定位数根据所述第一参数、所述除数的位宽以及第三参数确定,所述第二固定位数根据所述第一参数、所述除数的位宽、所述第二参数以及所述第三参数确定。5.根据权利要求4所述的除法运算装置,其特征在于,所述第一参数根据与所述除法运算装置协作的乘法运算装置的接口规格确定。6.根据权利要求5所述的除法运算装置,其特征在于,所述除数的位宽通过对以所述第一参数为底的所述除数的对数进行向下取整操作再加一得到。7.根据权利要求6所述的除法运算装置,其特征在于,所述第二参数和所述第三参数分别根据所述除数的位宽的变化而变化。8.根据权利要求7所述的除法运算装置,其特征在于,所述第二参数和所述第三参数分别根据所述除数的位宽的变化而变化,包括:当所述除数的位宽的变化在预设范围内时,所述第二参数和所述第三参数分别保持不
变。9.根据权利要求8所述的除法运算装置,其特征在于,所述除法运算装置通过调整所述第二参数和所述第三参数来调节所述除法运算结果的精度。10.根据权利要求1至9中任一项所述的除法运算装置,其特征在于,所述除法运算装置还包括加法器,其中,所述加法器配置成对所述第二移位器的输出结果进行加一运算操作从而得到所述除法运算结果。11.一种除法运算方法,其特征在于,所述方法包括:根据除数,第一参数,第二参数以及位宽计算主参数,其中,所述位宽根据所述第一参数和所述除数确定;将被除数向右移位第一固定位数得到中间结果,其中,所述第一固定位数根据所述第一参数,所述位宽以及第三参数确定;对所述中间结果和所述主参数进行乘法运算得到乘法运算结果;以及将所述乘法运算结果向右移位第二固定位数后再加上正整数1得到所述被除数和所述除数的商,其中,所述第二固定位数根据所述第一参数,所述位宽,所述第二参数以及所述第三参数确定,其中,所述第二参数和所述第三参数分别根据所述位宽的变化而变化,所述第二参数和所述第三参数可以被调整以便调节所述除法运算结果的精度。12.根据权利要求11所述的除法运算方法,其特征在于,所述位宽根据所述第一参数和所述除数确定,包括:所述位宽通过对以所述第一参数为底的所述除数的对数进行向下取整操作再加一得到。13.根据权利要求12所述的除法运算方法,其特征在于,所述第二参数和所述第三参数分别根据所述位宽的变化而变化,包括:当所述除数的位宽的变化在预设范围内时,所述第二参数和所述第三参数分别保持不变。14.根据权利要求11至13中任一...

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

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

1