业务处理设备、方法、系统、电子设备及存储介质与流程

    专利查询2022-07-08  136



    1.本公开涉及计算机技术领域,尤其涉及一种业务处理设备、方法、系统、电子设备及存储介质。


    背景技术:

    2.人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等,人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大。
    3.随着人工智能技术的发展,对硬件设备的要求也越来越高。相关技术中,在进行硬件设备设计过程中,会将机器学习网络进行相关业务处理涉及的运算固定的映射到对应的硬件单元;但一些机器学习网络进行相关业务处理过程中,常常涉及多种运算,且不同业务场景下输入数据的长度往往是可变的,导致相关技术中通过将每一运算固定的映射到对应的硬件单元的方式,存在硬件利用率较低,硬件资源浪费,计算效率较低,以及设备无法实现理想吞吐率,业务处理效率较低等问题。


    技术实现要素:

    4.本公开提供一种业务处理设备、方法、系统、电子设备及存储介质,以至少解决相关技术中硬件利用率较低,硬件资源浪费,计算效率较低,以及设备无法实现理想吞吐率,业务处理效率较低等问题。本公开的技术方案如下:
    5.根据本公开实施例的第一方面,提供一种业务处理设备,包括:业务处理单元;
    6.所述业务处理单元,被配置为执行目标业务对应的业务处理网络进行业务处理过程中的至少一种业务运算;所述业务处理单元包括第一数量个并行内积单元,任一所述并行内积单元包括第二数量个基础内积单元,所述第二数量个基础内积单元并联;任一所述基础内积单元包括第三数量个乘法器和第一加法器;所述第三数量个乘法器分别与所述第一加法器串联;
    7.任一所述基础内积单元被配置为执行任一所述业务运算对应的左乘业务矩阵与右乘业务矩阵中任意一列间的相乘运算;所述左乘业务矩阵被拆分成第四数量个子业务矩阵,任一所述业务运算对应的所述第四数量个子业务矩阵按照执行时间顺序依次输入所述第三数量个乘法器中;所述第四数量为所述左乘业务矩阵的行数;
    8.任一所述并行内积单元被配置为并行执行所述左乘业务矩阵与所述右乘业务矩阵中第二数量个列间的相乘运算。
    9.在一个可选的实施例中,在所述至少一种业务运算为多种业务运算的情况下,所述业务处理网络中第一网络参数为所述第一数量的整数倍,所述第一网络参数表征多种所述业务运算对应的运算量;
    10.所述业务处理网络中第二网络参数为所述第二数量的整数倍;所述第二网络参数
    表征所述至少一种运算对应的右乘业务矩阵的列数;
    11.所述业务处理网络中第三网络参数为所述第三数量的整数倍,所述第三网络参数表征所述至少一种运算对应的左乘业务矩阵的列数。
    12.在一个可选的实施例中,在所述至少一种业务运算为一种业务运算的情况下,所述业务处理网络中第一网络参数为所述第一数量的整数倍,所述第一网络参数表征多种所述业务运算对应的运算量;
    13.所述业务处理网络中第二网络参数为所述第二数量的整数倍;所述第二网络参数表征所述至少一种运算对应的右乘业务矩阵的列数;
    14.所述业务处理网络中第三网络参数为所述第三数量的整数倍,且所述第三网络参数为所述第一数量和所述第二数量乘积的整数倍,所述第三网络参数表征所述至少一种运算对应的左乘业务矩阵的列数。
    15.在一个可选的实施例中,在所述第四数量大于所述第三数量的情况下,任一所述基础内积单元还包括:累加器;所述累加器与所述第一加法器串联;
    16.所述累加器被配置为执行,对第五数量次所述第一加法器的输出进行累加处理;
    17.所述第五数量等于对所述第四数量除以所述第三数量后的数值,进行进位取整后的数值。
    18.在一个可选的实施例中,所述业务处理单元还包括:第二加法器、控制单元和量化单元;
    19.所述第二加法器分别与所述第一数量个并行内积单元串联;
    20.所述第一数量个并行内积单元和所述第二加法器分别与所述控制单元的输入端串联,所述控制单元的输出端与所述量化单元串联;
    21.所述控制单元用于控制传输给所述量化单元的数据来源;
    22.所述量化单元用于对所述控制单元控制传输的数据进行量化处理。
    23.在一个可选的实施例中,所述业务处理设备还包括:动态随机存取存储器、静态随机存取存储器和本地寄存器;
    24.所述动态随机存取存储器用于存储所述业务处理网络进行业务处理过程中的输入业务数据、网络参数和输出数据;
    25.所述静态随机存取存储器用于存储所述输入业务数据、所述网络参数和所述业务处理网络进行业务处理过程中的中间处理结果数据;
    26.所述本地寄存器用于存储目标数据,所述目标数据为所述业务处理网络进行业务处理过程中的使用次数大于等于预设次数的数据。
    27.根据本公开实施例的第二方面,提供一种业务处理方法,包括:
    28.获取目标业务的业务数据;
    29.控制如第一方面任一所述的业务处理设备,执行将所述业务数据输入所述目标业务对应的业务处理网络进行业务处理,得到所述目标业务的业务处理结果。
    30.根据本公开实施例的第三方面,提供一种业务处理系统,包括:
    31.业务数据获取模块,被配置为执行获取目标业务的业务数据;
    32.业务处理设备,被配置为执行将所述业务数据输入所述目标业务对应的业务处理网络进行业务处理,得到所述目标业务的业务处理结果。
    33.根据本公开实施例的第四方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上述第二方面所述的方法。
    34.根据本公开实施例的第五方面,提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本公开实施例的第二方面所述方法。
    35.根据本公开实施例的第六方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本公开实施例的第二方面所述方法。
    36.本公开的实施例提供的技术方案至少带来以下有益效果:
    37.结合基础内积单元、并行内积单元和业务处理单元,可以分层次对网络进行业务处理过程中的至少一种业务运算进行硬件映射,即将至少一种业务运算映射到包括分层布局的基础内积单元、并行内积单元和业务处理单元的业务处理设备,大大提升硬件映射的灵活性;且通过将网络层输入业务矩阵(左乘业务矩阵)按照行数进行拆分,且拆分后的子业务矩阵映射到先后执行时间顺序上,可以有效应对不同长度的输入序列,实现对可变输入序列的并行处理,大大提升了硬件利用率,减少硬件资源的浪费,提升计算效率,进而也可以提升业务处理设备的吞吐率和业务处理效率。
    38.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
    附图说明
    39.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
    40.图1是根据一示例性实施例示出的一种业务处理设备的示意图;
    41.图2是根据一示例性实施例提供的一种基础内积单元的示意图;
    42.图3是根据一示例性实施例提供的一种并行内积单元的示意图;
    43.图4是根据一示例性实施例提供的另一种基础内积单元的示意图;
    44.图5是根据一示例性实施例提供的一种业务处理单元的示意图;
    45.图6是根据一示例性实施例示出的一种业务处理方法的流程图;
    46.图7是根据一示例性实施例示出的一种基于业务处理设备,执行将业务数据输入所述目标业务对应的业务处理网络进行业务处理,得到目标业务的业务处理结果的示意图;
    47.图8是根据一示例性实施例示出的一种业务处理系统框图;
    48.图9是根据一示例性实施例示出的一种用于业务处理的电子设备的框图。
    具体实施方式
    49.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
    50.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的用户账号,而不必用于描述特定的顺序或先后次序。应该理解这样
    使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
    51.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
    52.请参阅图1,图1是根据一示例性实施例示出的一种业务处理设备的示意图,如图1所示,可以包括:业务处理单元100;
    53.在一个具体的实施例中,上述业务处理单元100,被配置为执行目标业务对应的业务处理网络进行业务处理过程中的至少一种业务运算。
    54.本说明书实施例中,目标业务可以结合实际应用场景需求的不同而不同。可选的,目标业务可以为多媒体资源推荐业务(例如结合用户对多媒体资源的兴趣偏好进行多媒体资源的推荐)。相应的,业务处理网络可以为用于进行兴趣识别的网络。该业务处理网络可以为预先基于样本业务数据对机器学习网络进行训练得到的。样本业务数据可以为样本用户账号的用户账号属性数据,样本用户账号对应的多媒体资源的资源属性数据(执行过预设操作的第一多媒体资源的资源属性数据和未执行过预设操作的第二多媒体资源的资源属性数据)。可选的,多媒体资源可以包括文本、图像等静态资源,也可以包括短视频等动态资源。在一个具体的实施例中,资源属性数据可以为用于描述多媒体资源的信息,以多媒体资源为视频为例,资源属性数据可以包括多媒体资源的发布者信息、资源标识、发布日期、视频帧图像、音频信息、播放时长、标题信息等数据。用户账号属性数据可以为用于描述样本用户账号兴趣喜好的数据,具体的,用户账号属性数据可以包括但不限于用户账号对应的用户性别、年龄、学历、地域等数据。上述预设操作可以包括但不限于浏览、点击、转化(例如基于多媒体资源购买了相关产品,或基于多媒体资源下载了相关应用等)等。可选的,目标业务可以为分类业务(例如识别图像中对象类别)。相应的,业务处理网络可以为用于进行对象识别的网络。该业务处理网络可以为预先基于具有对象类别标注(例如猫、狗等对象的类别标签)的样本对象图像对机器学习网络进行训练得到的。
    55.在一个具体的实施例中,至少一种业务运算可以为至少一种矩阵乘法运算。可选的,两个矩阵乘法运算对应的左乘矩阵和/或右乘矩阵的尺寸不同的情况下,这两个矩阵乘法运算对应不同中的矩阵乘法运算。
    56.在一个可选的实施例中,上述业务处理单元100可以包括第一数量个并行内积单元101;具体的,第一数量可以为大于等于一的整数,第一数量可以结合实际应用中的业务运算的运算量进行设置。
    57.在一个可选的实施例中,任一上述并行内积单元101可以包括第二数量个基础内积单元102;具体的,第二数量可以为大于等于一的整数,第二数量可以结合实际应用中的业务运算对应的矩阵尺寸进行设置。可选的,上述第二数量个基础内积单元可以并联。
    58.在一个可选的实施例中,任一上述基础内积单元102可以包括第三数量个乘法器和第一加法器;具体的,第三数量可以为大于等于一的整数,第三数量可以结合实际应用中的业务运算对应的矩阵尺寸进行设置。具体的,上述第三数量个乘法器可以分别与上述第
    一加法器串联;第一加法器可以为一个加法器,用于对第三数量个乘法器的输出数据进行相加处理。
    59.在一个可选的实施例中,任一上述基础内积单元102被配置为执行任一业务运算对应的左乘业务矩阵与右乘业务矩阵中任意一列间的相乘运算;具体的,左乘业务矩阵在参与业务运算的过程中,可以被拆分成第四数量个子业务矩阵,第四数量可以为左乘业务矩阵的行数,任一业务运算对应的第四数量个子业务矩阵可以按照执行时间顺序依次输入第三数量个乘法器中;
    60.在一个具体的实施例中,每一业务运算对应的左乘业务矩阵可以为该业务运算所在网络层对应的输入矩阵。例如,某一网络层对应的输入矩阵的尺寸为:s*dmodel,相应的,可以将该输入矩阵拆分成,s个1*dmodel的子业务矩阵;进一步的,可以将s个子业务矩阵按照执行时间顺序依次输入第三数量个乘法器中,由第三数量个乘法器按照执行时间顺序依次处理s个1*dmodel的子业务矩阵与对应右乘业务矩阵某一列间的运算。即通过将输入矩阵按照行数拆分成多个子业务矩阵,可以避免业务运算与硬件设备间固定映射,灵活应对不同长度的输入业务矩阵对应的业务运算。
    61.在一个可选的实施例中,任一上述并行内积单元101可以被配置为并行执行某一业务运算对应的左乘业务矩阵与右乘业务矩阵中第二数量个列间的相乘运算。
    62.在实际应用中,在业务处理网络进行业务处理过程中,某一时刻需要处理的业务运算可以为一种或多种业务运算。可选的,可以结合实际应用选择至少一个并行内积单元来处理一种业务运算。
    63.在一个具体的实施例中,假设第三数量为v_l,如图2所示,图2是根据一示例性实施例提供的一种基础内积单元的示意图。具体的,v_l乘法器的输入依次可以为任一业务运算对应的左乘业务矩阵中某一行v_l列的元素,以及该业务运算对应的右乘业务矩中的某一列。
    64.在一个具体的实施例中,假设第二数量为v_n,第三数量为v_l;如图3所示,图3是根据一示例性实施例提供的一种并行内积单元的示意图。具体的,v_n个基础内积单元并联,v_n基础内积单元共享左乘业务矩阵,且每一基础内积单元对应右乘业务矩阵的一列。图3中,left和right分别代表左乘业务矩阵对应元素和右乘业务矩阵对应元素,x、y、z分别代表元素在对应业务矩阵中的坐标位置信息,以left(x,y)为例,left(x,y)为左乘业务矩阵中第x行第y列的元素;以right(y,z)为例,right(y,z)为右乘业务矩阵中第y行第z列的元素;可选的,以基础内积单元0为例,基础内积单元0可以用于进行左乘业务矩阵中第x行第y至y v_l-1列的元素,与右乘业务矩阵第y至y v_l-1行第z列的元素间的运算;相应的,基础内积单元0输出的output(x,z)可以为左乘业务矩阵和右乘业务矩阵相乘后的结果矩阵中第x行第z列的元素;相应的,v_n个基础内积单元输出的结果:output(x,z:z v_n-1)可以为左乘业务矩阵和右乘业务矩阵相乘后的结果矩阵中第x行第z至z v_n-1列的元素。
    65.由以上本说明书实施例提供的技术方案可见,本说明书实施例中的业务处理设备,结合基础内积单元、并行内积单元和业务处理单元,可以分层次对网络进行业务处理过程中的至少一种业务运算进行硬件映射,即将至少一种业务运算映射到包括分层布局的基础内积单元、并行内积单元和业务处理单元的业务处理设备,大大提升硬件映射的灵活性;且通过将网络层输入业务矩阵(左乘业务矩阵)按照行数进行拆分,且拆分后的子业务矩阵
    映射到先后执行时间顺序上,可以有效应对不同长度的输入序列,实现对可变输入序列的并行处理,大大提升了硬件利用率,减少硬件资源的浪费,提升计算效率,进而也可以提升业务处理设备的吞吐率和业务处理效率。
    66.在一个可选的实施例中,在上述至少一种业务运算为多种业务运算的情况下,上述业务处理网络中第一网络参数可以为第一数量的整数倍,业务处理网络中第二网络参数为第二数量的整数倍;业务处理网络中第三网络参数为第三数量的整数倍。
    67.在一个具体的实施例中,第一网络参数可以表征多种业务运算对应的运算量;第二网络参数表征至少一种运算对应的右乘业务矩阵的列数;第三网络参数表征至少一种运算对应的左乘业务矩阵的列数。
    68.在一个可选的实施例中,以业务处理网络为基于多头注意力网络训练得到的业务网络为例,第一网络参数可以为注意力网络的头数,第二网络参数可以为用于限定业务处理网络中右乘业务矩阵列数的网络参数,第二网络参数可以为用于限定业务处理网络中左乘业务矩阵列数的网络参数。
    69.在一个具体的实施例中,第一网络参数与第一数量间的倍数关系,第二网络参数与第二数量间的倍数关系,以及第三网络参数与第三数量间的倍数关系可以随机选定,也可以结合实际应用中对计算效率的需求,硬件器件的数量以及设备尺寸大小等要求进行设定。
    70.上述实施例中,通过设置第一网络参数为第一数量的整数倍,第二网络参数为第二数量的整数倍,以及第三网络参数为第三数量的整数倍,可以在每一业务运算过程中,充分利用硬件设备,使业务处理设备中的硬件设备全员运行,进而更好的提升了硬件利用率,减少硬件资源的浪费,提升计算效率、业务处理设备的吞吐率和业务处理效率。
    71.在一个可选的实施例中,在至少一种业务运算为一种业务运算的情况下,上述业务处理网络中第一网络参数为第一数量的整数倍,业务处理网络中第二网络参数为第二数量的整数倍;上述业务处理网络中第三网络参数为第三数量的整数倍,且第三网络参数为第一数量和第二数量乘积的整数倍。
    72.上述实施例中,在至少一种业务运算为一种业务运算的情况下,通过设置第一网络参数为第一数量的整数倍,第二网络参数为第二数量的整数倍,第三网络参数为第三数量的整数倍以及且第三网络参数为第一数量和第二数量乘积的整数倍,可以在业务运算过程中,充分利用硬件设备,使业务处理设备中的硬件设备全员运行,进而更好的提升了硬件利用率,减少硬件资源的浪费,提升计算效率、业务处理设备的吞吐率和业务处理效率。
    73.在一个可选的实施例中,在第四数量大于第三数量的情况下,任一上述基础内积单元还可以包括:累加器;该累加器与第一加法器串联;
    74.具体的,上述累加器被配置为执行,对第五数量次第一加法器的输出进行累加处理;
    75.第五数量等于对第四数量除以第三数量后的数值,进行进位取整后的数值。
    76.在实际应用中,在第四数量大于第三数量的情况下,一轮不能完成运算,相应的,可以结合累加器将每一加法器多轮(第五数量次)的输出进行累加处理。
    77.在一个具体的实施例中,假设第三数量等于v_l,如图4所示,图4是根据一示例性实施例提供的另一种基础内积单元的示意图。
    78.上述实施例中,在基础内积单元一轮不能完成运算的情况下,结合累加器将第一加法器多轮(第五数量次)的输出进行累加处理,可以实现基于基础内积单元完成任意长度向量内积,提升运算处理的灵活性。
    79.在一个可选的实施例中,上述业务处理单元还可以包括:第二加法器、控制单元和量化单元;
    80.在一个具体的实施例中,上述第二加法器分别与第一数量个并行内积单元串联;
    81.第一数量个并行内积单元和第二加法器分别与控制单元的输入端串联,控制单元的输出端与量化单元串联;
    82.控制单元用于控制传输给量化单元的数据来源;具体的,传输给量化单元的数据来源可以为第二加法器,也可以为第一数量个并行内积单元。具体的,可以结合实际应用需求,由处理器向控制单元发送相应的数据来源控制指令;可选的,在需要处理多种业务运算的情况下,处理器可以发送第一控制指令,该第一控制指令可以指示以第一数量个并行内积单元为数据来源,相应的,控制单元在接收到第一控制指令的情况下,可以将第一数量个并行内积单元的输出,传输给量化单元;可选的,在需要处理一种业务运算的情况下,处理器可以发送第二控制指令,该第二控制指令可以指示以第二加法器为数据来源,相应的,控制单元在接收到第二控制指令的情况下,可以将第二加法器的输出,传输给量化单元。
    83.量化单元用于对控制单元控制传输的数据进行量化处理,具体的,量化单元的量化程度可以结合实际应用进行配置。
    84.在一个具体的实施例中,假设第一数量等于v_g,如图5所示,图5是根据一示例性实施例提供的一种业务处理单元的示意图。可选的,可以选择v_g个控制单元来控制传输给量化单元的数据来源,也可以只设置一个控制单元来控制传输给量化单元的数据来源。
    85.在一个具体的实施例中,在上述业务处理装置用于处理多种业务运算的情况下,每个并行内积单元的输入来自不同的左乘业务矩阵证和右乘业务矩阵,相应的,可以结合控制单元,使得第一数量个并行内积单元的输出跳过第二加法器,并将第一数量个并行内积单元的输出直接输入量化单元。
    86.在一个具体的实施例中,在上述业务处理装置用于处理一种业务运算的情况下,第一数量个并行内积单元的输入来自相同的左乘业务矩阵和右乘业务矩阵,相应的,可以结合控制单元,使得第一数量个并行内积单元的输出通过第二加法器进行相加后,输入量化单元。
    87.上述实施例中,结合第二加法器和控制单元,可以便于灵活应对一种或多种业务运算的处理需求,在保证硬件利用率和计算效率的基础上,增加了的业务处理设备的应用场景的广泛性。
    88.在一个可选的实施例中,上述业务处理设备还可以包括:动态随机存取存储器、静态随机存取存储器和本地寄存器;
    89.具体的,上述动态随机存取存储器可以用于存储业务处理网络进行业务处理过程中的输入业务数据、网络参数和输出数据;
    90.具体的,上述静态随机存取存储器可以用于存储输入业务数据、网络参数和业务处理网络进行业务处理过程中的中间处理结果数据;
    91.具体的,上述本地寄存器可以用于存储目标数据,目标数据为业务处理网络进行
    业务处理过程中的使用次数大于等于预设次数的数据。具体的,预设次数可以为结合实际应用预先设置的。
    92.在实际应用中,在进行运算处理过程中,会从本地寄存器读取数据进行运算处理;可选的,在本地寄存器没有相应数据的情况下,可以将运算处理需要的数据从静态随机存取存储器中读取到本地存储器,再进行运算处理;可选的,在静态随机存取存储器没有相应数据的情况下,可以将运算处理需要的数据从动态随机存取存储器中读取到静态随机存取存储器,再由静态随机存取存储器读取到本地存储器,以便进行运算处理。
    93.在一个具体的实施例中,动态随机存取存储器虽然读取效率较低,但存储空间较大;且静态随机存取存储器虽然读取效率比动态随机存取存储器较高,但电力供应停止时,静态随机存取存储器储存的数据会消失;相应的,可以将业务处理过程中的输入业务数据、网络参数和输出数据均存储到动态随机存取存储器;以及将业务处理过程中的输入业务数据、网络参数和业务处理网络进行业务处理过程中的中间处理结果数据存储到静态随机存取存储器;另外,本地寄存器虽然读取效率较高(比动态随机存取存储器和静态随机存取存储器均高),但存储空间较小,相应的,可以将业务处理过程中的使用次数大于等于预设次数的数据(使用频率较高的数据)存储到本地寄存器。
    94.在一个具体的实施例中,可以将业务处理过程中的输入业务数据、网络参数和业务处理网络进行业务处理过程中的中间处理结果数据划分为左乘业务矩阵和右乘业务矩阵。其中,输入业务数据和中间处理结果在运算过程中为左乘业务矩阵;网络参数在运算过程中为右乘业务矩阵。
    95.在一个可选的实施例中,可以设置两个静态随机存取存储器,分别用于存储左乘业务矩阵和右乘业务矩阵。可选的,用于存储左乘业务矩阵的静态随机存取存储器可以为v_g(第一数量)个双端存储单元,每个存储单元的位宽可以为v_l
    ×
    q bit(即每次传输的数据量),每个存储单元的深度(静态随机存取存储器可以允许传输几次v_l
    ×
    q bit数据量的数据)需考虑最大支持的输入序列长度(输入数据的行数);具体的,深度可以为一个存储深度单位与存储单位个数的乘积。
    96.在一个具体的实施例中,以业务处理网络为基于bert-base网络训练得到的网络为例,一个存储深度单位可以为[dmodel/(v_g
    ×
    v_l)]
    ×
    max_s,存储单位最小可以为max{max_s
    ×
    head,dff}/dmodel个存储单位。其中,dmodel和dff均为第三网络参数;dmodel为bert-base网络中注意力网络对应的用于限定左乘业务矩阵的列数的网络参数;dff为bert-base网络中前馈网络对应的用于限定左乘业务矩阵的列数的网络参数。head为第一网络参数(即注意力网络对应的头数);v_g为第一数量,v_l为第三数量;max_s为最大的输入序列长度。
    [0097]
    在一个具体的实施例中,用于存储左乘业务矩阵的静态随机存取存储器中存储单元的数量与并行内积单元的数量相等,相应的,存储单元与并行内积单元可以一一对应的连接。可选的,数据存储方式可以为顺序堆叠。
    [0098]
    在一个具体的实施例中,用于存储右乘业务矩阵的静态随机存取存储器可以为v_g个双端口sram单元,每个单元的位宽可以为:v_l
    ×
    v_n
    ×
    q bit,深度只要满足能够将所有的网络参数进行存储即可。
    [0099]
    在一个具体的实施例中,本地寄存器可以设计在基础内积单元中,便于基础内积
    单元中的乘法器读取运算数据。具体的,本地寄存器中暂存来自的静态随机存取存储器内的使用较为频繁的网络参数,实现使用较为频繁的网络参数的本地复用,减少对静态随机存取存储器的访存,降低整体功耗。
    [0100]
    在一个具体的实施例中,以业务处理网络为基于bert-base网络训练得到的网络为例,本地寄存器存储容量可以为max(dmodel/v_l,dff/(v_n
    ×
    v_l))。
    [0101]
    上述实施例中,在将输入业务数据、网络参数和输出数据存储到动态随机存取存储器的基础上,将输入业务数据、网络参数和业务处理网络进行业务处理过程中的中间处理结果数据存储到静态随机存取存储器,可以有效保证数据的安全性和数据读取的速度,且还将业务处理网络进行业务处理过程中使用次数大于等于预设次数的数据存储到本地寄存器中,可以结合业务运算过程中部分网络数据的频繁复用的特性,有效降低读取功耗,提升数据速去速度和效率,进而也大大提升业务处理的效率。
    [0102]
    图6是根据一示例性实施例示出的一种业务处理方法的流程图,如图6所示,该业务处理方法用于终端电子设备中,包括以下步骤。
    [0103]
    在步骤s101中,获取目标业务的业务数据;
    [0104]
    在步骤s103中,基于业务处理设备,执行将业务数据输入目标业务对应的业务处理网络进行业务处理,得到目标业务的业务处理结果。
    [0105]
    在一个具体的实施例中,业务数据可以是目标业务对应场景中客观存在的数据。可选的,以多媒体资源推荐业务为例,业务数据可以为目标用户账号(需要推荐多媒体资源的用户账号)的用户账号属性数据和待推荐多媒体资源的资源属性数据;相应的,业务处理结果可以为目标用户账号对待推荐多媒体资源的兴趣指标,该兴趣指标可以表征目标用户账号对待推荐多媒体资源的感兴趣程度。以分类业务为例,业务数据可以为包括某一对象的对象图像,相应的,业务处理结果可以为对象图像中包括的对象的类别信息。
    [0106]
    在一个可选的实施例中,如图7所示,图7是根据一示例性实施例示出的一种基于业务处理设备,执行将业务数据输入目标业务对应的业务处理网络进行业务处理,得到目标业务的业务处理结果的示意图。具体的,可以按照执行时间顺序依次读取业务数据(左乘业务矩阵)中的子业务矩阵以及业务处理网络中对应的网络参数(右乘业务矩阵),分别输入对应的并行内积单元中的每个基础内积单元进行矩阵相乘处理。
    [0107]
    由以上本说明书实施例提供的技术方案可见,本说明书中,在基于业务处理网络进行业务处理过程中,结合三层结构的业务处理设备,可以分层次对网络进行业务处理过程中的至少一种业务运算进行硬件映射,大大提升硬件映射的灵活性;且通过将业务处理网络的输入数据(业务数据)按照行数进行拆分,并将拆分后的子业务矩阵按照执行时间顺序映射到业务处理设备,可以有效应对不同长度的输入序列,实现对可变输入序列的并行处理,大大提升了硬件利用率,减少硬件资源的浪费,提升计算效率,进而在提升业务处理设备的吞吐率的基础上,大大提升了业务处理效率。
    [0108]
    图8是根据一示例性实施例示出的一种业务处理系统框图。参照图8,该系统包括:
    [0109]
    业务数据获取模块810,被配置为执行获取目标业务的业务数据;
    [0110]
    业务处理设备820,被配置为执行将业务数据输入目标业务对应的业务处理网络进行业务处理,得到目标业务的业务处理结果。
    [0111]
    关于上述实施例中的系统,其中各个模块、设备执行操作的具体方式已经在有关
    该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
    [0112]
    图9是根据一示例性实施例示出的一种用于业务处理的电子设备的框图,该电子设备可以是终端,其内部结构图可以如图9所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务处理方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
    [0113]
    本领域技术人员可以理解,图9中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
    [0114]
    在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本公开实施例中的业务处理方法。
    [0115]
    在示例性实施例中,还提供了一种计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的业务处理方法。
    [0116]
    在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本公开实施例中的业务处理方法。
    [0117]
    本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
    [0118]
    本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
    [0119]
    应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
    转载请注明原文地址:https://tc.8miu.com/read-2669.html

    最新回复(0)