[go: up one dir, main page]

CN112200713B - 一种联邦学习中的业务数据处理方法、装置以及设备 - Google Patents

一种联邦学习中的业务数据处理方法、装置以及设备 Download PDF

Info

Publication number
CN112200713B
CN112200713B CN202011173171.6A CN202011173171A CN112200713B CN 112200713 B CN112200713 B CN 112200713B CN 202011173171 A CN202011173171 A CN 202011173171A CN 112200713 B CN112200713 B CN 112200713B
Authority
CN
China
Prior art keywords
homomorphic
digits
integer
integers
fragment
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.)
Active
Application number
CN202011173171.6A
Other languages
English (en)
Other versions
CN112200713A (zh
Inventor
张君涛
周启贤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202011173171.6A priority Critical patent/CN112200713B/zh
Publication of CN112200713A publication Critical patent/CN112200713A/zh
Application granted granted Critical
Publication of CN112200713B publication Critical patent/CN112200713B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

本说明书实施例公开了一种联邦学习中的业务数据处理方法、装置以及设备。方案包括:确定联邦学习中的所要执行的同态操作;根据联邦学习的参与方提供的业务数据,确定同态操作所要使用的整数参数;将整数参数转换为多个片段整数,片段整数的位数少于整数参数的位数;通过GPU获取多个片段整数,根据多个片段整数,为GPU的多个算术逻辑单元分配相应的同态乘法和/或同态加法,以通过相应的多个GPU线程并行执行,完成同态操作。

Description

一种联邦学习中的业务数据处理方法、装置以及设备
技术领域
本说明书涉及计算机软件技术领域,尤其涉及一种联邦学习中的业务数据处理方法、装置以及设备。
背景技术
联邦学习是近年来逐步被推广以及应用的一种隐私保护机器学习方案,其能有效帮助多个机构在满足用户隐私保护、数据安全和法律法规的要求下,进行数据使用和机器学习建模。
联邦学习在原始数据不出域的情况下,利用多参与方之间同步训练的中间结果以及梯度信息,实现联合进行模型训练以及预测的目的。联邦学习为了保护用户隐私可以对相关业务数据进行同态加密,在这种情况下,还需要对同态加密的结果进一步地进行计算,目前联邦学习中的这些计算往往是位数很大的整数(称之为大整数)的计算,大整数比如达到1024比特或者2048比特,甚至更高的位数。
基于此,需要能够更有效率实现联邦学习的方案。
发明内容
本说明书一个或多个实施例提供一种联邦学习中的业务数据处理方法、装置、设备以及存储介质,用以解决如下技术问题:需要能够更有效率实现联邦学习的方案。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
本说明书一个或多个实施例提供的一种联邦学习中的业务数据处理方法,包括:
确定联邦学习中的所要执行的同态操作;
根据所述联邦学习的参与方提供的业务数据,确定所述同态操作所要使用的整数参数;
将所述整数参数转换为多个片段整数,所述片段整数的位数少于所述整数参数的位数;
通过图形处理器(Graphics Processing Unit,GPU)获取所述多个片段整数,根据所述多个片段整数,为所述GPU的多个算术逻辑单元分配相应的同态乘法和/或同态加法,以通过相应的多个GPU线程并行执行,完成所述同态操作。
本说明书一个或多个实施例提供的一种联邦学习中的业务数据处理装置,包括:
同态操作确定模块,确定联邦学习中的所要执行的同态操作;
整数参数确定模块,根据所述联邦学习的参与方提供的业务数据,确定所述同态操作所要使用的整数参数;
整数参数转换模块,将所述整数参数转换为多个片段整数,所述片段整数的位数少于所述整数参数的位数;
同态操作执行模块,通过GPU获取所述多个片段整数,根据所述多个片段整数,为所述GPU的多个算术逻辑单元分配相应的同态乘法和/或同态加法,以通过相应的多个GPU线程并行执行,完成所述同态操作。
本说明书一个或多个实施例提供的一种联邦学习中的业务数据处理设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
确定联邦学习中的所要执行的同态操作;
根据所述联邦学习的参与方提供的业务数据,确定所述同态操作所要使用的整数参数;
将所述整数参数转换为多个片段整数,所述片段整数的位数少于所述整数参数的位数;
通过GPU获取所述多个片段整数,根据所述多个片段整数,为所述GPU的多个算术逻辑单元分配相应的同态乘法和/或同态加法,以通过相应的多个GPU线程并行执行,完成所述同态操作。
本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
确定联邦学习中的所要执行的同态操作;
根据所述联邦学习的参与方提供的业务数据,确定所述同态操作所要使用的整数参数;
将所述整数参数转换为多个片段整数,所述片段整数的位数少于所述整数参数的位数;
通过GPU获取所述多个片段整数,根据所述多个片段整数,为所述GPU的多个算术逻辑单元分配相应的同态乘法和/或同态加法,以通过相应的多个GPU线程并行执行,完成所述同态操作。
本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:对于联邦学习中要进行同态操作的大整数参数,可以将大整数参数转换为多个位数更少的片段整数,从而能够据此生成相应的小整数批量计算任务,在GPU中通过多算术逻辑单元多线程并行执行,如此,有效发挥了GPU对于位数较少的小整数批量计算任务执行效率高的优点,降低了GPU的大整数计算负担,有助于加快同态操作速度,更有效率地实现联邦学习,能够为用户提供隐私保护。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例提供的一种联邦学习中的业务数据处理方法的流程示意图;
图2为本说明书一个或多个实施例提供的一种纵向联邦学习的原理示意图;
图3为本说明书一个或多个实施例提供的一种横向联邦学习的原理示意图;
图4为本说明书一个或多个实施例提供的一种应用场景下,对整数参数进行递归转换的过程示意图;
图5为本说明书一个或多个实施例提供的一种联邦学习中的业务数据处理装置的结构示意图;
图6为本说明书一个或多个实施例提供的一种联邦学习中的业务数据处理设备的结构示意图。
具体实施方式
本说明书实施例提供一种联邦学习中的业务数据处理方法、装置、设备以及存储介质。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
在说明书一个或多个实施例中,考虑到GPU的性能发展迅速,适合执行大量的计算任务,而联邦学习中需要频繁地执行同态操作,这些同态操作包含大量的计算任务,基于此,将GPU应用于联邦学习中,用于加速联邦学习中的同态操作,进而提高联邦学习效率。
例如,联邦学习中对多参与方分散提供的梯度信息的明文进行同态加密,以提供隐私保护,还可以进一步地针对密文执行同态乘法或者同态加法等同态计算,以得到总体的梯度信息用于训练。其中,同态计算是一种密文域的计算方式,它允许对密文进行特定形式的代数计算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的计算结果一样。
同态操作中通常包含大量的大整数计算,而GPU往往不擅长处理大整数计算,其大整数计算效率未必能够达到实际需求,基于此,本说明书的方案将待参与计算过程的大整数(比如,1024比特的整数、2048比特的整数等)参数转换为位数更少的整数,甚至还可以按照同样的转换思路,递归地将这些位数更少的整数再转换,以进一步地缩减位数,从而能够将大整数计算分解为多个小整数(比如,16比特的整数、32比特的整数等)计算,再由GPU执行多个小整数计算并合并计算结果,小整数计算,尤其小整数批量计算是GPU所擅长的,GPU对于小整数批量计算任务的执行效率高,因此,通过这样的处理,能够有效降低GPU的大整数计算负担,提高总体的计算效率,后面进行具体说明。
这样的思路不仅适用于用GPU加速联邦学习的场景,还适用于其他一些为大整数计算效率瓶颈所困的场景。下面基于这样的思路,以联邦学习的场景为例具体进行说明。
图1为本说明书一个或多个实施例提供的一种联邦学习中的业务数据处理方法的流程示意图。联邦学习中涉及对多方的数据进行阶段性统合,或者进行最终统合,图1中的流程的执行主体比如为这些统合的操作方的计算设备。
图1中的流程可以包括以下步骤:
S102:确定联邦学习中的所要执行的同态操作。
在本说明书一个或多个实施例中,同态操作可以包括对明文执行的同态加密操作,也可以包括对密文进一步执行的诸如同态乘法、同态加法等同态计算。对于联邦学习而言,列举的这些同态操作往往都有涉及,则根据实际需求,通过执行步骤S102,在这些同态操作中指定至少一种同态操作,并为其实施后续流程。
S104:根据所述联邦学习的参与方提供的业务数据,确定所述同态操作所要使用的整数参数。
在本说明书一个或多个实施例中,业务数据比如为用户在某个业务领域的特征向量。特征向量本身,或者对特征向量进一步处理(比如,同态加密,以提供隐私保护)得到的中间结果,可以作为同态操作所要使用的整数参数。以同态乘法这种同态操作为例,则同态乘法要使用的整数参数为被乘数和/或乘数,需要说明的是,假定原始的被乘数和/或乘数包含小数,也可以通过移位操作,将小数部分转换为整数再处理,这并不妨碍上述思路的继续实施。
S106:将所述整数参数转换为多个片段整数,所述片段整数的位数少于所述整数参数的位数。
在本说明书一个或多个实施例中,对于一些计算设备而言,处理普通的大整数计算效率较低,但是,处理某些具有特殊性的整数甚至大整数的计算却仍然能够达到不错的效率。可以基于这类特征性,对整数参数进行转换。这类特殊性比如是:整数为2的幂、包含较多的连续的0(尤其是末尾的多个二进制数位均为零)、各个数位有周期性变化规律、数字为1的二进制数位很少等。
在本说明书一个或多个实施例中,通过拆分出的多个片段整数,能够还原出之前的整数参数而不丢失信息,以避免给后续同态操作的执行引入误差。
在本说明书一个或多个实施例中,在误差可接受范围内,也可以有损地转换整数参数,以换来计算效率的提升。比如,若整数参数的末尾有少量的二进制数位1,可以考虑将这些1转换为0,更便于处理;再比如,若整数参数的有连续的二进制数位为1的序列,可以考虑在该序列的最后一位上加1,从而该序列进1位,首位为1,后面全部为0,更便于处理。
进一步地,若对整数参数进行了有损转换,则在后续的训练过程中可以给予相应的补偿,以减少误差。比如,减少对应部分的训练数据的权重;再比如,将基于有损转换对应生成的训练数据作为一部分样本,对该整数参数再反向地(比如,原来将整数参数调大了,那么此时就将整数参数调小)进行有损转换,对应生成的训练数据作为该一部分样本的补偿样本,既使用一部分样本也使用其补偿样本进行训练。
在本说明书一个或多个实施例中,对整数参数的转换可以通过迭代处理,执行多次。比如,先将整数参数转换为位数减少的若干个片段整数,再迭代地将这若干个片段整数转换为位数进一步减少的更多个片段整数。具体的迭代次数可以参考计算设备的能力决定,比如,计算设备执行16比特整数的同态计算的效率相对最高,则可以将整数参数迭代转换为多个16比特的片段整数。
S108:通GPU获取所述多个片段整数,根据所述多个片段整数,为所述GPU的多个算术逻辑单元分配相应的同态乘法和/或同态加法,以通过相应的多个GPU线程并行执行,完成所述同态操作。
在本说明书一个或多个实施例中,根据片段整数,将整数参数在同态操作中的计算步骤转换成片段整数的计算步骤,通过执行片段整数的计算步骤,得到同态操作结果,该同态操作结果与直接用整数参数得出的同态操作相同或者近似。具体怎样的近似程度可以接受取决于实际需求,这里做不限定。
在实际应用中,相比于中央处理器(Central Processing Unit,CPU),GPU中的控制逻辑单元少,却有大量的逻辑运算单元以及大量的GPU线程,适合高效地并行执行批量计算任务。尤其对于位数较少的小整数批量计算任务而言,任务数量多,单个任务计算量少,则能够并行占用更多的逻辑运算单元和GPU线程,从而,提高总体的计算效率,即前面提到的GPU具有小整数批量计算任务执行效率高的优点。
同态操作包含大整数计算,若直接执行大整数计算,则执行线程数量少甚至可能是单线程执行,并行性差,计算效率低。基于此,根据片段整数,将大整数计算任务分解为批量小整数任务,利用GPU来执行,充分地发挥了GPU的上述优点。
具体地,可以在GPU中根据多个片段整数和同态操作的步骤,生成批量计算任务集合,批量计算任务集合中的计算任务包括由至少两个片段整数参与的同态乘法和/或同态加法;将所述批量计算任务集合拆分后,分配给所述GPU的多个算术逻辑单元;通过这些算术逻辑单元及相应的线程执行批量计算任务集合,完成同态操作。需要说明的是,除了批量计算任务集合以外,同态操作还可以包含更多的计算任务,比如,对批量计算任务的结果进行整合的任务、不涉及片段整数的其他任务等。
当然,将整数参数转换为多个片段整数的步骤同样也可以在GPU中执行。上述基于GPU的方案,相比于一些方案中利用CPU进行联邦学习,效率更高,能够进一步地加速联邦学习,解放CPU,使得CPU更专注于其所擅长的逻辑控制等处理工作,实现了资源的优化配置。
在本说明书一个或多个实施例中,执行同态操作之后,若同态操作的结果包含训练数据或者梯度信息,则可以用于训练联邦学习对应的机器学习模型,从而有助于提高训练效率。
通过图1的方法,对于联邦学习中要进行同态操作的大整数参数,可以将大整数参数转换为多个位数更少的片段整数,从而能够据此生成相应的小整数批量计算任务,在GPU中通过多算术逻辑单元多线程并行执行,如此,有效发挥了GPU对于位数较少的小整数批量计算任务执行效率高的优点,降低了GPU的大整数计算负担,有助于加快同态操作速度,更有效率地实现联邦学习,能够为用户提供隐私保护。
基于图1的方法,本说明书还提供了该方法的一些具体实施方案和扩展方案,下面继续进行说明。
联邦学习目前有纵向联邦学习和横向联邦学习这两种类型。以两个参与方参与联邦学习为例,参与方分别提供一个数据集,得到共两个数据集,用于训练联邦学习的对应的机器学习模型。
在这两个数据集的用户重叠较多而用户特征重叠较少的情况下,可以将数据集按照纵向(比如,特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练,这种学习方案属于纵向联邦学习。
在这两个数据集的用户特征重叠较多而用户重叠较少的情况下,可以将数据集按照横向(比如,用户维度)切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练,这种学习方案属于横向联邦学习。
当然,对于更多的数据提供方提供更多的数据集的训练场景也是类似的,可以对照上面的两种类型选择合适的学习方案。
联邦学习类型不同,具体涉及的同态操作也有所区别。结合图2、图3进行说明。
图2为本说明书一个或多个实施例提供的一种纵向联邦学习的原理示意图。在图2中,示出了纵向联邦学习的两个参与方A和B,A和B都提供自己的业务数据用于训练联邦学习对应的机器学习模型。A和B在模型训练阶段,将中间计算结果使用同态加密后发送给另一方,利用同态乘法同步两边的梯度信息。由此可见,在模型训练阶段纵向联邦学习至少涉及同态乘法。
图3为本说明书一个或多个实施例提供的一种横向联邦学习的原理示意图。在图3中,示出了横向联邦学习的一个协调方以及三个参与方A、B、C,A、B、C是都数据提供方,提供自己的业务数据用于训练联邦学习对应的机器学习模型,协调方用于统合来自A、B、C的数据。A、B、C在模型训练阶段,在其各自域内进行明文的模型训练,训练后的梯度信息经过同态加密后,发送给协调方,协调方对密文域的数据进行同态加法。由此可见,在模型训练阶段横向联邦学习至少涉及同态加法。
基于此,若联邦学习为横向联邦学习,可以确定联邦学习中的所要执行的同态操作包括同态加法,若联邦学习为纵向联邦学习,则确定联邦学习中的所要执行的同态操作包括同态乘法。
无论是横向联邦学习还是纵向联邦学习,其计算公式并不复杂,但是会重复多次执行,并且数据批量执行,因此适合使用GPU来处理,图2、图3中即是用GPU执行训练涉及的同态乘法和同态加法的。
除了根据联邦学习的类型以外,还可以根据参与方提供的业务数据,确定联邦学习中的所要执行的同态操作。比如,参与方提供的是原始的明文业务数据,为了保护用户隐私,至少要对明文业务数据进行同态加密,则联邦学习中的所要执行的同态操作至少包括同态加密;再比如,参与方其一提供的某用户的一部分维度的业务数据,参与方其二提供的该用户的另一部分维度的业务数据,则后续训练是很有可能需要叠加这些业务数据,以完整地学习该用户的特征,基于此,联邦学习中的所要执行的同态操作有较大可能包括同态加法。
在本说明书一个或多个实施例中,根据整数参数的多个数位,划分出多个数位集合,根据这多个数位集合,将整数参数转换为可还原该整数参数的多个片段整数。这是一种无损的转换过程,能够避免给后续的同态操作结果引入误差。为了便于计算设备处理,这里的数位一般是二进制数位,下面一些实施例也是以二进制数位为例的,当然,若计算设备能力足够,采用2的更高次幂进制的数位也是可以的,比如,八进制数位、十六进制数位等,有助于更简洁地表达和处理整数参数。
划分出多个数位集合的方式是多样的。将连续的数位均分是其中一种典型的划分方式,比如,对于偶数比特(记为N比特,如果是奇数比特,可以不均分或者单拆出1个比特后再均分)的整数参数,从中间分隔,从左算起将前
Figure BDA0002747926850000101
个数位(高位部分)划分为一个数位集合,将后
Figure BDA0002747926850000102
个数位(低位部分)划分为一个数位集合。当然,还可以根据数字相同的连续数位更灵活地划分,比如,在整数参数的一部分连续数位中,首先出现了连续5个1,接下来出现了连续的3个零,然后又出现了连续的6个1,在这种情况下,可以考虑将这5个1、3个零、6个1分别划分为一个数位集合。另外,对于非连续的数位,也可以按照一定的策略划分,比如,将非连续的数字为1的数位分别单独划分为1个数位集合,在后续执行同态操作时,将不同整数参数对应的相同数位统一处理,以提高效率。
在本说明书一个或多个实施例中,确定整数参数的数位的顺序,并在顺序中确定分割点,在分割点之前划分出至少一个非空的数位集合,以及在分割点之后划分出至少一个非空的数位集合。一种简洁的具体划分方式是二分法(分割点尽量位于中间),优点在于:由于是尽量地等粒度进行划分(划分出的同级别的集合包含的数位相同或者基本相同)的,便于迭代地进一步继续划分,能够对应转换得到数位对齐的多个小整数,便于计算设备高效处理。
例如,假定已划分出的多个数位集合中为整数参数的连续数位,数位为二进制数位,进一步地,针对这个多个数位集合中的数位集合,确定该数位集合中的全部数位在整数参数中表示的总数值,若该数位集合中不包含整数参数的最低数位,则将总数值转换为两个片段整数,否则,将总数值作为一个片段整数,其中,两个片段整数中的其中一个是通过将整数参数在全部数位上的数字依次连接得到,另一个是2的m次方,m为整数参数中低于该全部数位的数位数量。将整数参数的位数记作N,则在二分法下,
Figure BDA0002747926850000111
更直观地,根据上一段中的转换方案。假定要进行大整数的乘法计算,记作P*Q,P、Q均为大整数,位数为N。
将P的数位均分,得到高位部分和低位部分分别对应的数位集合,并用相应数位的数字表示,据此将P转换得到:
Figure BDA0002747926850000112
其中,Phigh对应于高位部分,Plow对应于低位部分,Phigh、Plow为P转换得到的片段整数,当然,更完整地,
Figure BDA0002747926850000113
也可以视为P转换得到的片段整数。
为了便于理解,用一个8比特的整数“11001010”作为示例,假定P为该整数,则N=8,Phigh=1100,Plow=1010。
类似地,将Q转换得到:
Figure BDA0002747926850000121
进而,P*Q无损转换为4项位数更少的整数的乘积形式:
Figure BDA0002747926850000122
可以看到,大整数乘法转换为位数更少的整数乘法和整数加法,而诸如2N
Figure BDA0002747926850000123
这样2的幂的项,对于计算设备而言是可以通过移位操作高效计算的,总体上来说,对于诸如GPU等一些计算设备,转换后再计算比不转换直接计算的效率会有提高。比如可以将Phigh*Qhigh、Phigh*Qlow、Plow*Qhigh、Plow*Qlow分别作为计算任务,构成上述的批量计算任务集合,在这种情况下,计算任务包括两个片段整数的乘法运算。
进一步地,按照同样的转换思路,可以将P、Q迭代地多次转换,即,在得到Phigh、Plow、Qhigh、Qlow后,将Phigh、Plow、Qhigh、Qlow分别继续转换为位数更少的整数,以此类推,直至达到预期的位数,比如,16比特或者32比特等,参见图4。
图4为本说明书一个或多个实施例提供的一种应用场景下,对整数参数进行递归转换的过程示意图。
在图4中,对P*Q第一次转换后,得到Phigh*Qhigh、Phigh*Qlow、Plow*Qhigh、Plow*Qlow这4项用于继续迭代转换的乘法计算项。
以Phigh*Qhigh为例,将Phigh转换为
Figure BDA0002747926850000124
将Qhigh转换为
Figure BDA0002747926850000125
则:
Figure BDA0002747926850000126
从而得到Phh*Qhh、Phh*Qhl、Phl*Qhh、Phl*Qhl这4项用于继续迭代转换的乘法计算项,以此类推,可以继续递归转换下去,从而得到更多更小的计算任务,由这些更多更小的计算任务构成更大的批量计算任务集合。
基于同样的思路,本说明书一个或多个实施例还提供了上述方法对应的装置和设备,如图5、图6所示。
图5为本说明书一个或多个实施例提供的一种联邦学习中的业务数据处理装置的结构示意图,图中的虚线方框表示可选的模块,所述装置包括:
同态操作确定模块502,确定联邦学习中的所要执行的同态操作;
整数参数确定模块504,根据所述联邦学习的参与方提供的业务数据,确定所述同态操作所要使用的整数参数;
整数参数转换模块506,将所述整数参数转换为多个片段整数,所述片段整数的位数少于所述整数参数的位数;
同态操作执行模块508,通过GPU获取所述多个片段整数,并在所述GPU中根据所述多个片段整数,通过执行相应的同态乘法和/或同态加法,完成所述同态操作。
可选地,所述同态操作执行模块508,在所述GPU中根据所述多个片段整数和所述同态操作的步骤,生成批量计算任务集合,所述批量计算任务集合中的计算任务包括由至少两个所述片段整数参与的同态乘法和/或同态加法;
通过执行所述批量计算任务集合,完成所述同态操作。
可选地,所述装置还包括:
模型训练模块510,在所述同态操作执行模块508完成所述同态操作之后,根据所述同态操作的结果,训练所述联邦学习对应的机器学习模型。
可选地,所述同态操作确定模块502,根据所述业务数据或者联邦学习的类型,确定所述联邦学习中的所要执行的同态操作。
可选地,所述同态操作确定模块502,若所述联邦学习为纵向联邦学习,则确定所述联邦学习中的所要执行的同态操作包括同态乘法;和/或,
若联邦学习为横向联邦学习,则确定所述联邦学习中的所要执行的同态操作包括同态加法。
可选地,所述整数参数转换模块506,具体包括:
数位集合划分模块5062,根据所述整数参数的多个数位,划分出多个数位集合;
片段整数生成模块5064,根据所述多个数位集合,将所述整数参数转换为可还原所述整数参数的多个片段整数。
可选地,所述数位集合划分模块5062,确定所述整数参数的数位的顺序,并在所述顺序中确定分割点;
在所述分割点之前划分出至少一个非空的数位集合,以及在所述分割点之后划分出至少一个非空的数位集合。
可选地,所述数位集合中为所述整数参数的连续数位,所述数位为二进制数位;
所述片段整数生成模块5064,针对所述多个数位集合中的数位集合,确定该数位集合中的全部数位在所述整数参数中表示的总数值;
若该数位集合中不包含所述整数参数的最低数位,则将所述总数值转换为两个片段整数,否则,将所述总数值作为一个片段整数;
其中,所述两个片段整数中的其中一个是通过将所述整数参数在所述全部数位上的数字依次连接得到,另一个是2的m次方,m为所述整数参数中低于所述全部数位的数位数量。
可选地,所述整数参数转换模块506,在所述片段整数生成模块5064将所述总数值转换为两个片段整数之后,或者将所述总数值作为一个片段整数后,还执行:
通过迭代处理,将已得到的片段整数转换为位数更少的片段整数。
可选地,所述装置还包括:
同态加密模块512,在所述同态操作执行模块508根据所述多个片段整数,完成所述同态操作之前,通过同态加密,对所述业务数据进行保护。
图6为本说明书一个或多个实施例提供的一种联邦学习中的业务数据处理设备的结构示意图,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
确定联邦学习中的所要执行的同态操作;
根据所述联邦学习的参与方提供的业务数据,确定所述同态操作所要使用的整数参数;
将所述整数参数转换为多个片段整数,所述片段整数的位数少于所述整数参数的位数;
通过GPU获取所述多个片段整数,并在所述GPU中根据所述多个片段整数,通过执行相应的同态乘法和/或同态加法,完成所述同态操作。
处理器与存储器之间可以通过总线通信,设备还可以包括与其他设备通信的输入/输出接口。
基于同样的思路,本说明书一个或多个实施例还提供了对应于上述方法的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
确定联邦学习中的所要执行的同态操作;
根据所述联邦学习的参与方提供的业务数据,确定所述同态操作所要使用的整数参数;
将所述整数参数转换为多个片段整数,所述片段整数的位数少于所述整数参数的位数;
通过GPU获取所述多个片段整数,并在所述GPU中根据所述多个片段整数,通过执行相应的同态乘法和/或同态加法,完成所述同态操作。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (21)

1.一种联邦学习中的业务数据处理方法,包括:
确定联邦学习中的所要执行的同态操作;
根据所述联邦学习的参与方提供的业务数据,确定所述同态操作所要使用的整数参数;
将所述整数参数转换为多个片段整数,所述片段整数的位数少于所述整数参数的位数,所述片段整数是根据数字相同的数位划分的,所述数位为二进制数位,有损失地转换所述整数参数,包括:若所述整数参数的末尾有少量的二进制数位1,考虑将这些1转换为0;或者,若所述整数参数有连续的二进制数位为1的序列,考虑在该序列的最后一位上加1,从而该序列进1位;
在后续的训练过程中给予相应的补偿,包括:减少对应部分的训练数据的权重;或者,将基于有损转换对应生成的训练数据作为一部分样本,对所述整数参数再反向地进行有损转换,对应生成的训练数据作为该一部分样本的补偿样本,既使用该一部分样本也使用其补偿样本进行训练;
通过图形处理器GPU获取所述多个片段整数,根据所述多个片段整数,为所述GPU的多个算术逻辑单元分配相应的同态乘法和/或同态加法,以通过相应的多个GPU线程并行执行,完成所述同态操作。
2.如权利要求1所述的方法,所述根据所述多个片段整数,为所述GPU的多个算术逻辑单元分配相应的同态乘法和/或同态加法,具体包括:
在所述GPU中根据所述多个片段整数和所述同态操作的步骤,生成批量计算任务集合,所述批量计算任务集合中的计算任务包括由至少两个所述片段整数参与的同态乘法和/或同态加法;
将所述批量计算任务集合拆分后,分配给所述GPU的多个算术逻辑单元。
3.如权利要求1所述的方法,所述完成所述同态操作之后,所述方法还包括:
根据所述同态操作的结果,训练所述联邦学习对应的机器学习模型。
4.如权利要求1所述的方法,所述确定联邦学习中的所要执行的同态操作,具体包括:
根据所述业务数据或者联邦学习的类型,确定所述联邦学习中的所要执行的同态操作。
5.如权利要求4所述的方法,所述根据联邦学习的类型,确定所述联邦学习中的所要执行的同态操作,具体包括:
若所述联邦学习为纵向联邦学习,则确定所述联邦学习中的所要执行的同态操作包括同态乘法;和/或,
若联邦学习为横向联邦学习,则确定所述联邦学习中的所要执行的同态操作包括同态加法。
6.如权利要求1所述的方法,所述将所述整数参数转换为多个片段整数,具体包括:
根据所述整数参数的多个数位,划分出多个数位集合;
根据所述多个数位集合,将所述整数参数转换为可还原所述整数参数的多个片段整数。
7.如权利要求6所述的方法,所述根据所述整数参数的多个数位,划分出多个数位集合,具体包括:
确定所述整数参数的数位的顺序,并在所述顺序中确定分割点;
在所述分割点之前划分出至少一个非空的数位集合,以及在所述分割点之后划分出至少一个非空的数位集合。
8.如权利要求6所述的方法,所述数位集合中为所述整数参数的连续数位,所述数位为二进制数位;
所述根据所述多个数位集合,将所述整数参数转换为可还原所述整数参数的多个片段整数,具体包括:
针对所述多个数位集合中的数位集合,确定该数位集合中的全部数位在所述整数参数中表示的总数值;
若该数位集合中不包含所述整数参数的最低数位,则将所述总数值转换为两个片段整数,否则,将所述总数值作为一个片段整数;
其中,所述两个片段整数中的其中一个是通过将所述整数参数在所述全部数位上的数字依次连接得到,另一个是2的m次方,m为所述整数参数中低于所述全部数位的数位数量。
9.如权利要求8所述的方法,所述将所述总数值转换为两个片段整数之后,或者所述将所述总数值作为一个片段整数后,所述方法还包括:
通过迭代处理,将已得到的片段整数转换为位数更少的片段整数。
10.如权利要求1~9任一项所述的方法,所述完成所述同态操作之前,所述方法还包括:
对所述业务数据进行同态加密,以提供隐私保护。
11.一种联邦学习中的业务数据处理装置,包括:
同态操作确定模块,确定联邦学习中的所要执行的同态操作;
整数参数确定模块,根据所述联邦学习的参与方提供的业务数据,确定所述同态操作所要使用的整数参数;
整数参数转换模块,将所述整数参数转换为多个片段整数,所述片段整数的位数少于所述整数参数的位数,所述片段整数是根据数字相同的数位划分的,所述数位为二进制数位,有损失地转换所述整数参数,包括:若所述整数参数的末尾有少量的二进制数位1,考虑将这些1转换为0;或者,若所述整数参数有连续的二进制数位为1的序列,考虑在该序列的最后一位上加1,从而该序列进1位;
在后续的训练过程中给予相应的补偿,包括:减少对应部分的训练数据的权重;或者,将基于有损转换对应生成的训练数据作为一部分样本,对所述整数参数再反向地进行有损转换,对应生成的训练数据作为该一部分样本的补偿样本,既使用该一部分样本也使用其补偿样本进行训练;
同态操作执行模块,通过图形处理器GPU获取所述多个片段整数,根据所述多个片段整数,为所述GPU的多个算术逻辑单元分配相应的同态乘法和/或同态加法,以通过相应的多个GPU线程并行执行,完成所述同态操作。
12.如权利要求11所述的装置,所述同态操作执行模块,在所述GPU中根据所述多个片段整数和所述同态操作的步骤,生成批量计算任务集合,所述批量计算任务集合中的计算任务包括由至少两个所述片段整数参与的同态乘法和/或同态加法;
将所述批量计算任务集合拆分后,分配给所述GPU的多个算术逻辑单元。
13.如权利要求11所述的装置,所述装置还包括:
模型训练模块,在所述同态操作执行模块完成所述同态操作之后,根据所述同态操作的结果,训练所述联邦学习对应的机器学习模型。
14.如权利要求11所述的装置,所述同态操作确定模块,根据所述业务数据或者联邦学习的类型,确定所述联邦学习中的所要执行的同态操作。
15.如权利要求14所述的装置,所述同态操作确定模块,若所述联邦学习为纵向联邦学习,则确定所述联邦学习中的所要执行的同态操作包括同态乘法;和/或,
若联邦学习为横向联邦学习,则确定所述联邦学习中的所要执行的同态操作包括同态加法。
16.如权利要求11所述的装置,所述整数参数转换模块,具体包括:
数位集合划分模块,根据所述整数参数的多个数位,划分出多个数位集合;
片段整数生成模块,根据所述多个数位集合,将所述整数参数转换为可还原所述整数参数的多个片段整数。
17.如权利要求16所述的装置,所述数位集合划分模块,确定所述整数参数的数位的顺序,并在所述顺序中确定分割点;
在所述分割点之前划分出至少一个非空的数位集合,以及在所述分割点之后划分出至少一个非空的数位集合。
18.如权利要求16所述的装置,所述数位集合中为所述整数参数的连续数位,所述数位为二进制数位;
所述片段整数生成模块,针对所述多个数位集合中的数位集合,确定该数位集合中的全部数位在所述整数参数中表示的总数值;
若该数位集合中不包含所述整数参数的最低数位,则将所述总数值转换为两个片段整数,否则,将所述总数值作为一个片段整数;
其中,所述两个片段整数中的其中一个是通过将所述整数参数在所述全部数位上的数字依次连接得到,另一个是2的n次方,n为所述整数参数中低于所述全部数位的数位数量。
19.如权利要求18所述的装置,所述整数参数转换模块,在所述片段整数生成模块将所述总数值转换为两个片段整数之后,或者将所述总数值作为一个片段整数后,还执行:
通过迭代处理,将已得到的片段整数转换为位数更少的片段整数。
20.如权利要求11~19任一项所述的装置,所述装置还包括:
同态加密模块,在所述同态操作执行模块完成所述同态操作之前,通过同态加密,对所述业务数据进行保护。
21.一种联邦学习中的业务数据处理设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
确定联邦学习中的所要执行的同态操作;
根据所述联邦学习的参与方提供的业务数据,确定所述同态操作所要使用的整数参数;
将所述整数参数转换为可还原所述整数参数的多个片段整数,所述片段整数的位数少于所述整数参数的位数,所述片段整数是根据数字相同的数位划分的,所述数位为二进制数位,有损失地转换所述整数参数,包括:若所述整数参数的末尾有少量的二进制数位1,考虑将这些1转换为0;或者,若所述整数参数有连续的二进制数位为1的序列,考虑在该序列的最后一位上加1,从而该序列进1位;
在后续的训练过程中给予相应的补偿,包括:减少对应部分的训练数据的权重;或者,将基于有损转换对应生成的训练数据作为一部分样本,对所述整数参数再反向地进行有损转换,对应生成的训练数据作为该一部分样本的补偿样本,既使用该一部分样本也使用其补偿样本进行训练;
通过图形处理器GPU获取所述多个片段整数,根据所述多个片段整数,为所述GPU的多个算术逻辑单元分配相应的同态乘法和/或同态加法,以通过相应的多个GPU线程并行执行,完成所述同态操作。
CN202011173171.6A 2020-10-28 2020-10-28 一种联邦学习中的业务数据处理方法、装置以及设备 Active CN112200713B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011173171.6A CN112200713B (zh) 2020-10-28 2020-10-28 一种联邦学习中的业务数据处理方法、装置以及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011173171.6A CN112200713B (zh) 2020-10-28 2020-10-28 一种联邦学习中的业务数据处理方法、装置以及设备

Publications (2)

Publication Number Publication Date
CN112200713A CN112200713A (zh) 2021-01-08
CN112200713B true CN112200713B (zh) 2023-04-21

Family

ID=74011973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011173171.6A Active CN112200713B (zh) 2020-10-28 2020-10-28 一种联邦学习中的业务数据处理方法、装置以及设备

Country Status (1)

Country Link
CN (1) CN112200713B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113011632B (zh) * 2021-01-29 2023-04-07 招商银行股份有限公司 企业风险评估方法、装置、设备及计算机可读存储介质
CN113259363B (zh) * 2021-05-26 2022-09-02 中国人民解放军战略支援部队信息工程大学 一种隐蔽通信方法及装置
CN113537508B (zh) * 2021-06-18 2024-02-02 百度在线网络技术(北京)有限公司 联邦计算的处理方法、装置、电子设备和存储介质
CN113541921B (zh) * 2021-06-24 2022-06-10 电子科技大学 一种利用gpu来实现全同态加密的方法
CN113407979B (zh) * 2021-08-16 2021-11-26 深圳致星科技有限公司 用于纵向联邦逻辑回归学习的异构加速方法、装置及系统
CN116776293A (zh) * 2023-05-25 2023-09-19 天翼电子商务有限公司 一种基于同态加密的混合联邦逻辑回归方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110955907A (zh) * 2019-12-13 2020-04-03 支付宝(杭州)信息技术有限公司 一种基于联邦学习的模型训练方法
CN111723948A (zh) * 2020-06-19 2020-09-29 深圳前海微众银行股份有限公司 基于演化计算的联邦学习方法、装置、设备及介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367372B2 (en) * 2013-06-18 2016-06-14 Advanced Micro Devices, Inc. Software only intra-compute unit redundant multithreading for GPUs
US10970402B2 (en) * 2018-10-19 2021-04-06 International Business Machines Corporation Distributed learning preserving model security
CN111563267B (zh) * 2020-05-08 2024-04-05 京东科技控股股份有限公司 用于联邦特征工程数据处理的方法和装置
CN111371544B (zh) * 2020-05-27 2020-09-08 支付宝(杭州)信息技术有限公司 基于同态加密的预测方法、装置、电子设备及存储介质
CN111831330B (zh) * 2020-07-10 2022-02-01 深圳致星科技有限公司 用于联邦学习的异构计算系统设备交互方案
CN111813526A (zh) * 2020-07-10 2020-10-23 深圳致星科技有限公司 用于联邦学习的异构处理系统、处理器及任务处理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110955907A (zh) * 2019-12-13 2020-04-03 支付宝(杭州)信息技术有限公司 一种基于联邦学习的模型训练方法
CN111723948A (zh) * 2020-06-19 2020-09-29 深圳前海微众银行股份有限公司 基于演化计算的联邦学习方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112200713A (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
CN112200713B (zh) 一种联邦学习中的业务数据处理方法、装置以及设备
CN112199707B (zh) 一种同态加密中的数据处理方法、装置以及设备
Roy et al. FPGA-based high-performance parallel architecture for homomorphic computing on encrypted data
US11159305B2 (en) Homomorphic data decryption method and apparatus for implementing privacy protection
CN112162723B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
US10153894B2 (en) Homomorphic encryption with optimized encoding
US20170180115A1 (en) Homomorphic Encryption with Optimized Homomorphic Operations
CN110348231A (zh) 实现隐私保护的数据同态加解密方法及装置
JP2017515195A (ja) 断熱量子計算を介してデジタル論理制約問題を解く
US20190235834A1 (en) Optimization apparatus and control method thereof
RU2698764C2 (ru) Электронное вычислительное устройство для выполнения замаскированных арифметических действий
RU2701716C2 (ru) Электронное вычислительное устройство для выполнения арифметики с обфускацией
CN113467750A (zh) 用于基数为4的srt算法的大整数位宽除法电路及方法
CN117435855B (zh) 用于进行卷积运算的方法、电子设备和存储介质
CN113467752B (zh) 用于隐私计算的除法运算装置、数据处理系统及方法
CN112434317A (zh) 数据处理方法、装置、设备及存储介质
CN115344236B (zh) 多项式乘法运算方法、多项式乘法器、设备及介质
CN116679905A (zh) 一种基于bram的迭代型ntt交错存储系统
CN115834018A (zh) 一种保护隐私的多方数据处理方法、系统和设备
CN112214200B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
CN112162724B (zh) 一种带精度的量子除法运算方法及装置
CN110209397B (zh) 一种数据处理方法、装置及系统
CN113554163B (zh) 卷积神经网络加速器
US9762285B1 (en) Compression using mu-law approximation
RU2559771C2 (ru) Устройство для основного деления модулярных чисел

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40044438

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant