CN117725621A - 数据处理方法、装置、设备及可读存储介质 - Google Patents

数据处理方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN117725621A
CN117725621A CN202410177138.2A CN202410177138A CN117725621A CN 117725621 A CN117725621 A CN 117725621A CN 202410177138 A CN202410177138 A CN 202410177138A CN 117725621 A CN117725621 A CN 117725621A
Authority
CN
China
Prior art keywords
arithmetic
expansion
factors
slices
fragments
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.)
Granted
Application number
CN202410177138.2A
Other languages
English (en)
Other versions
CN117725621B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202410177138.2A priority Critical patent/CN117725621B/zh
Publication of CN117725621A publication Critical patent/CN117725621A/zh
Application granted granted Critical
Publication of CN117725621B publication Critical patent/CN117725621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本申请公开了一种数据处理方法、装置、设备及可读存储介质,该方法包括:基于截断因子对目标算术分片进行截断处理,得到基础算术分片,对基础算术分片进行多项式展开,得到M个展开因子以及M个展开因子分别对应的系数因子;将M个展开因子与M个展开因子分别对应的系数因子进行分片乘法运算,得到M个邻项展开分片,将M个邻项展开分片的分片加法运算结果确定为待还原算术分片;对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片;K为截断因子的数值,指数算术分片用于为联邦模型提供针对业务数据的计算服务。采用本申请,可以在保证计算服务的精度的同时,提高计算服务的效率。

Description

数据处理方法、装置、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及可读存储介质。
背景技术
随着越来越多的人意识到大模型中的隐私问题,业界开始尝试一些隐私保护方法来实现享受大模型服务的同时,避免敏感数据的泄漏。目前研究得比较多的是在大模型的问答服务下,基于秘密分享的两方安全计算来保护问题不被泄漏并且得到应有的回答。
由于大模型参数量庞大,结构比较复杂,基于秘密分享的实现方式并不高效,在现有联邦模型的训练过程中,涉及浮点数的两方分片指数运算是一个重要的基本运算。现有指数运算的近似算法包括基于混淆电路的近似算法和基于泰勒展开式的近似算法,在基于混淆电路的近似算法中,每个与门逻辑需要用两个64比特刻画,单个分片指数运算就需要极高的通信成本以及存储成本,不适合大规模数据的计算,计算效率低。
在基于泰勒展开式的近似算法中,泰勒展开式只适合在0附近的小区间计算,例如在[-1,1]区间,在大规模数据的计算中,泰勒展开式在区间比较大时,精度下降非常明显,甚至不准确,所需计算的展开式数量也会增多,计算效率也会降低。
发明内容
本申请实施例提供了一种数据处理方法、装置、设备及可读存储介质,可以在保证计算服务的精度的同时,提高计算服务的效率。
本申请实施例一方面提供了一种数据处理方法,包括:
获取业务数据对应的目标算术分片以及截断因子;截断因子是基于业务数据的取值范围所确定的,业务数据用于参与训练联邦模型;
基于截断因子对目标算术分片进行截断处理,得到基础算术分片,对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子;M为正整数;
将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片,将M个邻项展开分片的分片加法运算结果确定为待还原算术分片;
对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片;K为截断因子的数值,指数算术分片用于为联邦模型提供针对业务数据的计算服务。
其中,基于截断因子对目标算术分片进行截断处理,得到基础算术分片,包括:
对目标算术分片裁剪K个比特位,得到基础算术分片;K为截断因子的数值,目标算术分片为基础算术分片的
其中,M-1个展开因子包括展开因子,M个系数因子包括系数因子;i为非负整数;
对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子,包括:
获取拉伸因子和N个阶乘系数;N为M的两倍数值,拉伸因子是基于业务数据的位宽长度所确定的,N个阶乘系数为自然对数的指数运算展开式的前N项的系数;
基于拉伸因子和N个阶乘系数迭代生成M-1个展开因子,基于基础算术分片和N个阶乘系数,生成M个系数因子。
其中,M-1个展开因子包括展开因子,基于拉伸因子和N个阶乘系数迭代生成M-1个展开因子,包括:
基于拉伸因子对基础算术分片进行分片乘法运算,得到展开因子,基于拉伸因子对展开因子进行分片乘法运算,得到展开因子,继续基于拉伸因子对展开因子进行分片乘法运算,直至获取到M-1个展开因子。
其中,N个阶乘系数包括阶乘系数,M个系数因子包括系数因子,j为非负整数,j为i的两倍数值;基于基础算术分片和N个阶乘系数,生成M个系数因子,包括:
对阶乘系数进行浮点数编码,得到第一计算因子;
获取阶乘系数对应的算术分片,将阶乘系数对应的算术分片确定为编码计算因子,对基础算术分片与编码计算因子进行分片乘法运算,得到第二计算因子;
对第一计算因子与第二计算因子进行分片加法运算,得到系数因子
其中,阶乘系数包括阶乘系数,将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片,包括:
将阶乘系数所对应的系数因子确定为邻项展开分片;阶乘系数为自然对数的指数运算展开式的第一项的系数;
将M-1个展开因子与M-1个系数因子进行分片乘法运算,得到M-1个邻项展开分片;M-1个系数因子为M个系数因子除系数因子之外的系数因子。
其中,获取阶乘系数对应的算术分片,将阶乘系数对应的算术分片确定为编码计算因子,包括:
基于拉伸因子对阶乘系数进行浮点数编码,得到拉伸编码值,对拉伸编码值进行算术分片处理,得到编码计算因子和交互算术分片;拉伸编码值是整数环中的元素,编码计算因子与交互算术分片的分片加法运算结果为拉伸编码值。
其中,对待还原算术分片迭代进行K次分片乘法运算,得到目标算术分片对应的指数算术分片,包括:
基于拉伸因子对待还原算术分片进行分片乘法运算,得到迭代算术分片,基于拉伸因子对迭代算术分片进行分片乘法运算,得到新的迭代算术分片,继续基于拉伸因子对新的迭代算术分片进行分片乘法运算,直至迭代次数达到K次,将第K次迭代得到的迭代算术分片确定为目标算术分片对应的指数算术分片。
其中,业务数据的数量为S,S为正整数;方法还包括:
获取S个业务数据分别对应的业务算术分片,将数值最大的业务数据所对应的业务算术分片确定为上限算术分片,将上限算术分片与每个业务算术分片之间的分片减法运算结果,确定为S个待选择算术分片,在S个待选择算术分片中获取目标算术分片。
其中,将数值最大的业务数据所对应的业务算术分片确定为上限算术分片,包括:
在S个业务算术分片中随机确定初始算术分片以及比较算术分片,将初始算术分片以及比较算术分片确定为待比较分片组,对待比较分片组进行分片比较运算,得到较大算术分片;
在除初始算术分片以及比较算术分片之外的业务算术分片中随机获取新的比较算术分片,将较大算术分片和新的比较算术分片确定为新的待比较分片组,对新的待比较分片组进行分片比较运算,得到新的较大算术分片,直至遍历完S个业务算术分片,将最后得到的较大算术分片确定为上限算术分片;上限算术分片为S个业务算术分片之中数值最大的业务数据所对应的算术分片。
其中,还包括:
在除目标算术分片之外的待选择算术分片中继续确定新的目标算术分片,生成新的目标算术分片对应的指数算术分片,直至遍历完S个待选择算术分片,得到S个指数算术分片;
将S个指数算术分片的分片加法运算结果,确定为累加算术分片,将S个指数算术分片分别与累加算术分片进行分片除法运算,得到S个分布算术分片;S个分布算术分片用于指示S个业务数据的概率分布。
本申请实施例一方面提供了一种数据处理装置,包括:
分片获取模块,用于获取业务数据对应的目标算术分片以及截断因子;截断因子是基于业务数据的取值范围所确定的,业务数据用于参与训练联邦模型;
分片展开模块,用于基于截断因子对目标算术分片进行截断处理,得到基础算术分片,对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子;M为正整数;
分片处理模块,用于将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片,将M个邻项展开分片的分片加法运算结果确定为待还原算术分片;
分片还原模块,用于对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片;K为截断因子的数值,指数算术分片用于为联邦模型提供针对业务数据的计算服务。
在一种可能的实现方式中,分片展开模块用于基于截断因子对目标算术分片进行截断处理,得到基础算术分片时,具体用于执行以下操作:
对目标算术分片裁剪K个比特位,得到基础算术分片;K为截断因子的数值,目标算术分片为基础算术分片的
在一种可能的实现方式中,M-1个展开因子包括展开因子,M个系数因子包括系数因子;i为非负整数;分片展开模块用于对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子时,具体用于执行以下操作:
获取拉伸因子和N个阶乘系数;N为M的两倍数值,拉伸因子是基于业务数据的位宽长度所确定的,N个阶乘系数为自然对数的指数运算展开式的前N项的系数;
基于拉伸因子和N个阶乘系数迭代生成M-1个展开因子,基于基础算术分片和N个阶乘系数,生成M个系数因子。
在一种可能的实现方式中,M-1个展开因子包括展开因子,分片展开模块用于基于拉伸因子和N个阶乘系数迭代生成M-1个展开因子时,具体用于执行以下操作:
基于拉伸因子对基础算术分片进行分片乘法运算,得到展开因子,基于拉伸因子对展开因子进行分片乘法运算,得到展开因子,继续基于拉伸因子对展开因子进行分片乘法运算,直至获取到M-1个展开因子。
在一种可能的实现方式中,N个阶乘系数包括阶乘系数,M个系数因子包括系数因子,j为非负整数,j为i的两倍数值;分片展开模块用于基于基础算术分片和N个阶乘系数,生成M个系数因子时,具体用于执行以下操作:
对阶乘系数进行浮点数编码,得到第一计算因子;
获取阶乘系数对应的算术分片,将阶乘系数对应的算术分片确定为编码计算因子,对基础算术分片与编码计算因子进行分片乘法运算,得到第二计算因子;
对第一计算因子与第二计算因子进行分片加法运算,得到系数因子
在一种可能的实现方式中,阶乘系数包括阶乘系数,分片展开模块用于将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片时,具体用于执行以下操作:
将阶乘系数所对应的系数因子确定为邻项展开分片;阶乘系数为自然对数的指数运算展开式的第一项的系数;
将M-1个展开因子与M-1个系数因子进行分片乘法运算,得到M-1个邻项展开分片;M-1个系数因子为M个系数因子除系数因子之外的系数因子。
在一种可能的实现方式中,分片展开模块用于获取阶乘系数对应的算术分片,将阶乘系数对应的算术分片确定为编码计算因子时,具体用于执行以下操作:
基于拉伸因子对阶乘系数进行浮点数编码,得到拉伸编码值,对拉伸编码值进行算术分片处理,得到编码计算因子和交互算术分片;拉伸编码值是整数环中的元素,编码计算因子与交互算术分片的分片加法运算结果为拉伸编码值
在一种可能的实现方式中,分片还原模块用于对待还原算术分片迭代进行K次分片乘法运算,得到目标算术分片对应的指数算术分片时,具体用于执行以下操作:
基于拉伸因子对待还原算术分片进行分片乘法运算,得到迭代算术分片,基于拉伸因子对迭代算术分片进行分片乘法运算,得到新的迭代算术分片,继续基于拉伸因子对新的迭代算术分片进行分片乘法运算,直至迭代次数达到K次,将第K次迭代得到的迭代算术分片确定为目标算术分片对应的指数算术分片。
在一种可能的实现方式中,业务数据的数量为S,S为正整数,分片获取模块还用于执行以下操作:
在S个业务算术分片中随机确定初始算术分片以及比较算术分片,将初始算术分片以及比较算术分片确定为待比较分片组,对待比较分片组进行分片比较运算,得到较大算术分片;
在除初始算术分片以及比较算术分片之外的业务算术分片中随机获取新的比较算术分片,将较大算术分片和新的比较算术分片确定为新的待比较分片组,对新的待比较分片组进行分片比较运算,得到新的较大算术分片,直至遍历完S个业务算术分片,将最后得到的较大算术分片确定为上限算术分片;上限算术分片为S个业务算术分片之中数值最大的业务数据所对应的算术分片。
在一种可能的实现方式中,分片获取模块用于将数值最大的业务数据所对应的业务算术分片确定为上限算术分片时,具体用于执行以下操作:
在S个业务算术分片中随机确定初始算术分片以及比较算术分片,将初始算术分片以及比较算术分片确定为待比较分片组,对待比较分片组进行分片比较运算,得到较大算术分片;
在除初始算术分片以及比较算术分片之外的业务算术分片中随机获取新的比较算术分片,将较大算术分片和新的比较算术分片确定为新的待比较分片组,对新的待比较分片组进行分片比较运算,得到新的较大算术分片,直至遍历完S个业务算术分片,将最后得到的较大算术分片确定为上限算术分片;上限算术分片为S个业务算术分片之中数值最大的业务数据所对应的算术分片。
在一种可能的实现方式中,分片获取模块还用于执行以下操作:
在除目标算术分片之外的待选择算术分片中继续确定新的目标算术分片,生成新的目标算术分片对应的指数算术分片,直至遍历完S个待选择算术分片,得到S个指数算术分片;
将S个指数算术分片的分片加法运算结果,确定为累加算术分片,将S个指数算术分片分别与累加算术分片进行分片除法运算,得到S个分布算术分片;S个分布算术分片用于指示S个业务数据的概率分布。
本申请实施例一方面提供了一种计算机设备,包括:处理器、存储器以及网络接口;
处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例通过获取业务数据对应的目标算术分片以及截断因子,基于截断因子对目标算术分片进行截断处理,从而将目标算术分片压缩至多项式展开精度较高的区间范围,保证了计算服务的精度需求,得到基础算术分片,对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子,将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片,可以通过展开因子和系数因子计算基础算术分片多项式展开得到的邻项展开式(邻项展开分片),从而将两项相邻的展开式合并计算为一项邻项展开式,减少了计算步骤,可以提高计算服务的效率。将M个邻项展开分片的分片加法运算结果确定为待还原算术分片,对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片,可以通过K次平方运算,将待还原算术分片还原为指数算术分片,从而只需迭代压缩至精度较高的区间范围所需的截断因子的次数,避免了在误差较大的区间计算庞大的多项式来逼近精度需求,减少了计算多项式的迭代次数,从而提高了计算服务的效率,减少了计算成本的开销,通过指数算术分片为联邦模型提供针对业务数据的计算服务,可以在保证计算服务的精度的同时,提高了计算服务的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构示意图;
图2是本申请实施例提供的一种数据处理场景示意图一;
图3是本申请实施例提供的一种数据处理方法的流程示意图一;
图4是本申请实施例提供的一种数据处理场景示意图二;
图5是本申请实施例提供的一种数据处理方法的流程示意图二;
图6是本申请实施例提供的一种数据处理场景示意图三;
图7是本申请实施例提供的一种数据处理场景示意图四;
图8是本申请实施例提供的一种数据处理方法的流程示意图三;
图9是本申请实施例提供的一种数据处理装置的结构示意图;
图10是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种网络架构示意图。如图1所示,该网络架构可以包括第一服务器100以及第二服务器200,第一服务器100可以与第二服务器200之间存在通信连接,其中,上述通信连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其它方式,本申请在此不做限制。
其中,第一服务器100可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。第二服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
如图1所示,第一服务器100可以获取业务数据所对应的目标算术分片和截断因子。其中,第一服务器100可以是第一参与方所对应的服务器,第二服务器200可以是第二参与方所对应的服务器,业务数据可以用于参与训练针对第一参与方与第二参与方的联邦模型,业务数据所对应的目标算术分片可以是第二参与方所提供的业务数据中,数值最大的业务数据所对应的算术分片。截断因子可以是基于业务数据的取值范围所确定的预设数值,可以用于与业务数据进行截断处理,将业务数据的取值范围压缩至[-1,1]的区间中。
联邦模型可以是指联邦学习(Federated Learning,FL),是一种面向隐私保护的分布式机器学习技术,解决的是当敏感数据存在多个独立的机构、团体、个人(例如,第一参与方和第二参与方)手中时,怎样在保护数据隐私的前提下,在虚拟“聚合”的数据之上共同训练一个全局模型的问题。
秘密分享可以用于生成秘密分片,秘密分享可以包括算术秘密分享(ArithmeticSecret Sharing)和布尔秘密分享(Boolean Secret Sharing),算术秘密分享可以用于生成算术分片,布尔秘密分享可以用于生成布尔分片。
第一服务器100可以基于截断因子对目标算术分片进行截断处理,得到基础算术分片,对基础算术分片进行多项式展开,得到M个展开因子以及M个展开因子分别对应的系数因子。对目标算术分片进行截断处理从而将目标算术分片压缩至多项式展开精度较高的区间范围,保证了计算服务的精度需求。
第一服务器100可以将M个展开因子与M个展开因子分别对应的系数因子进行分片乘法运算,得到M个邻项展开分片,将M个邻项展开分片的分片加法运算结果确定为待还原算术分片。可以通过展开因子和系数因子计算基础算术分片多项式展开得到的邻项展开式,减少了计算步骤,可以提高计算服务的效率。
第一服务器100可以对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片。可以通过K次平方运算,将待还原算术分片还原为指数算术分片,减少了计算多项式的迭代次数,从而提高了计算服务的效率,减少了计算成本的开销。
其中,K为截断因子的数值,指数算术分片用于为联邦模型提供针对业务数据的计算服务。可以理解,指数算术分片可以作为计算服务,通过Softmax函数将业务数据转换为概率分布,使得每个类别的概率值之和为1。从而在分类任务中,确定业务数据属于哪个类别。可以选择具有最高概率值的类别作为业务数据的预测类别。此外,指数算术分片还可以用于计算模型的损失函数,例如在多类别分类问题中,可以用于计算损失函数所对应的交叉熵。
可以理解的是,上述网络框架可以适用于金融(例如,提升信贷风控)、医疗(例如,跨国医疗研究)、无人驾驶(例如,提升驾驶体验)、多媒体数据推荐(例如,视频推荐)等业务场景中。比如,在医疗场景下,罕见疾病是医学研究中经常遇到的问题,目前存在样本在不同医院分散等实际困难,这极大的阻碍了辅助诊断工作,通过纵向联邦学习可以融合不同医院的样本,实现罕见疾病的辅助诊断。又比如,在金融场景下,小微企业的信贷风控使用联邦迁移学习,可以利用金融机构在以往应用中已有的模型(例如,在中大型企业的信贷模型或小微企业的营销模型)进行迁移学习,提升应用的效果。又比如,在无人驾驶场景下,车辆与系统环境的交互学习,可以辅助以城市的其它信息(例如,城市摄像头、交通灯、未来的智能道路),通过纵向联邦的方式来更好地在隐私保护下融合不同来源信息,提升无人驾驶体验。又比如,在多媒体数据推荐场景中,不同平台下的数据可以交互学习,从而提高多媒体数据推荐的准确度。因此,上述的业务数据也可以称之为医疗数据或驾驶数据。
本申请实施例通过获取业务数据对应的目标算术分片以及截断因子,基于截断因子对目标算术分片进行截断处理,从而将目标算术分片压缩至多项式展开精度较高的区间范围,保证了计算服务的精度需求,得到基础算术分片,对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子,将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片,可以通过展开因子和系数因子计算基础算术分片多项式展开得到的邻项展开式(邻项展开分片),从而将两项相邻的展开式合并计算为一项邻项展开式,减少了计算步骤,可以提高计算服务的效率。将M个邻项展开分片的分片加法运算结果确定为待还原算术分片,对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片,可以通过K次平方运算,将待还原算术分片还原为指数算术分片,从而只需迭代压缩至精度较高的区间范围所需的截断因子的次数,避免了在误差较大的区间计算庞大的多项式来逼近精度需求,减少了计算多项式的迭代次数,从而提高了计算服务的效率,减少了计算成本的开销,通过指数算术分片为联邦模型提供针对业务数据的计算服务,可以在保证计算服务的精度的同时,提高了计算服务的效率。
请参见图2,图2是本申请实施例提供的一种数据处理的场景示意图一。
应当理解,秘密分享可以用于生成秘密分片,秘密分享可以包括算术秘密分享和布尔秘密分享,算术秘密分享可以用于生成算术分片,布尔秘密分享可以用于生成布尔分片。秘密共享具备的“同态性”,各参与方可以在不交换任何数据的情况下直接对密码数据(即算术分片或者布尔分片)求和、乘积。在算术秘密分享中,将整数环为模,例如,等于264(即模264加,表示整数的最大值为264-1,此时,加法运算指上的加法,减法运算指上的减法),将上的数拆分成两个分片(即算术分片)由第一参与方持有,由第二参与方持有,同时满足,同理可知,算术分片具有加法同态即。在布尔秘密分享中,基于异或(XOR)将布尔值拆分成两个分片(即布尔分片)由第一参与方持有,由第二参与方持有,。换言之,若采用异或的方式秘密分享,则计算方得到的随机数称为布尔分片;若采用算术加法的方式秘密分享,则计算方得到的随机数称为算术分片。其中,布尔分片和算术分片可以统称为秘密分片(简称分片)。
对于第一参与方和第二参与方,本申请实施例可以用表示分片,分片上标是A则代表算术分片,分片上标是B则代表布尔分片,分片下标是0则表示是第一参与方持有的分片,分片下标是1则表示是第二参与方持有的分片。为便于理解,当分片略写下标时,则表示该计算由第一参与方执行,例如第一参与方所持有的算术分片也可以表示为。换言之,表示的算术分片,即参与双方各自拥有一个随机值,这两个随机值在上的加法为表示的布尔分片,即参与双方各自拥有一个随机比特,这两个随机比特的异或为
如图2所示,第一服务器100可以获取业务数据所对应的目标算术分片和截断因子K。其中,第一服务器100可以是第一参与方所对应的服务器,第二服务器200可以是第二参与方所对应的服务器,业务数据可以用于参与训练针对第一参与方与第二参与方的联邦模型,业务数据所对应的目标算术分片可以是第二参与方所提供的业务数据中,数值最大的业务数据所对应的算术分片。截断因子可以是基于业务数据的取值范围所确定的预设数值,可以用于与业务数据进行截断处理,将业务数据的取值范围压缩至[-1,1]的区间中,也可以将[-1,1]的区间称之为精度取值范围。从而将目标算术分片压缩至多项式展开精度较高的区间范围,保证了计算服务的精度需求。精度取值范围可以是进行多项式展开具有收敛性的区间,即区间内的多项式函数是光滑的,具有有限的导数,提高计算多项式的精度。相比之下,在其他较大区间范围内,泰勒多项式的精度可能会受到函数的奇异性、不连续性等因素的影响,从而导致精度下降。
第一服务器100可以基于截断因子对目标算术分片进行截断处理(Truncate),执行,可以是将目标算术分片裁剪K个比特位,得到基础算术分片。其中,K为截断因子的数值,目标算术分片与基础算术分片满足
第一服务器100可以对基础算术分片进行多项式展开,得到M个展开因子以及M个展开因子分别对应的系数因子。多项式展开的方式可以是泰勒展开(Taylor Formula)、幂函数展开、帕德展开(Pade approximation,也可以称之为帕德近似)等,本申请实施例在此不做限制。
为便于理解,将业务数据的取值范围压缩至[-1,1]的区间中后,以泰勒展开公式前8项近似自然对数e的指数运算exp(x)为例。
第一服务器100可以获取拉伸因子f与阶乘系数。阶乘系数是为自然对数e的指数运算exp(x)展开式中各个单项式的系数,在泰勒展开公式前8项近似自然对数的指数运算中,阶乘系数可以包括……,。阶乘系数中可以是0!、可以是1!、可以是可以是、……、可以是
其中,拉伸因子f可以用于将十进制浮点数表示为二进制浮点数,那么拉伸因子f可以表示浮点数a小数部分的位宽,拉伸因子f一般可以设置为20。拉伸因子f可以用于对浮点数a进行浮点数编码,得到拉伸编码值c,从而将浮点数a编码为整数环中的元素,即c∈。该过程可以表示为c=(a,f)。
第一服务器100可以基于拉伸因子f、8个阶乘系数以及基础算术分片计算得到待还原算术分片。其中,+++可以表示泰勒展开公式的第1项、可以表示泰勒展开公式的第2项、可以表示泰勒展开公式的第3项、可以表示泰勒展开公式的第4项、可以表示泰勒展开公式的第5项、可以表示泰勒展开公式的第6项、可以表示泰勒展开公式的第7项、可以表示泰勒展开公式的第8项。
可以理解,泰勒展开公式中对于任意相邻的两项,例如,在秘密分片中可以进行相邻项计算,得到4项邻项展开分片,可以包括。其中,==可以被称之为系数因子可以被称之为展开因子。展开因子=,当i等于1时,==。可以将两项相邻的展开式合并计算为一项邻项展开式,减少了计算步骤,可以提高计算服务的效率。
其中,“”表示两方分片乘法(Mul),是指输入算术分片,输出,使得,这里 。“MulP”表示有明文参与的分片乘法,是指输出+的运算结果,在第一参与方与第二参与方的联邦学习中,第一参与方可以计算或者中的任一项,由第二参与方计算另一项,交换第一参与方与第二参与方的运算结果,执行两方分片加法即可,这里
即第一服务器100可以基于拉伸因子f以及8个阶乘系数迭代生成3个展开因子,包括。第一服务器100可以基于基础算术分片生成4个系数因子,包括。第一服务器100可以将系数因子确定为邻项展开分片,将系数因子与展开因子的分片乘法运算结果确定为邻项展开分片,将系数因子与展开因子的分片乘法运算结果确定为邻项展开分片,将系数因子与展开因子的分片乘法运算结果确定为邻项展开分片。将邻项展开分片、邻项展开分片、邻项展开分片以及邻项展开分片的分片加法运算结果确定为待还原算术分片
第一服务器100可以对待还原算术分片进行K次迭代分片乘法运算,例如可以是对待还原算术分片进行分片乘法运算,执行,得到迭代算术分片,对迭代算术分片进行分片乘法运算,执行,得到迭代算术分片,直至对待还原算术分片完成K次迭代分片乘法运算,将第K次迭代得到的迭代算术分片确定为目标算术分片对应的指数算术分片,可以只需迭代压缩至精度较高的区间范围所需的截断因子的次数,避免了在误差较大的区间计算庞大的多项式来逼近精度需求。其中,K为截断因子的数值,指数算术分片用于为联邦模型提供针对业务数据的计算服务。
可以理解,指数算术分片可以作为计算服务,通过Softmax函数将业务数据转换为概率分布,使得每个类别的概率值之和为1。从而在分类任务中,确定业务数据属于哪个类别。可以选择具有最高概率值的类别作为业务数据的预测类别。此外,指数算术分片还可以用于计算模型的损失函数,例如在多类别分类问题中,可以用于计算损失函数所对应的交叉熵。
除此之外,指数算术分片在SQL语句中是一个常见的数学函数。提供指数运算的安全高效计算以应用在联合查询场景中,可以丰富联合查询功能。可以保护数据库中的数据隐私安全,高精度高效率地进行计算指数运算,以应对大规模数据查询的准确性、高效性以及安全性的要求。
在集成基于MPC(Model-based Predictive Control,模型预测控制)的纵向联邦XGBoost算法中,例如可以是隐私计算平台PowerFL,在PowerFL中需要提供自定义函数的安全计算脚本,需要提供大模型安全推理服务能力,基于多方安全计算的方法可以解决Softmax,GeLU和normalize的安全计算性能/精度问题。本申请实施例可以在不损失因精度的前提下,提高指数运算的安全计算性能,进一步提升Softmax的性能。
可以理解的是,上述网络框架可以适用于金融(例如,提升信贷风控)、医疗(例如,跨国医疗研究)、无人驾驶(例如,提升驾驶体验)、多媒体数据推荐(例如,视频推荐)等业务场景中。比如,在医疗场景下,罕见疾病是医学研究中经常遇到的问题,目前存在样本在不同医院分散等实际困难,这极大的阻碍了辅助诊断工作,通过纵向联邦学习可以融合不同医院的样本,实现罕见疾病的辅助诊断。又比如,在金融场景下,小微企业的信贷风控使用联邦迁移学习,可以利用金融机构在以往应用中已有的模型(例如,在中大型企业的信贷模型或小微企业的营销模型)进行迁移学习,提升应用的效果。又比如,在无人驾驶场景下,车辆与系统环境的交互学习,可以辅助以城市的其它信息(例如,城市摄像头、交通灯、未来的智能道路),通过纵向联邦的方式来更好地在隐私保护下融合不同来源信息,提升无人驾驶体验。又比如,在多媒体数据推荐场景中,不同平台下的数据可以交互学习,从而提高多媒体数据推荐的准确度。因此,上述的业务数据也可以称之为医疗数据或驾驶数据。
本申请实施例通过获取业务数据对应的目标算术分片以及截断因子,基于截断因子对目标算术分片进行截断处理,从而将目标算术分片压缩至多项式展开精度较高的区间范围,保证了计算服务的精度需求,得到基础算术分片,对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子,将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片,可以通过展开因子和系数因子计算基础算术分片多项式展开得到的邻项展开式(邻项展开分片),从而将两项相邻的展开式合并计算为一项邻项展开式,减少了计算步骤,可以提高计算服务的效率。将M个邻项展开分片的分片加法运算结果确定为待还原算术分片,对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片,可以通过K次平方运算,将待还原算术分片还原为指数算术分片,从而只需迭代压缩至精度较高的区间范围所需的截断因子的次数,避免了在误差较大的区间计算庞大的多项式来逼近精度需求,减少了计算多项式的迭代次数,从而提高了计算服务的效率,减少了计算成本的开销,通过指数算术分片为联邦模型提供针对业务数据的计算服务,可以在保证计算服务的精度的同时,提高了计算服务的效率。
请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图一,该数据处理方法可以由计算机设备执行,计算机设备可以是如图1所示的第一服务器100。以下将以本数据处理方法由计算机设备执行为例进行说明。其中,该数据处理方法至少可以包括以下步骤S101-步骤S104:
步骤S101,获取业务数据对应的目标算术分片以及截断因子;截断因子是基于业务数据的取值范围所确定的,业务数据用于参与训练联邦模型;
具体的,联邦模型可以是指联邦学习,是一种面向隐私保护的分布式机器学习技术,解决的是当敏感数据存在多个独立的机构、团体、个人(例如,第一参与方和第二参与方)手中时,怎样在保护数据隐私的前提下,在虚拟“聚合”的数据之上共同训练一个全局模型的问题。联邦学习可以包括纵向联邦学习(Vertical Federated Learning)和横向联邦学习(Horizontal Federated Learning)。
其中,纵向联邦学习可以包括匿踪纵向联邦学习,匿踪纵向联邦学习是指在不暴露求交后的ID集的前提下,进行纵向联邦学习模型训练的方法,即样本对齐过程是无信息泄漏的纵向联邦学习,特征数据将无差别地用于训练模型参数。在联邦实践中,纵向联邦XGBoost(eXtreme Gradient Boosting)算法(即匿踪纵向联邦XGBoost训练算法)是应用最广的联邦机器学习算法(即纵向联邦学习模型训练算法)。其中,XGBoost是梯度提升决策树的提升版本,XGBoost以分类树或是回归树作为基本分类器的提升方法,具有更高的可扩展性和更快更高的效率。
秘密分享可以用于生成秘密分片,秘密分享可以包括算术秘密分享和布尔秘密分享,算术秘密分享可以用于生成算术分片,布尔秘密分享可以用于生成布尔分片。秘密共享具备的“同态性”,各参与方可以在不交换任何数据的情况下直接对密码数据(即算术分片或者布尔分片)求和、乘积。在算术秘密分享中,将整数环为模,例如,等于264(即模264加,表示整数的最大值为264-1,此时,加法运算指上的加法,减法运算指上的减法),将上的数拆分成两个分片(即算术分片)由第一参与方持有,由第二参与方持有,同时满足,同理可知,算术分片具有加法同态即。在布尔秘密分享中,基于异或(XOR)将布尔值拆分成两个分片(即布尔分片)由第一参与方持有,由第二参与方持有,。换言之,若采用异或的方式秘密分享,则计算方得到的随机数称为布尔分片;若采用算术加法的方式秘密分享,则计算方得到的随机数称为算术分片。其中,布尔分片和算术分片可以统称为秘密分片(简称分片)。
对于第一参与方和第二参与方,本申请实施例可以用表示分片,分片上标是A则代表算术分片,分片上标是B则代表布尔分片,分片下标是0则表示是第一参与方持有的分片,分片下标是1则表示是第二参与方持有的分片。为便于理解,当分片略写下标时,则表示该计算由第一参与方执行,例如第一参与方所持有的算术分片也可以表示为。换言之,表示的算术分片,即参与双方各自拥有一个随机值,这两个随机值在上的加法为表示的布尔分片,即参与双方各自拥有一个随机比特,这两个随机比特的异或为
计算机设备所获取的目标算术分片可以是进行浮点数编码,再进行算术分片处理得到的算术分片。其中,计算机设备可以基于业务数据的位宽长度确定拉伸因子。浮点数编码可以是指基于拉伸因子f对业务数据进行编码,得到拉伸编码值u。该过程可以表示为u=(,f)。其中,拉伸编码值是整数环中的元素,即u∈。通过浮点数编码从而将业务数据转换为整数环中的元素。
计算机设备可以获取业务数据所对应的目标算术分片和截断因子K。其中,业务数据可以用于参与训练针对第一参与方与第二参与方的联邦模型,业务数据所对应的目标算术分片可以是第二参与方所提供的业务数据中,数值最大的业务数据所对应的算术分片。截断因子可以是基于业务数据的取值范围所确定的预设数值。
步骤S102,基于截断因子对目标算术分片进行截断处理,得到基础算术分片,对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子;M为正整数;
具体的,计算机设备可以基于截断因子对目标算术分片进行截断处理(Truncate),执行,可以是将目标算术分片裁剪K个比特位,得到基础算术分片。其中,K为截断因子的数值,目标算术分片与基础算术分片满足。可以用于与业务数据进行截断处理,将业务数据的取值范围压缩至[-1,1]的区间中。
再请一并参见图4,图4是本申请实施例提供的一种数据处理场景示意图二;如图4所示,截断处理可以是秘密分享中的Truncate模块,对目标算术分片截断,拉伸因子f的数值对应的比特位,得到基础算术分片的过程可以表示为,即得到的算术分片。通过截断处理,可以将基础算术分片的低比特进行分片运算时,所使用到的两倍拉伸因子的数值,保持为一倍拉伸因子的数值,可以避免拉伸因子的扩大,而将整数环结构扩大而带来的成倍计算开销,提高了计算效率。例如,基础算术分片包括P个单位算术分片(可以是将每个比特位的取值,作为该比特位所对应的算术分片),P个单位算术分片包括C个第一单位分片和D个第二单位分片,其中,C个第一单位分片在基础算术分片中的比特位均高于划分比特位,划分比特位是指D个第二单位分片在基础算术分片中的最高比特位,D为拉伸因子的数值,C为P与拉伸因子之间的差值。其中,D个第二单位分片可以称之为基础算术分片的低比特。
计算机设备可以对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子。M-1个展开因子可以包括展开因子(也可以表示为展开因子)、展开因子(也可以表示为展开因子)、……、展开因子(也可以表示为展开因子)。M个系数因子可以包括、……、。其中,系数因子。展开因子=,当i等于1时,==。多项式展开的方式可以是泰勒展开、幂函数展开、帕德展开等,本申请实施例在此不做限制。
将业务数据的取值范围压缩至[-1,1]的区间中后,泰勒展开公式前N项近似自然对数e的指数运算exp(x)可以包括阶乘系数。阶乘系数是为自然对数e的指数运算exp(x)展开式中各个单项式的系数,在泰勒展开公式前8项近似自然对数的指数运算中,阶乘系数可以包括……,。阶乘系数中可以是0!、可以是1!、可以是可以是、……、可以是
其中,“”表示两方分片乘法(Mul),是指输入算术分片,输出,使得,这里 。“MulP”表示有明文参与的分片乘法,是指输出+的运算结果,在第一参与方与第二参与方的联邦学习中,第一参与方可以计算或者中的任一项,由第二参与方计算另一项,交换第一参与方与第二参与方的运算结果,执行两方分片加法即可,这里
步骤S103,将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片,将M个邻项展开分片的分片加法运算结果确定为待还原算术分片;
具体的,计算机设备可以将系数因子确定为邻项展开分片,系数因子即基础算术分片进行多项式展开中,阶乘系数所对应的系数因子。将M-1个展开因子与M-1个系数因子进行分片乘法运算,得到M-1个邻项展开分片,将M个邻项展开分片的分片加法运算结果确定为待还原算术分片
例如,计算机设备可以将系数因子与展开因子的分片乘法运算结果确定为邻项展开分片,将系数因子与展开因子的分片乘法运算结果确定为邻项展开分片,将系数因子与展开因子的分片乘法运算结果确定为邻项展开分片。将邻项展开分片、邻项展开分片、邻项展开分片以及邻项展开分片的分片加法运算结果确定为待还原算术分片
步骤S104,对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片;K为截断因子的数值,指数算术分片用于为联邦模型提供针对业务数据的计算服务。
具体的,计算机设备可以对待还原算术分片进行K次迭代分片乘法运算,例如可以是对待还原算术分片进行分片乘法运算,执行,得到迭代算术分片,对迭代算术分片进行分片乘法运算,执行,得到迭代算术分片,直至对待还原算术分片完成K次迭代分片乘法运算,将第K次迭代得到的迭代算术分片确定为目标算术分片对应的指数算术分片
其中,K为截断因子的数值,指数算术分片用于为联邦模型提供针对业务数据的计算服务。可以理解,指数算术分片可以作为计算服务,通过Softmax函数将业务数据转换为概率分布,使得每个类别的概率值之和为1。从而在分类任务中,确定业务数据属于哪个类别。可以选择具有最高概率值的类别作为业务数据的预测类别。此外,指数算术分片还可以用于计算模型的损失函数,例如在多类别分类问题中,可以用于计算损失函数所对应的交叉熵。
可以理解,截断因子可以将目标算术分片压缩至精度取值范围,精度取值范围可以是进行多项式展开具有收敛性的区间,例如可以是[-1,1],即精度取值范围内的多项式函数是光滑的,具有有限的导数,将目标算术分片压缩至多项式展开精度较高的区间范围,保证了计算服务的精度需求,可以提高计算多项式的精度。计算机设备可以只需迭代压缩至精度较高的区间范围所需的截断因子的次数,来还原在精度取值范围内的压缩运算结果,避免了在误差较大的区间计算庞大的多项式来逼近精度需求。
本申请实施例通过获取业务数据对应的目标算术分片以及截断因子,基于截断因子对目标算术分片进行截断处理,从而将目标算术分片压缩至多项式展开精度较高的区间范围,保证了计算服务的精度需求,得到基础算术分片,对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子,将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片,可以通过展开因子和系数因子计算基础算术分片多项式展开得到的邻项展开式(邻项展开分片),从而将两项相邻的展开式合并计算为一项邻项展开式,减少了计算步骤,可以提高计算服务的效率。将M个邻项展开分片的分片加法运算结果确定为待还原算术分片,对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片,可以通过K次平方运算,将待还原算术分片还原为指数算术分片,从而只需迭代压缩至精度较高的区间范围所需的截断因子的次数,避免了在误差较大的区间计算庞大的多项式来逼近精度需求,减少了计算多项式的迭代次数,从而提高了计算服务的效率,减少了计算成本的开销,通过指数算术分片为联邦模型提供针对业务数据的计算服务,可以在保证计算服务的精度的同时,提高了计算服务的效率。
请参见图5,图5是本申请实施例提供的一种数据处理方法的流程示意图二,该数据处理方法可以由计算机设备执行,计算机设备可以是如图1所示的第一服务器100。以下将以本数据处理方法由计算机设备执行为例进行说明。其中,该数据处理方法至少可以包括以下步骤S201-步骤S208:
步骤S201,获取S个业务数据分别对应的业务算术分片,将数值最大的业务数据所对应的业务算术分片确定为上限算术分片,将上限算术分片与每个业务算术分片之间的分片减法运算结果,确定为S个待选择算术分片,在S个待选择算术分片中获取目标算术分片。
具体的,再请一并参见图6,图6是本申请实施例提供的一种数据处理场景示意图三。如图6所示,人工智能模型的系统架构中包括输入组件(Input Embedding)、编码组件(Transfomer Block)和分类组件(Classifier),对于编码组件的计算耗时主要集中在多头自注意力网络层(Multi-head Attention)所对应的指数归一化函数处理(Softmax)、归一化网络层(Layer Norm)以及前向传播网络层(Feed Forward)所对应的高斯误差线性函数处理(Gaussian Error Linear Uni,GeLU)、归一化网络层(Layer Norm)所对应的矩阵归一化函数处理(normalize)等非线性算子,例如Softmax用于将一组实数映射到0-1区间内的概率分布。在机器学习、自然语言处理等领域中广泛应用,例如在联邦模型的多分类问题中,可以将每个类别的得分通过Softmax函数转换为概率分布,从而实现预测。此外,Softmax函数也可以作为输出层的激活函数,用于计算分类问题的概率分布。
联邦模型可以是指联邦学习,是一种面向隐私保护的分布式机器学习技术,解决的是当敏感数据存在多个独立的机构、团体、个人(例如,第一参与方和第二参与方)手中时,怎样在保护数据隐私的前提下,在虚拟“聚合”的数据之上共同训练一个全局模型的问题。联邦学习可以包括纵向联邦学习(Vertical Federated Learning)和横向联邦学习(Horizontal Federated Learning)。
其中,纵向联邦学习可以包括匿踪纵向联邦学习,匿踪纵向联邦学习是指在不暴露求交后的ID集的前提下,进行纵向联邦学习模型训练的方法,即样本对齐过程是无信息泄漏的纵向联邦学习,特征数据将无差别地用于训练模型参数。在联邦实践中,纵向联邦XGBoost(eXtreme Gradient Boosting)算法(即匿踪纵向联邦XGBoost训练算法)是应用最广的联邦机器学习算法(即纵向联邦学习模型训练算法)。其中,XGBoost是梯度提升决策树的提升版本,XGBoost以分类树或是回归树作为基本分类器的提升方法,具有更高的可扩展性和更快更高的效率。
秘密分享可以用于生成秘密分片,秘密分享可以包括算术秘密分享和布尔秘密分享,算术秘密分享可以用于生成算术分片,布尔秘密分享可以用于生成布尔分片。秘密共享具备的“同态性”,各参与方可以在不交换任何数据的情况下直接对密码数据(即算术分片或者布尔分片)求和、乘积。在算术秘密分享中,将整数环为模,例如,等于264(即模264加,表示整数的最大值为264-1,此时,加法运算指上的加法,减法运算指上的减法),将上的数拆分成两个分片(即算术分片)由第一参与方持有,由第二参与方持有,同时满足,同理可知,算术分片具有加法同态即。在布尔秘密分享中,基于异或(XOR)将布尔值拆分成两个分片(即布尔分片)由第一参与方持有,由第二参与方持有,。换言之,若采用异或的方式秘密分享,则计算方得到的随机数称为布尔分片;若采用算术加法的方式秘密分享,则计算方得到的随机数称为算术分片。其中,布尔分片和算术分片可以统称为秘密分片(简称分片)。
对于第一参与方和第二参与方,本申请实施例可以用表示分片,分片上标是A则代表算术分片,分片上标是B则代表布尔分片,分片下标是0则表示是第一参与方持有的分片,分片下标是1则表示是第二参与方持有的分片。为便于理解,当分片略写下标时,则表示该计算由第一参与方执行,例如第一参与方所持有的算术分片也可以表示为。换言之,表示的算术分片,即参与双方各自拥有一个随机值,这两个随机值在上的加法为表示的布尔分片,即参与双方各自拥有一个随机比特,这两个随机比特的异或为
在Softmax模型中,计算机设备可以获取S个业务数据分别对应的业务算术分片。S个业务数据可以包括业务数据、业务数据、……、业务数据,S个业务算术分片可以包括业务算术分片、业务算术分片、……、业务算术分片
再请一并参见图7,图7是本申请实施例提供的一种数据处理场景示意图四。如图7所示,计算机设备所获取的S个业务算术分片可以是进行浮点数编码,再进行算术分片处理得到的S个算术分片。计算机设备可以基于业务数据的位宽长度确定拉伸因子f。浮点数编码可以是指基于拉伸因子f对业务数据进行编码,得到拉伸编码值t。该过程可以表示为t=(y,f)。其中,拉伸编码值是整数环中的元素,即t∈。通过浮点数编码从而将业务数据转换为整数环中的元素。
具体的,业务数据可以包括整数部分和小数部分,即∈R,f为正整数,拉伸因子f可以用于将十进制浮点数表示为二进制浮点数u,那么拉伸因子f可以表示业务数据小数部分的位宽,拉伸因子f一般可以设置为20。
计算机设备可以输入业务数据和拉伸因子f,执行u=(,f),计算,可以是将相乘,对计算结果四舍五入取整,当u≥0时,输出u∈;否则输出u+。其中,P一般可以设置为64,即u具有64比特。计算机设备可以对拉伸编码值u进行算术分片处理,得到业务算术分片(为便于理解业务算术分片可以表示为业务算术分片)和交互算术分片。交互算术分片用于分享至第二提供方进行联邦模型的训练。
可以理解,业务数据所对应的业务算术分片可以是计算机设备从第二参与方通过秘密分享所获取的,或者其他两方安全算子所计算得到的算术分片。本申请实施例在此不做限制。业务数据的小数部分可以与业务算术分片的低比特相对应。
计算机设备可以将S个业务算术分片中数值最大的业务数据所对应的业务算术分片确定为上限算术分片,定上限算术分片的过程可以是:在S个业务算术分片中随机确定初始算术分片以及比较算术分片,将初始算术分片以及比较算术分片确定为待比较分片组,对待比较分片组进行分片比较运算,得到较大算术分片;在除初始算术分片以及比较算术分片之外的业务算术分片中随机获取新的比较算术分片,将较大算术分片和新的比较算术分片确定为新的待比较分片组,对新的待比较分片组进行分片比较运算,得到新的较大算术分片,直至遍历完S个业务算术分片,将最后得到的较大算术分片确定为上限算术分片;上限算术分片为S个业务算术分片之中数值最大的业务数据所对应的算术分片。
具体的,在S个业务算术分片中随机确定初始算术分片以及比较算术分片,将初始算术分片以及比较算术分片确定为待比较分片组,对待比较分片组进行分片比较运算,执行Compare(),若待比较分片组的分片比较运算结果为1,则将比较算术分片确定为较大算术分片,若待比较分片组的分片比较运算结果为0,则将初始算术分片确定为较大算术分片。
其中,分片比较运算(Compare,也可以称之为两方分片比较),这里用“(,)”表示:输入,输出,即为真则输出1,否则输出0;输入,输出,即为真则输出1,否则输出0。
计算机设备可以在除初始算术分片以及比较算术分片之外的业务算术分片中随机获取新的比较算术分片,将较大算术分片和新的比较算术分片确定为新的待比较分片组,对新的待比较分片组进行分片比较运算,得到新的较大算术分片,直至遍历完S个业务算术分片,将最后得到的较大算术分片确定为上限算术分片
计算机设备将上限算术分片与每个业务算术分片之间的分片减法运算结果,确定为S个待选择算术分片,即待选择算术分片=Sub(),i∈S。其中,两方分片减法(SUB),这里用“”表示:输入,输出。计算机设备可以在S个待选择算术分片中随机获取目标算术分片
步骤S202,获取业务数据对应的目标算术分片以及截断因子;截断因子是基于业务数据的取值范围所确定的,业务数据用于参与训练联邦模型;
具体的,计算机设备可以获取业务数据对应的目标算术分片以及截断因子K。其中,业务数据可以用于参与训练针对第一参与方与第二参与方的联邦模型,业务数据所对应的目标算术分片可以是第二参与方所提供的业务数据中,数值最大的业务数据所对应的算术分片。截断因子可以是基于业务数据的取值范围所确定的预设数值。
步骤S203,对目标算术分片裁剪K个比特位,得到基础算术分片;K为截断因子的数值,目标算术分片为基础算术分片的
具体的,计算机设备可以基于截断因子对目标算术分片进行截断处理,执行,可以是将目标算术分片裁剪K个比特位,得到基础算术分片。其中,K为截断因子的数值,目标算术分片与基础算术分片满足。可以用于与业务数据进行截断处理,将业务数据的取值范围压缩至[-1,1]的区间中。截断处理可以是秘密分享中的Truncate模块,对目标算术分片截断,拉伸因子f的数值对应的比特位,得到基础算术分片的过程可以表示为,即得到的算术分片。通过截断处理,可以将基础算术分片的低比特进行分片运算时,所使用到的两倍拉伸因子的数值,保持为一倍拉伸因子的数值,可以避免拉伸因子的扩大,而将整数环结构扩大而带来的成倍计算开销,提高了计算效率。例如,基础算术分片包括P个单位算术分片,P个单位算术分片包括C个第一单位分片和D个第二单位分片,其中,C个第一单位分片在基础算术分片中的比特位均高于划分比特位,划分比特位是指D个第二单位分片在基础算术分片中的最高比特位,D为拉伸因子的数值,C为P与拉伸因子之间的差值。其中,D个第二单位分片可以称之为基础算术分片的低比特。
再请一并参见图4,图4是本申请实施例提供的一种数据处理场景示意图二,如图4所示,在进行分片乘法运算时,注意到将d进行浮点数Decode所需要的拉伸因子为,即中,的拉伸因子为2f,为了保持拉伸因子为f,需要Truncate模块,将裁剪f个比特,即得到的算术分片,该过程记做,上述先执行Mul再执行Truncate的过程记做
步骤S204,获取拉伸因子和N个阶乘系数;N为M的两倍数值,拉伸因子是基于业务数据的位宽长度所确定的,N个阶乘系数为自然对数的指数运算展开式的前N项的系数;基于拉伸因子和N个阶乘系数迭代生成M-1个展开因子,基于基础算术分片和N个阶乘系数,生成M个系数因子。
具体的,计算机设备可以获取拉伸因子f和N个阶乘系数,N个阶乘系数为自然对数的指数运算展开式的前N项的系数。计算机设备可以对基础算术分片进行多项式展开,多项式展开的方式可以是泰勒展开、幂函数展开、帕德展开等,本申请实施例在此不做限制。为便于理解,本申请实施例以泰勒展开为例。
将业务数据的取值范围压缩至[-1,1]的区间中后,泰勒展开公式前N项近似自然对数e的指数运算exp(x)可以包括阶乘系数。阶乘系数是为自然对数e的指数运算exp(x)展开式中各个单项式的系数,在泰勒展开公式前N项近似自然对数的指数运算中,阶乘系数可以包括……,。阶乘系数中可以是0!、可以是1!、可以是可以是、……、可以是
计算机设备可以基于拉伸因子f、N个阶乘系数以及基础算术分片计算得到待还原算术分片。其中,+。待还原算术分片可以包括N项,可以表示待还原算术分片的第1项、可以表示待还原算术分片的第2项、可以表示待还原算术分片的第N项。
可以理解,泰勒展开公式中对于任意相邻的两项,例如,在秘密分片中可以进行相邻项计算,得到M项邻项展开分片,可以包括 。其中,==
可以被称之为系数因子,计算机设备获取系数因子的过程可以是:对阶乘系数进行浮点数编码,得到第一计算因子;获取阶乘系数对应的算术分片,将阶乘系数对应的算术分片确定为编码计算因子,对基础算术分片与编码计算因子进行分片乘法运算,得到第二计算因子;对第一计算因子与第二计算因子进行分片加法运算,得到系数因子。即=
其中,“”表示两方分片乘法(Mul),是指输入算术分片,输出,使得,这里 。“MulP”表示有明文参与的分片乘法,是指输出+的运算结果,在第一参与方与第二参与方的联邦学习中,第一参与方可以计算或者中的任一项,由第二参与方计算另一项,交换第一参与方与第二参与方的运算结果,执行两方分片加法即可,这里
例如,获取阶乘系数对应的算术分的过程可以是:基于拉伸因子对阶乘系数进行浮点数编码,得到拉伸编码值,对拉伸编码值进行算术分片处理,得到编码计算因子和交互算术分片,并且,即编码计算因子与交互算术分片的分片加法运算结果为拉伸编码值。
可以被称之为展开因子。计算机设备获取展开因子的过程可以是:基于拉伸因子对基础算术分片进行分片乘法运算,得到展开因子,基于拉伸因子对展开因子进行分片乘法运算,得到展开因子,继续基于拉伸因子对展开因子进行分片乘法运算,直至获取到M-1个展开因子。例如M-1个展开因子可以包括展开因子(也可以表示为展开因子)、展开因子(也可以表示为展开因子)、……、展开因子(也可以表示为展开因子)。即展开因子=,当i等于1时,==
计算机设备可以基于拉伸因子f以及N个阶乘系数迭代生成M-1个展开因子,包括、……、。计算机设备可以基于基础算术分片生成M个系数因子,包括、……、
步骤S205,将阶乘系数所对应的系数因子确定为邻项展开分片;阶乘系数为自然对数的指数运算展开式的第一项的系数;将M-1个展开因子与M-1个系数因子进行分片乘法运算,得到M-1个邻项展开分片;M-1个系数因子为M个系数因子除系数因子之外的系数因子。
具体的,计算机设备可以将系数因子确定为邻项展开分片,将系数因子与展开因子的分片乘法运算结果确定为邻项展开分片,将系数因子与展开因子的分片乘法运算结果确定为邻项展开分片,……,将系数因子与展开因子的分片乘法运算结果确定为邻项展开分片
步骤S206,将M个邻项展开分片的分片加法运算结果确定为待还原算术分片;
具体的,计算机设备可以将邻项展开分片、邻项展开分片、邻项展开分片、……、邻项展开分片的分片加法运算结果确定为待还原算术分片。其中,两方分片加法(Add,也可以称之为分片加法运算),这里用“”表示:输入,输出
步骤S207,基于拉伸因子对待还原算术分片进行分片乘法运算,得到迭代算术分片,基于拉伸因子对迭代算术分片进行分片乘法运算,得到新的迭代算术分片,继续基于拉伸因子对新的迭代算术分片进行分片乘法运算,直至迭代次数达到K次,将第K次迭代得到的迭代算术分片确定为目标算术分片对应的指数算术分片。
具体的,计算机设备可以对待还原算术分片进行K次迭代分片乘法运算,例如可以是对待还原算术分片进行分片乘法运算,执行,得到迭代算术分片,对迭代算术分片进行分片乘法运算,执行,得到迭代算术分片,直至对待还原算术分片完成K次迭代分片乘法运算,将第K次迭代得到的迭代算术分片确定为目标算术分片对应的指数算术分片,可以只需迭代压缩至精度较高的区间范围所需的截断因子的次数,避免了在误差较大的区间计算庞大的多项式来逼近精度需求。其中,K为截断因子的数值,指数算术分片用于为联邦模型提供针对业务数据的计算服务。截断因子可以将目标算术分片压缩至精度取值范围,精度取值范围可以是进行多项式展开具有收敛性的区间,例如可以是[-1,1],即精度取值范围内的多项式函数是光滑的,具有有限的导数,将目标算术分片压缩至多项式展开精度较高的区间范围,保证了计算服务的精度需求,可以提高计算多项式的精度。计算机设备可以只需迭代压缩至精度较高的区间范围所需的截断因子的次数,来还原在精度取值范围内的压缩运算结果,避免了在误差较大的区间计算庞大的多项式来逼近精度需求。
可以理解,对于截断处理,当输入的符号位/最高位(MSB)已知时,可以构造更高效的2PC(Two Phase Commit,可以是Cheetah的线性协议,其全联接层(FC)、卷积层(CONV)、批标准化层(BN)都可以写成一系列内积的形式)截断协议,设已知输入为正,即其最高位为0,则可以只进行一次Cheetah计算,而不需要借助百万富翁协议(即比较协议,是非线性层的核心组件,ReLU、截断和池化,Cheetah中的比较协议)。因此,在的符号已知时,可以省略分片比较运算所带来的计算耗时,从而加速计算Truncate。对于S个业务数据,业务数据、业务数据、……、业务数据在确定截断因子K时,可以确定S个业务数据取值范围,从而加速计算Truncate。由于基础算术分片的符号已知,通过基础算术分片进行分片乘法运算所得到的展开因子,展开因子=,当i等于1时,==。也可以通过省略分片比较运算,从而加速计算Truncate。基础算术分片所对应的范围为[-1,1],故的符号也为正,在进行截断处理时,可以省略分片比较运算,从而加速计算Truncate。在对待还原算术分片进行K次迭代分片乘法运算中,待还原算术分片的分片乘法运算结果为正,在后续的K-1次迭代中,也可以省略分片比较运算,从而加速计算Truncate。
其中,最高位MSB是指布尔分片中数值为1的比特位中的最高比特位。两方最高比特(ExtractMSB),设是正浮点数的布尔分片,那么在中,将的最高为1的比特位置记做,则ExtractMSB输出的布尔分片,即,满足
经实验测试,本申请实施例的计算指数算术分片的流中程,在10000数据规模下,平均误差为0.093,最大误差为2.82。其中,输入业务数据的数值的范围为[-10,10],计算耗时约17s。低于现有技术的计算耗时,而现有技术在区间[-10,10]下的明文计算精度最大误差高达100,甚至出现计算结果错误的情况。
可以理解,在本申请实施例的exp(x)流程中,区间[-1,1]上的逼近多项式P(x)可以选择使用exp的泰勒展开的前8项,也可以考虑利用函数逼近方法(remez方法,切比雪夫多项式逼近等方法)获得更好的多项式,例如减少多项式的代数次数,降低计算分片乘法的次数,从而提高计算服务的效率。
步骤S208,在除目标算术分片之外的待选择算术分片中继续确定新的目标算术分片,生成新的目标算术分片对应的指数算术分片,直至遍历完S个待选择算术分片,得到S个指数算术分片;将S个指数算术分片的分片加法运算结果,确定为累加算术分片,将S个指数算术分片分别与累加算术分片进行分片除法运算,得到S个分布算术分片;S个分布算术分片用于指示S个业务数据的概率分布。
具体的,在Softmax模型中,计算机设备可以在除目标算术分片之外的待选择算术分片中继续确定新的目标算术分片,生成新的目标算术分片对应的指数算术分片,直至遍历完S个待选择算术分片,得到S个指数算术分片。
计算机设备可以将S个指数算术分片的分片加法运算结果,确定为累加算术分片,将S个指数算术分片分别与累加算术分片进行分片除法运算,可以是分别执行,Div(),得到S个分布算术分片。其中,两方分片除法(Div),这里用“”表示:输入,输出
可以理解,S个分布算术分片用于指示S个业务数据(业务数据、业务数据、……、业务数据)的概率分布。S个业务数据的概率分布可以是条件向量,其中每个元素表示神经网络输出层的一个神经元。这些神经元通常对应于不同的类别或标签。Softmax函数将这些神经元的输出转换为概率分布,使得每个类别的概率值之和为1。这使得它们可以被视为每个类别的预测概率。在分类任务中,S个业务数据的概率分布可以用于确定输入样本属于哪个类别。计算机设备可以选择具有最高概率值的类别作为S个业务数据的预测类别。此外,Softmax函数的输出结果还可以用于计算模型的损失函数。在多类别分类问题中,S个业务数据的概率分布可以用于计算损失函数所对应的交叉熵。
本申请实施例通过获取业务数据对应的目标算术分片以及截断因子,基于截断因子对目标算术分片进行截断处理,从而将目标算术分片压缩至多项式展开精度较高的区间范围,保证了计算服务的精度需求,得到基础算术分片,对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子,将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片,可以通过展开因子和系数因子计算基础算术分片多项式展开得到的邻项展开式(邻项展开分片),从而将两项相邻的展开式合并计算为一项邻项展开式,减少了计算步骤,可以提高计算服务的效率。将M个邻项展开分片的分片加法运算结果确定为待还原算术分片,对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片,可以通过K次平方运算,将待还原算术分片还原为指数算术分片,从而只需迭代压缩至精度较高的区间范围所需的截断因子的次数,避免了在误差较大的区间计算庞大的多项式来逼近精度需求,减少了计算多项式的迭代次数,从而提高了计算服务的效率,减少了计算成本的开销,通过指数算术分片为联邦模型提供针对业务数据的计算服务,可以在保证计算服务的精度的同时,提高了计算服务的效率。
另一方面,基础算术分片,基础算术分片所计算得到的全部展开因子、以及偶数项的系数因子(例如可以是的符号也为正),待还原算术分片迭代计算得到的迭代算术分片,其分片符号均已知,在进行分片乘法运算时,可以省略分片比较运算,加速计算Truncate,从而提高了计算服务的效率。
请参见图8,图8是本申请实施例提供的一种数据处理方法的流程示意图三,该数据处理方法可以由计算机设备执行,计算机设备可以是如图1所示的第一服务器100。以下将以本数据处理方法由计算机设备执行为例进行说明。
具体的,计算机设备可以获取业务数据所对应的目标算术分片和截断因子K。其中,业务数据可以用于参与训练针对第一参与方与第二参与方的联邦模型,业务数据所对应的目标算术分片可以是第二参与方所提供的业务数据中,数值最大的业务数据所对应的算术分片。截断因子可以是基于业务数据的取值范围所确定的预设数值。
计算机设备可以基于截断因子对目标算术分片进行截断处理(Truncate),执行,可以是将目标算术分片裁剪K个比特位,得到基础算术分片。其中,K为截断因子的数值,目标算术分片与基础算术分片满足。可以用于与业务数据进行截断处理,将业务数据的取值范围压缩至[-1,1]的区间中。即
将业务数据的取值范围压缩至[-1,1]的区间中后,计算机设备可以通过泰勒展开公式P(x)的前N项近似计算在[-1,1]的区间,自然对数e的指数运算exp(x)。计算P(x)=,得到M-1个展开因子以及M个系数因子。M-1个展开因子可以包括展开因子(也可以表示为展开因子)、展开因子(也可以表示为展开因子)、……、展开因子(也可以表示为展开因子)。M个系数因子可以包括、……、。其中,系数因子=。展开因子=,当i等于1时,==。多项式展开的方式可以是泰勒展开、幂函数展开、帕德展开等,本申请实施例在此不做限制。
计算机设备可以将系数因子确定为邻项展开分片,系数因子即基础算术分片进行多项式展开中,阶乘系数所对应的系数因子。将M-1个展开因子与M-1个系数因子进行分片乘法运算,得到M-1个邻项展开分片,将M个邻项展开分片的分片加法运算结果确定为待还原算术分片
可以理解,在本申请实施例的流程中,区间[-1,1]上的逼近多项式P(x)可以选择使用exp的泰勒展开的前8项,也可以考虑利用函数逼近方法(remez方法,切比雪夫多项式逼近等方法)获得更好的多项式,例如减少多项式的代数次数,降低计算分片乘法的次数,从而提高计算服务的效率。
经实验测试,本申请实施例的计算指数算术分片的流中程,在10000数据规模下,平均误差为0.093,最大误差为2.82。其中,输入业务数据的数值的范围为[-10,10],计算耗时约17s。低于现有技术的计算耗时,而现有技术在区间[-10,10]下的明文计算精度最大误差高达100,甚至出现计算结果错误的情况。
计算机设备可以对待还原算术分片进行K次迭代分片乘法运算,例如可以是对待还原算术分片进行分片乘法运算,执行,得到迭代算术分片,对迭代算术分片进行分片乘法运算,执行,得到迭代算术分片,直至对待还原算术分片完成K次迭代分片乘法运算,将第K次迭代得到的迭代算术分片确定为目标算术分片对应的指数算术分片,可以通过K次平方运算,将待还原算术分片还原为指数算术分片,从而只需迭代压缩至精度较高的区间范围所需的截断因子的次数,避免了在误差较大的区间计算庞大的多项式来逼近精度需求,减少了计算多项式的迭代次数,从而提高了计算服务的效率,减少了计算成本的开销。其中,K为截断因子的数值,指数算术分片用于为联邦模型提供针对业务数据的计算服务。可以理解,指数算术分片可以作为计算服务,通过Softmax函数将业务数据转换为概率分布,使得每个类别的概率值之和为1。从而在分类任务中,确定业务数据属于哪个类别。可以选择具有最高概率值的类别作为业务数据的预测类别。此外,指数算术分片还可以用于计算模型的损失函数,例如在多类别分类问题中,可以用于计算损失函数所对应的交叉熵。
可以理解,截断因子可以将目标算术分片压缩至精度取值范围,精度取值范围可以是进行多项式展开具有收敛性的区间,例如可以是[-1,1],即精度取值范围内的多项式函数是光滑的,具有有限的导数,将目标算术分片压缩至多项式展开精度较高的区间范围,保证了计算服务的精度需求,可以提高计算多项式的精度。计算机设备可以只需迭代压缩至精度较高的区间范围所需的截断因子的次数,来还原在精度取值范围内的压缩运算结果,避免了在误差较大的区间计算庞大的多项式来逼近精度需求。
本申请实施例通过获取业务数据对应的目标算术分片以及截断因子,基于截断因子对目标算术分片进行截断处理,从而将目标算术分片压缩至多项式展开精度较高的区间范围,保证了计算服务的精度需求,得到基础算术分片,对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子,将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片,可以通过展开因子和系数因子计算基础算术分片多项式展开得到的邻项展开式(邻项展开分片),从而将两项相邻的展开式合并计算为一项邻项展开式,减少了计算步骤,可以提高计算服务的效率。将M个邻项展开分片的分片加法运算结果确定为待还原算术分片,对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片,可以通过K次平方运算,将待还原算术分片还原为指数算术分片,从而只需迭代压缩至精度较高的区间范围所需的截断因子的次数,避免了在误差较大的区间计算庞大的多项式来逼近精度需求,减少了计算多项式的迭代次数,从而提高了计算服务的效率,减少了计算成本的开销,通过指数算术分片为联邦模型提供针对业务数据的计算服务,可以在保证计算服务的精度的同时,提高了计算服务的效率。
另一方面,基础算术分片,基础算术分片所计算得到的全部展开因子、以及偶数项的系数因子(例如可以是的符号也为正),待还原算术分片迭代计算得到的迭代算术分片,其分片符号均已知,在进行分片乘法运算时,可以省略分片比较运算,加速计算Truncate,从而提高了计算服务的效率。
请参见图9,图9是本申请实施例提供的一种数据处理装置的结构示意图。如图9所示,该数据处理装置1包括分片获取模块910、分片展开模块920、分片处理模块930和分片还原模块940。
分片获取模块910,用于获取业务数据对应的目标算术分片以及截断因子;截断因子是基于业务数据的取值范围所确定的,业务数据用于参与训练联邦模型;
分片展开模块920,用于基于截断因子对目标算术分片进行截断处理,得到基础算术分片,对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子;M为正整数;
分片处理模块930,用于将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片,将M个邻项展开分片的分片加法运算结果确定为待还原算术分片;
分片还原模块940,用于对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片;K为截断因子的数值,指数算术分片用于为联邦模型提供针对业务数据的计算服务。
在一种可能的实现方式中,分片展开模块920用于基于截断因子对目标算术分片进行截断处理,得到基础算术分片时,具体用于执行以下操作:
对目标算术分片裁剪K个比特位,得到基础算术分片;K为截断因子的数值,目标算术分片为基础算术分片的
在一种可能的实现方式中,M-1个展开因子包括展开因子,M个系数因子包括系数因子;i为非负整数;分片展开模块920用于对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子时,具体用于执行以下操作:
获取拉伸因子和N个阶乘系数;N为M的两倍数值,拉伸因子是基于业务数据的位宽长度所确定的,N个阶乘系数为自然对数的指数运算展开式的前N项的系数;
基于拉伸因子和N个阶乘系数迭代生成M-1个展开因子,基于基础算术分片和N个阶乘系数,生成M个系数因子。
在一种可能的实现方式中,M-1个展开因子包括展开因子,分片展开模块920用于基于拉伸因子和N个阶乘系数迭代生成M-1个展开因子时,具体用于执行以下操作:
基于拉伸因子对基础算术分片进行分片乘法运算,得到展开因子,基于拉伸因子对展开因子进行分片乘法运算,得到展开因子,继续基于拉伸因子对展开因子进行分片乘法运算,直至获取到M-1个展开因子。
在一种可能的实现方式中,N个阶乘系数包括阶乘系数,M个系数因子包括系数因子,j为非负整数,j为i的两倍数值;分片展开模块920用于基于基础算术分片和N个阶乘系数,生成M个系数因子时,具体用于执行以下操作:
对阶乘系数进行浮点数编码,得到第一计算因子;
获取阶乘系数对应的算术分片,将阶乘系数对应的算术分片确定为编码计算因子,对基础算术分片与编码计算因子进行分片乘法运算,得到第二计算因子;
对第一计算因子与第二计算因子进行分片加法运算,得到系数因子
在一种可能的实现方式中,阶乘系数包括阶乘系数,分片展开模块920用于将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片时,具体用于执行以下操作:
将阶乘系数所对应的系数因子确定为邻项展开分片;阶乘系数为自然对数的指数运算展开式的第一项的系数;
将M-1个展开因子与M-1个系数因子进行分片乘法运算,得到M-1个邻项展开分片;M-1个系数因子为M个系数因子除系数因子之外的系数因子。
在一种可能的实现方式中,分片展开模块920模块用于获取阶乘系数对应的算术分片,将阶乘系数对应的算术分片确定为编码计算因子时,具体用于执行以下操作:
基于拉伸因子对阶乘系数进行浮点数编码,得到拉伸编码值,对拉伸编码值进行算术分片处理,得到编码计算因子和交互算术分片;拉伸编码值是整数环中的元素,编码计算因子与交互算术分片的分片加法运算结果为拉伸编码值。
在一种可能的实现方式中,分片还原模块940用于对待还原算术分片迭代进行K次分片乘法运算,得到目标算术分片对应的指数算术分片时,具体用于执行以下操作:
基于拉伸因子对待还原算术分片进行分片乘法运算,得到迭代算术分片,基于拉伸因子对迭代算术分片进行分片乘法运算,得到新的迭代算术分片,继续基于拉伸因子对新的迭代算术分片进行分片乘法运算,直至迭代次数达到K次,将第K次迭代得到的迭代算术分片确定为目标算术分片对应的指数算术分片。
在一种可能的实现方式中,业务数据的数量为S,S为正整数,分片获取模块910还用于执行以下操作:
在S个业务算术分片中随机确定初始算术分片以及比较算术分片,将初始算术分片以及比较算术分片确定为待比较分片组,对待比较分片组进行分片比较运算,得到较大算术分片;
在除初始算术分片以及比较算术分片之外的业务算术分片中随机获取新的比较算术分片,将较大算术分片和新的比较算术分片确定为新的待比较分片组,对新的待比较分片组进行分片比较运算,得到新的较大算术分片,直至遍历完S个业务算术分片,将最后得到的较大算术分片确定为上限算术分片;上限算术分片为S个业务算术分片之中数值最大的业务数据所对应的算术分片。
在一种可能的实现方式中,分片获取模块910用于将数值最大的业务数据所对应的业务算术分片确定为上限算术分片时,具体用于执行以下操作:
在S个业务算术分片中随机确定初始算术分片以及比较算术分片,将初始算术分片以及比较算术分片确定为待比较分片组,对待比较分片组进行分片比较运算,得到较大算术分片;
在除初始算术分片以及比较算术分片之外的业务算术分片中随机获取新的比较算术分片,将较大算术分片和新的比较算术分片确定为新的待比较分片组,对新的待比较分片组进行分片比较运算,得到新的较大算术分片,直至遍历完S个业务算术分片,将最后得到的较大算术分片确定为上限算术分片;上限算术分片为S个业务算术分片之中数值最大的业务数据所对应的算术分片。
在一种可能的实现方式中,分片获取模块910还用于执行以下操作:
在除目标算术分片之外的待选择算术分片中继续确定新的目标算术分片,生成新的目标算术分片对应的指数算术分片,直至遍历完S个待选择算术分片,得到S个指数算术分片;
将S个指数算术分片的分片加法运算结果,确定为累加算术分片,将S个指数算术分片分别与累加算术分片进行分片除法运算,得到S个分布算术分片;S个分布算术分片用于指示S个业务数据的概率分布。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
请参见图10,图10是本申请实施例提供的一种计算机设备的结构示意图。如图10所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图10所示的计算机设备1000中,网络接口1004可提供网络通讯网元;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取业务数据对应的目标算术分片以及截断因子;截断因子是基于业务数据的取值范围所确定的,业务数据用于参与训练联邦模型;
基于截断因子对目标算术分片进行截断处理,得到基础算术分片,对基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子;M为正整数;
将M-1个展开因子与M个系数因子进行分片乘法运算,得到M个邻项展开分片,将M个邻项展开分片的分片加法运算结果确定为待还原算术分片;
对待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片;K为截断因子的数值,指数算术分片用于为联邦模型提供针对业务数据的计算服务。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3、图5和图8任一个所对应实施例中对该数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有计算机程序,当上述处理器执行上述计算机程序时,能够执行前文图3、图5和图8任一个所对应实施例中对上述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经显示或者将要显示的数据。
此外,这里需要指出的是:本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行前文图3、图5和图8任一个所对应实施例提供的方法。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照网元一般性地描述了各示例的组成及步骤。这些网元究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的网元,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (15)

1.一种数据处理方法,其特征在于,包括:
获取业务数据对应的目标算术分片以及截断因子;所述截断因子是基于所述业务数据的取值范围所确定的,所述业务数据用于参与训练联邦模型;
基于所述截断因子对所述目标算术分片进行截断处理,得到基础算术分片,对所述基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子;M为正整数;
将所述M-1个展开因子与所述M个系数因子进行分片乘法运算,得到M个邻项展开分片,将所述M个邻项展开分片的分片加法运算结果确定为待还原算术分片;
对所述待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片;K为截断因子的数值,所述指数算术分片用于为所述联邦模型提供针对所述业务数据的计算服务。
2.根据权利要求1所述的方法,其特征在于,基于所述截断因子对所述目标算术分片进行截断处理,得到基础算术分片,包括:
对所述目标算术分片裁剪K个比特位,得到基础算术分片;K为截断因子的数值,所述目标算术分片为所述基础算术分片的
3.根据权利要求1所述的方法,其特征在于,M-1个展开因子包括展开因子,M个系数因子包括系数因子;i为非负整数;
所述对所述基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子,包括:
获取拉伸因子和N个阶乘系数;N为M的两倍数值,所述拉伸因子是基于所述业务数据的位宽长度所确定的,所述N个阶乘系数为自然对数的指数运算展开式的前N项的系数;
基于所述拉伸因子和所述N个阶乘系数迭代生成M-1个展开因子,基于所述基础算术分片和所述N个阶乘系数,生成M个系数因子。
4.根据权利要求3所述的方法,其特征在于,M-1个展开因子包括展开因子,所述基于所述拉伸因子和N个阶乘系数迭代生成M-1个展开因子,包括:
基于所述拉伸因子对所述基础算术分片进行分片乘法运算,得到展开因子,基于所述拉伸因子对所述展开因子进行分片乘法运算,得到展开因子,继续基于所述拉伸因子对所述展开因子进行分片乘法运算,直至获取到M-1个展开因子。
5.根据权利要求3所述的方法,其特征在于,所述N个阶乘系数包括阶乘系数,M个系数因子包括系数因子,j为非负整数,j为i的两倍数值;所述基于所述基础算术分片和所述N个阶乘系数,生成M个系数因子,包括:
对所述阶乘系数进行浮点数编码,得到第一计算因子;
获取阶乘系数对应的算术分片,将所述阶乘系数对应的算术分片确定为编码计算因子,对所述基础算术分片与所述编码计算因子进行分片乘法运算,得到第二计算因子;
对所述第一计算因子与所述第二计算因子进行分片加法运算,得到系数因子
6.根据权利要求5所述的方法,其特征在于,所述阶乘系数包括阶乘系数,所述将所述M-1个展开因子与所述M个系数因子进行分片乘法运算,得到M个邻项展开分片,包括:
将所述阶乘系数所对应的系数因子确定为邻项展开分片;所述阶乘系数为自然对数的指数运算展开式的第一项的系数;
将所述M-1个展开因子与M-1个系数因子进行分片乘法运算,得到M-1个邻项展开分片;所述M-1个系数因子为所述M个系数因子除所述系数因子之外的系数因子。
7.根据权利要求5所述的方法,其特征在于,所述获取阶乘系数对应的算术分片,将所述阶乘系数对应的算术分片确定为编码计算因子,包括:
基于拉伸因子对所述阶乘系数进行浮点数编码,得到拉伸编码值,对所述拉伸编码值进行算术分片处理,得到编码计算因子和交互算术分片;所述拉伸编码值是整数环中的元素,所述编码计算因子与所述交互算术分片的分片加法运算结果为所述拉伸编码值。
8.根据权利要求1所述的方法,其特征在于,所述对所述待还原算术分片迭代进行K次分片乘法运算,得到目标算术分片对应的指数算术分片,包括:
基于所述拉伸因子对所述待还原算术分片进行分片乘法运算,得到迭代算术分片,基于所述拉伸因子对所述迭代算术分片进行分片乘法运算,得到新的迭代算术分片,继续基于所述拉伸因子对所述新的迭代算术分片进行分片乘法运算,直至迭代次数达到K次,将第K次迭代得到的迭代算术分片确定为所述目标算术分片对应的指数算术分片。
9.根据权利要求1所述的方法,其特征在于,所述业务数据的数量为S,S为正整数;所述方法还包括:
获取S个业务数据分别对应的业务算术分片,将数值最大的业务数据所对应的业务算术分片确定为上限算术分片,将所述上限算术分片与每个业务算术分片之间的分片减法运算结果,确定为S个待选择算术分片,在所述S个待选择算术分片中获取目标算术分片。
10.根据权利要求9所述的方法,其特征在于,所述将数值最大的业务数据所对应的业务算术分片确定为上限算术分片,包括:
在S个业务算术分片中随机确定初始算术分片以及比较算术分片,将所述初始算术分片以及所述比较算术分片确定为待比较分片组,对所述待比较分片组进行分片比较运算,得到较大算术分片;
在除所述初始算术分片以及所述比较算术分片之外的业务算术分片中随机获取新的比较算术分片,将所述较大算术分片和所述新的比较算术分片确定为新的待比较分片组,对所述新的待比较分片组进行分片比较运算,得到新的较大算术分片,直至遍历完所述S个业务算术分片,将最后得到的较大算术分片确定为上限算术分片;所述上限算术分片为所述S个业务算术分片之中数值最大的业务数据所对应的算术分片。
11.根据权利要求9所述的方法,其特征在于,还包括:
在除所述目标算术分片之外的待选择算术分片中继续确定新的目标算术分片,生成所述新的目标算术分片对应的指数算术分片,直至遍历完所述S个待选择算术分片,得到S个指数算术分片;
将所述S个指数算术分片的分片加法运算结果,确定为累加算术分片,将所述S个指数算术分片分别与所述累加算术分片进行分片除法运算,得到S个分布算术分片;所述S个分布算术分片用于指示所述S个业务数据的概率分布。
12.一种数据处理装置,其特征在于,包括:
分片获取模块,用于获取业务数据对应的目标算术分片以及截断因子;所述截断因子是基于所述业务数据的取值范围所确定的,所述业务数据用于参与训练联邦模型;
分片展开模块,用于基于所述截断因子对所述目标算术分片进行截断处理,得到基础算术分片,对所述基础算术分片进行多项式展开,得到M-1个展开因子以及M个系数因子;M为正整数;
分片处理模块,用于将所述M-1个展开因子与所述M个系数因子进行分片乘法运算,得到M个邻项展开分片,将所述M个邻项展开分片的分片加法运算结果确定为待还原算术分片;
分片还原模块,用于对所述待还原算术分片进行K次迭代分片乘法运算,得到目标算术分片对应的指数算术分片;K为截断因子的数值,所述指数算术分片用于为所述联邦模型提供针对所述业务数据的计算服务。
13.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-11任一项所述的方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,且适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-11任一项所述的方法。
CN202410177138.2A 2024-02-08 2024-02-08 数据处理方法、装置、设备及可读存储介质 Active CN117725621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410177138.2A CN117725621B (zh) 2024-02-08 2024-02-08 数据处理方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410177138.2A CN117725621B (zh) 2024-02-08 2024-02-08 数据处理方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN117725621A true CN117725621A (zh) 2024-03-19
CN117725621B CN117725621B (zh) 2024-05-28

Family

ID=90200203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410177138.2A Active CN117725621B (zh) 2024-02-08 2024-02-08 数据处理方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN117725621B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021204271A1 (zh) * 2020-04-10 2021-10-14 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型
CN115766009A (zh) * 2022-11-23 2023-03-07 蚂蚁区块链科技(上海)有限公司 多方安全计算中针对2的幂次求逆的方法及装置
CN115906126A (zh) * 2022-12-12 2023-04-04 蚂蚁区块链科技(上海)有限公司 多方安全计算中的数据处理的方法及装置
CN115906137A (zh) * 2022-12-31 2023-04-04 支付宝(杭州)信息技术有限公司 用于多方安全计算的数据处理方法及装置
WO2023134077A1 (zh) * 2022-01-17 2023-07-20 平安科技(深圳)有限公司 基于联邦因子分解机的同态加密方法、系统、设备及存储介质
CN116955857A (zh) * 2022-11-16 2023-10-27 腾讯科技(深圳)有限公司 数据处理方法、装置、介质及电子设备
CN116957112A (zh) * 2023-02-08 2023-10-27 腾讯科技(深圳)有限公司 联合模型的训练方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021204271A1 (zh) * 2020-04-10 2021-10-14 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型
WO2023134077A1 (zh) * 2022-01-17 2023-07-20 平安科技(深圳)有限公司 基于联邦因子分解机的同态加密方法、系统、设备及存储介质
CN116955857A (zh) * 2022-11-16 2023-10-27 腾讯科技(深圳)有限公司 数据处理方法、装置、介质及电子设备
CN115766009A (zh) * 2022-11-23 2023-03-07 蚂蚁区块链科技(上海)有限公司 多方安全计算中针对2的幂次求逆的方法及装置
CN115906126A (zh) * 2022-12-12 2023-04-04 蚂蚁区块链科技(上海)有限公司 多方安全计算中的数据处理的方法及装置
CN115906137A (zh) * 2022-12-31 2023-04-04 支付宝(杭州)信息技术有限公司 用于多方安全计算的数据处理方法及装置
CN116957112A (zh) * 2023-02-08 2023-10-27 腾讯科技(深圳)有限公司 联合模型的训练方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN117725621B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
CN109002861B (zh) 联邦建模方法、设备及存储介质
CA3104646C (en) Neural network acceleration and embedding compression systems and methods with activation sparsification
CN111898364B (zh) 神经网络关系抽取方法、计算机设备及可读存储介质
CN109783655A (zh) 一种跨模态检索方法、装置、计算机设备和存储介质
WO2020140386A1 (zh) 基于TextCNN知识抽取方法、装置、计算机设备及存储介质
US11176469B2 (en) Model training methods, apparatuses, and systems
CN112418292B (zh) 一种图像质量评价的方法、装置、计算机设备及存储介质
CN111444340A (zh) 文本分类和推荐方法、装置、设备及存储介质
Jahid et al. Image analysis by Meixner moments and a digital filter
CN112116155A (zh) 基于智能决策的人口流动预测方法、装置及计算机设备
WO2022048363A1 (zh) 网站分类方法、装置、计算机设备及存储介质
CN112231416B (zh) 知识图谱本体更新方法、装置、计算机设备及存储介质
CN112734104B (zh) 一种融合生成对抗网络和自编码器的跨域推荐方法
CN117454495B (zh) 一种基于建筑草图轮廓序列的cad矢量模型生成方法及装置
CN112035549A (zh) 数据挖掘方法、装置、计算机设备及存储介质
CN113240071A (zh) 图神经网络处理方法、装置、计算机设备及存储介质
CN112199954A (zh) 基于语音语义的疾病实体匹配方法、装置及计算机设备
CN112634158A (zh) 人脸图像恢复方法、装置、计算机设备及存储介质
CN115438370A (zh) 全匿联邦学习模型的训练方法、设备和存储介质
CN114241459A (zh) 一种驾驶员身份验证方法、装置、计算机设备及存储介质
CN112836502A (zh) 一种金融领域事件隐式因果关系抽取方法
Guerrero et al. Integer-valued autoregressive processes with prespecified marginal and innovation distributions: a novel perspective
CN117131438B (zh) 诉讼文件分析方法、模型训练方法、装置、设备及介质
CN117725621B (zh) 数据处理方法、装置、设备及可读存储介质
CN111723186A (zh) 用于对话系统的基于人工智能的知识图谱生成方法、电子设备

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
GR01 Patent grant
GR01 Patent grant