1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202310489139.6(22)申请日 2023.04.28(71)申请人 鼎道智芯(上海)半导体有限公司地址 201203 上海市浦东新区中国(上海)自由贸易试验区松涛路696号1幢601室(72)发明人 陈勇(74)专利代理机构 北京集佳知识产权代理有限公司 11227专利代理师 鲁丽美(51)Int.Cl.G06N 3/063(2023.01)G06N 3/0464(2023.01)G06N 3/082(2023.01)G06F 18/10(2023.01)G06F 7/498(2006
2、.01)(54)发明名称一种数据处理方法和装置(57)摘要本申请公开一种数据处理方法和装置,数据处理方法包括:获取包含第一目标数据的至少一个第一目标数据对象,各个第一目标数据对象中的第一目标数据至少包括各个数据处理通道对应的所有有效数据;每个第一目标数据对应相应位置信息,用于指示第一目标数据对应的第二目标数据的位置;所述第一目标数据对象的数量小于所述数据处理通道的数量;根据第一目标数据对应的位置信息,从各个数据处理通道分别对应的第二数据对象所包含的待处理数据中获取对应的第二目标数据;对第一目标数据和对应的第二目标数据进行数据处理。权利要求书2页 说明书14页 附图7页CN 116502686
3、A2023.07.28CN 116502686 A1.一种数据处理方法,所述方法包括:获取包含第一目标数据的至少一个第一目标数据对象,各个第一目标数据对象中的第一目标数据至少包括各个数据处理通道对应的所有有效数据;每个第一目标数据对应相应位置信息,用于指示第一目标数据对应的第二目标数据的位置;所述第一目标数据对象的数量小于所述数据处理通道的数量;根据所述第一目标数据对应的位置信息,从各个数据处理通道分别对应的第二数据对象所包含的待处理数据中获取对应的第二目标数据;对所述第一目标数据和对应的第二目标数据进行数据处理。2.根据权利要求1所述的方法,每个第一目标数据对象的稀疏度小于设定阈值;所述稀疏
4、度用于表征所述第一目标数据对象中无效数据的占比。3.根据权利要求1所述的方法,所述第一目标数据对象的形成方法包括:基于模型训练过程,为每个数据处理通道生成对应的第一数据对象;整合各个数据处理通道分别对应的第一数据对象中的有效数据,得到所述至少一个第一目标数据对象。4.根据权利要求3所述的方法,所述整合各个数据处理通道分别对应的第一数据对象中的有效数据,包括:确定各个第一数据对象中的无效数据与有效数据;将部分数量第一数据对象包含的有效数据,搬移至所述部分数量第一数据对象以外的第一数据对象中无效数据所处位置;所述至少一个第一目标数据对象包括完成搬移后所得的至少包含各个有效数据的第一数据对象。5.根
5、据权利要求1所述的方法,所述根据所述第一目标数据对应的位置信息,从各个数据处理通道分别对应的第二数据对象所包含的待处理数据中获取对应的第二目标数据,包括:对于所述第一目标数据对象中的每一第一目标数据,获取目标数据处理通道对应的第二数据对象中对应于目标位置的待处理数据,作为所述第一目标数据对应的第二目标数据;其中,所述目标数据处理通道和所述目标位置,分别为所述第一目标数据的位置信息指示的数据处理通道及在所指示数据处理通道内的相应位置。6.根据权利要求1所述的方法,所述对所述第一目标数据和对应的第二目标数据进行数据处理,包括:为每一第一目标数据对象分配对应的可用硬件处理通道,利用对应的可用硬件处理
6、通道对相应第一目标数据对象内的第一目标数据和对应的第二目标数据进行数据处理;或,按预设均衡策略,将各个第一目标数据和对应的第二目标数据所形成的待处理数据对按数量均衡分配至不同的可用硬件处理通道,利用对应的可用硬件处理通道对分配的待处理数据对进行数据处理。7.根据权利要求3所述的方法,包括对预设的多个功能层所对应的第一目标数据和第二目标数据的数据处理;每个功能层对应多个数据处理通道,且每个功能层对应待处理的至少一个第一目标数据对象及在所对应各个数据处理通道上的第二数据对象,各个功能层之间依次串接;权利要求书1/2 页2CN 116502686 A2所述整合各个所述数据处理通道分别对应的第一数据对
7、象中的有效数据包括:确定当前功能层在各个数据处理通道上分别对应的第一数据对象中的无效数据,与有效数据中对下游功能层的数据处理无价值的非价值数据;将所述当前功能层对应的第一数据对象中部分数量第一数据对象包含的目标有效数据,搬移至所述当前功能层中所述部分数量第一数据对象以外的第一数据对象中无效数据和非价值数据所处位置;其中,所述当前功能层对应的所述至少一个第一目标数据对象包括对所述当前功能层完成搬移后所得的至少包含各个有效数据的第一数据对象;所述第一数据对象包含的目标有效数据为所述第一数据对象中无效数据和非价值数据以外的数据。8.根据权利要求7所述的方法,所述非价值数据的确定过程包括:若所述多个功
8、能层中第一功能层所对应的各个第一数据对象中存在第一数据对象包括无效数据,从所述第一功能层的上游功能层对应的各个第一数据对象中确定对应的数据处理结果会被所述无效数据无效掉的待处理数据,作为所述非价值数据。9.根据权利要求3所述的方法,所述第一目标数据对象的形成方法,还包括:确定各个数据处理通道分别对应的第一数据对象中的数据是否满足稀疏化条件,在满足情况下触发所述整合各个数据处理通道分别对应的第一数据对象中的有效数据,得到所述至少一个第一目标数据对象的步骤。10.一种数据处理装置,所述装置包括:第一获取单元,用于获取包含第一目标数据的至少一个第一目标数据对象,各个第一目标数据对象中的第一目标数据至
9、少包括各个数据处理通道对应的所有有效数据;每个第一目标数据对应相应位置信息,用于指示第一目标数据对应的第二目标数据的位置;所述第一目标数据对象的数量小于所述数据处理通道的数量;第二获取单元,用于根据所述第一目标数据对应的位置信息,从各个数据处理通道分别对应的第二数据对象所包含的待处理数据中获取对应的第二目标数据;数据处理单元,用于对所述第一目标数据和对应的第二目标数据进行数据处理。权利要求书2/2 页3CN 116502686 A3一种数据处理方法和装置技术领域0001本申请属于人工智能技术领域,尤其涉及一种数据处理方法和装置。背景技术0002神经网络(Neural Networks,NN)是
10、由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统。目前,在基于神经网络模型的数据处理中,存在数据存储与带宽需求高、计算性能低等一系列问题,如何解决这些问题,成为本领域一个技术难点。发明内容0003为此,本申请公开如下技术方案:0004一种数据处理方法,所述方法包括:0005获取包含第一目标数据的至少一个第一目标数据对象,各个第一目标数据对象中的第一目标数据至少包括各个数据处理通道对应的所有有效数据;每个第一目标数据对应相应位置信息,用于指示第一目标数据对应的第二目标数据的位置;所述第一目标数据对象的数量小于所述数据处理通道的数量;0006根据所述第一目标数据对应的位置信
11、息,从各个数据处理通道分别对应的第二数据对象所包含的待处理数据中获取对应的第二目标数据;0007对所述第一目标数据和对应的第二目标数据进行数据处理。0008可选的,每个第一目标数据对象的稀疏度小于设定阈值;所述稀疏度用于表征所述第一目标数据对象中无效数据的占比。0009可选的,所述第一目标数据对象的形成方法包括:0010基于模型训练过程,为每个数据处理通道生成对应的第一数据对象;0011整合各个数据处理通道分别对应的第一数据对象中的有效数据,得到所述至少一个第一目标数据对象。0012可选的,所述整合各个数据处理通道分别对应的第一数据对象中的有效数据,包括:0013确定各个第一数据对象中的无效数
12、据与有效数据;0014将部分数量第一数据对象包含的有效数据,搬移至所述部分数量第一数据对象以外的第一数据对象中无效数据所处位置;所述至少一个第一目标数据对象包括完成搬移后所得的至少包含各个有效数据的第一数据对象。0015可选的,所述根据所述第一目标数据对应的位置信息,从各个数据处理通道分别对应的第二数据对象所包含的待处理数据中获取对应的第二目标数据,包括:0016对于所述第一目标数据对象中的每一第一目标数据,获取目标数据处理通道对应的第二数据对象中对应于目标位置的待处理数据,作为所述第一目标数据对应的第二目标数据;说明书1/14 页4CN 116502686 A40017其中,所述目标数据处理
13、通道和所述目标位置,分别为所述第一目标数据的位置信息指示的数据处理通道及在所指示数据处理通道内的相应位置。0018可选的,所述对所述第一目标数据和对应的第二目标数据进行数据处理,包括:0019为每一第一目标数据对象分配对应的可用硬件处理通道,利用对应的可用硬件处理通道对相应第一目标数据对象内的第一目标数据和对应的第二目标数据进行数据处理;0020或,按预设均衡策略,将各个第一目标数据和对应的第二目标数据所形成的待处理数据对按数量均衡分配至不同的可用硬件处理通道,利用对应的可用硬件处理通道对分配的待处理数据对进行数据处理。0021可选的,所述方法,包括对预设的多个功能层所对应的第一目标数据和第二
14、目标数据的数据处理;每个功能层对应多个数据处理通道,且每个功能层对应待处理的至少一个第一目标数据对象及在所对应各个数据处理通道上的第二数据对象,各个功能层之间依次串接;0022所述整合各个所述数据处理通道分别对应的第一数据对象中的有效数据包括:0023确定当前功能层在各个数据处理通道上分别对应的第一数据对象中的无效数据,与有效数据中对下游功能层的数据处理无价值的非价值数据;0024将所述当前功能层对应的第一数据对象中部分数量第一数据对象包含的目标有效数据,搬移至所述当前功能层中所述部分数量第一数据对象以外的第一数据对象中无效数据和非价值数据所处位置;0025其中,所述当前功能层对应的所述至少一
15、个第一目标数据对象包括对所述当前功能层完成搬移后所得的至少包含各个有效数据的第一数据对象;所述第一数据对象包含的目标有效数据为所述第一数据对象中无效数据和非价值数据以外的数据。0026可选的,所述非价值数据的确定过程包括:0027若所述多个功能层中第一功能层所对应的各个第一数据对象中存在第一数据对象包括无效数据,从所述第一功能层的上游功能层对应的各个第一数据对象中确定对应的数据处理结果会被所述无效数据无效掉的待处理数据,作为所述非价值数据。0028可选的,所述第一目标数据对象的形成方法,还包括:0029确定各个数据处理通道分别对应的第一数据对象中的数据是否满足稀疏化条件,在满足情况下触发所述整
16、合各个数据处理通道分别对应的第一数据对象中的有效数据,得到所述至少一个第一目标数据对象的步骤。0030一种数据处理装置,所述装置包括:0031第一获取单元,用于获取包含第一目标数据的至少一个第一目标数据对象,各个第一目标数据对象中的第一目标数据至少包括各个数据处理通道对应的所有有效数据;每个第一目标数据对应相应位置信息,用于指示第一目标数据对应的第二目标数据的位置;所述第一目标数据对象的数量小于所述数据处理通道的数量;0032第二获取单元,用于根据所述第一目标数据对应的位置信息,从各个数据处理通道分别对应的第二数据对象所包含的待处理数据中获取对应的第二目标数据;0033数据处理单元,用于对所述
17、第一目标数据和对应的第二目标数据进行数据处理。0034由以上方案可知,本申请公开一种数据处理方法和装置,数据处理方法包括:获取包含第一目标数据的至少一个第一目标数据对象,各个第一目标数据对象中的第一目标数说明书2/14 页5CN 116502686 A5据至少包括各个数据处理通道对应的所有有效数据;每个第一目标数据对应相应位置信息,用于指示第一目标数据对应的第二目标数据的位置;所述第一目标数据对象的数量小于所述数据处理通道的数量;根据第一目标数据对应的位置信息,从各个数据处理通道分别对应的第二数据对象所包含的待处理数据中获取对应的第二目标数据;对第一目标数据和对应的第二目标数据进行数据处理。附
18、图说明0035为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其它的附图。0036图1是本申请提供的有效数据整合前后的计算量对比示例;0037图2是本申请提供的数据处理方法流程图;0038图3是本申请提供的形成第一目标数据对象的一种流程图;0039图4(a)是本申请提供的各个输入通道对应的稀疏权重矩阵示例;0040图4(b)是本申请提供的对图4(a)的稀疏权重矩阵进行有效数据整合的示意图;0041图5是
19、本申请提供的将第一目标数据与对应的第二目标数据形成的待处理数据对均衡分配至不同可用硬件通道的示例;0042图6(a)图6(b)是本申请提供的有效数据整合前后的另一种计算量对比示例;0043图7是本申请提供的形成第一目标数据对象的另一种流程图;0044图8是本申请提供的确定非价值数据的一个示例;0045图9是本申请提供的数据处理装置的组成结构图;0046图10是本申请提供的电子设备的组成结构图。具体实施方式0047下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人
20、员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。0048目前,在基于神经网络模型的数据处理中,存在数据存储与带宽需求高、计算性能低等一系列问题。0049在神经网络模型训练中,常常会对权重进行量化与剪枝操作,导致权重会产生大量的0值,此种网络中的大量0值现象被称为稀疏化。在典型的网络,如LeNet5、AlexNet、VGG16中,经过剪枝后,在不损失精度情况下,通常能达到80以上的稀疏率,申请人发现,神经网络中的主要运算包括乘法与加法,0值对最终的计算结果没有任何贡献,如果在传输与存储时,将0值压缩,只传输有效值,能极大减少传输与存储所需带宽,如果计算时将0值跳过,能
21、极大提高计算性能,如图1提供的示例,若能对权重矩阵中的0值跳过,计算量会从原始的9减小为4。0050然而,目前负责神经网络模型的数据处理的相关硬件,如相关商用芯片,都不支持说明书3/14 页6CN 116502686 A6权重非结构化随机稀疏化处理,0值权重仍然参与处理、占用计算时间,而如何基于模型网络中权重的稀疏化特性,提升对其进行处理时的计算性能,降低数据存储与带宽需求量,成为一个难点。0051基于此,本申请提供一种数据处理方法和装置,用于解决上述技术问题,可应用于但不限于个人计算机或服务器等电子设备,参见图2示出的数据处理方法流程图,该方法至少包括:0052步骤201、获取包含第一目标数
22、据的至少一个第一目标数据对象,各个第一目标数据对象中的第一目标数据至少包括各个数据处理通道对应的所有有效数据;每个第一目标数据对应相应位置信息,用于指示第一目标数据对应的第二目标数据的位置;第一目标数据对象的数量小于数据处理通道的数量。0053本申请所提供的方法,可以但不限于适用于自然语言处理、图像处理、视频处理、语音识别、工业检测(如设备缺陷检测)等多种领域。0054本申请实施例主要以神经网络模型(如深度神经网络模型)的数据处理为例,进行方案说明。0055各个数据处理通道,可以是但不限于神经网络模型中网络层的各个输入通道,例如,对于基于神经网络模型的图像处理,各个数据处理通道具体可以是但不限
23、于,模型各个卷积层的R、G、B三原色输入通道以及纹理输入通道、语义输入通道等。0056各个数据处理通道在其先期的形成阶段,分别以一对一方式对应有相应的第一数据对象,每个第一数据对象包括至少一个有效数据,除此之外,还可能包含非有效数据(无效数据)。数据对象中的有效数据,是指数据对象中包含的对数据处理具有贡献价值的数据,而数据对象中包含的对数据处理不具有贡献价值的数据,则可作为数据对象的非有效数据或无效数据。0057该步骤中,各个数据处理通道对应的有效数据,具体指各个数据处理通道对应的第一数据对象中的有效数据。0058为提升对各个数据处理通道的数据处理性能,预先对各个数据处理通道对应的第一数据对象
24、中的有效数据进行整合,得到至少一个第一目标数据对象,该至少一个第一目标数据对象至少包括各个数据处理通道对应的各个第一数据对象中的所有有效数据,且第一目标数据对象的数量小于数据处理通道的数量,以此实现对各个第一数据对象中至少部分无效数据的裁剪、压缩。第一目标数据对象中的数据称为第一目标数据,第一目标数据可能为有效数据,也可能为无效数据,视实际情况而定。0059同时,为第一目标数据对象中的第一目标数据记录对应的位置信息。第一目标数据的位置信息,用于指示第一目标数据对应的第二目标数据的位置。0060在针对各个数据处理通道的数据处理中,每个数据处理通道还对应一待处理的第二数据对象,同一数据处理通道所对
25、应第一数据对象与第二数据对象中的数据按位置一一对应为相应的待处理数据对,第一目标数据对象中的第一目标数据对应的第二目标数据,具体为第一目标数据对象所属通道对应的第二数据对象中用于与该第一目标数据对应为待处理数据对的第二目标数据。0061第一目标数据的位置信息,具体可以指示对应的数据处理通道及在所指示数据处理通道内的相应位置,所指示的数据处理通道为该第一目标数据所属的第一目标数据对象说明书4/14 页7CN 116502686 A7对应的数据处理通道;所述在所指示数据处理通道内的相应位置,则为第一目标数据在所属第一目标数据对象中的位置。0062但不限于此,在其它实施方式中,第一目标数据的位置信息
26、,也可以指示第一目标数据所属的第一目标数据对象及在所属第一目标数据对象中的位置,以便基于其所属的第一目标数据对象确定对应的数据处理通道,进而确定该通道对应的第二数据对象,并基于第一目标数据在所属第一目标数据对象中的位置,在确定出的第二数据对象中进一步确定与之(第一目标数据)匹配的用于形成待处理数据对的第二目标数据。0063以神经网络模型为例,在模型训练阶段完成模型训练时,每个输入通道对应一权重矩阵(卷积核kernel),完成训练时输入通道对应的该权重矩阵即可作为输入通道的第一数据对象,其中包括的非0值视为有效数据,0值则视为无效数据,输入通道对应的第二数据对象则为模型使用阶段输入通道上的待处理
27、特征图,本申请实施例在完成模型训练之后,将模型网络层各个输入通道上权重矩阵中的非0值进行整合,以裁剪掉其中的至少部分0值数据,得到对应的至少一个目标权重矩阵(第一目标数据对象),整合后,网络层对应的目标权重矩阵的数量少于该网络层中输入通道的数量,目标权重矩阵中的每个权重称为目标权重。0064同时,为目标权重矩阵中的目标权重记录对应的位置信息,可选的,目标权重的位置信息,可以指示目标权重所属的原始权重矩阵对应的输入通道及在所指示输入通道内对应的位置(在所指示输入通道内对应的位置,本质即为目标权重在所属的原始权重矩阵中的位置),或者,也可以指示目标权重所属的原始权重矩阵及在所属原始权重矩阵中的位置
28、。0065其中,特征图可以但不限于是图像、语音等各种类型的处理数据。具体可以对特征图进行一维卷积、二位卷积或三维卷积,不作限制,可视实际需求而定。例如针对1*3尺寸的一维卷积核,可基于1*3的权重矩阵对1*3的特征图进行一维卷积,针对3*3尺寸的二维卷积核,相应可基于3*3的权重矩阵对3*3的特征图进行二维卷积。0066在针对各个数据处理通道进行数据处理时,首先获取各个数据处理通道对应的所述至少一个第一目标数据对象。例如,获取神经网络模型中当前网络层各个输入通道对应的至少一个目标权重矩阵,网络层可以是但不限于模型网络中的卷积层或全连接层。0067步骤202、根据第一目标数据对应的位置信息,从各
29、个数据处理通道分别对应的第二数据对象所包含的待处理数据中获取对应的第二目标数据。0068之后,针对每个第一目标数据对象,根据其第一目标数据对应的位置信息,从各个数据处理通道分别对应的第二数据对象所包含的待处理数据中获取对应的第二目标数据,以与第一目标数据形成对应的待处理数据对。0069其中,针对第一目标数据的位置信息的前一种实现方式,对每个第一目标数据对象中的每一第一目标数据,可获取目标数据处理通道对应的第二数据对象中对应于目标位置的待处理数据,作为第一目标数据对应的第二目标数据;目标数据处理通道和目标位置,分别为第一目标数据的位置信息指示的数据处理通道及在所指示数据处理通道内的相应位置。00
30、70针对第一目标数据的位置信息的后一种实现方式,对每个第一目标数据对象中的每一第一目标数据,可根据其位置信息确定该第一目标数据所属的第一数据对象,并从所说明书5/14 页8CN 116502686 A8属第一数据对象所在的数据处理通道对应的第二数据对象中,获取与该第一目标数据在其所属第一数据对象中所处位置一致的数据,作为第二目标数据,以与该第一目标数据形成待处理数据对。0071例如,假设神经网络模型的卷积层对应三个输入通道Ch1、Ch2、Ch3,在完成模型训练时分别对应权重矩阵Wm1、Wm2、Wm3,经对权重矩阵Wm1、Wm2、Wm3中的非0权重整合得到目标权重矩阵Wm0,数据处理阶段,三个输
31、入通道Ch1、Ch2、Ch3对应的待处理特征图分别为Fm1、Fm2、Fm3。则针对Wm0中的每个目标权重,获取其在所对应特征图中的特征值。如,假设3*3目标权重矩阵Wm0中的某个目标权重,所属的原始权重矩阵为Wm1,在3*3矩阵Wm1中位于位置6(设定3*3矩阵中共有1,2,9共九个位置,各个位置在矩阵中依次排布),则基于该目标权重的位置信息(Wm1,6),确定出通道Ch1,进而确定出通道Ch1对应的特征图Fm1,并从Fm1中获取位置6对应的特征值,与该目标权重形成待处理数据对。0072步骤203、对第一目标数据和对应的第二目标数据进行数据处理。0073之后,对每个待处理数据对中的第一目标数据
32、和第二目标数据进行数据处理,得到待处理数据对的数据处理结果。进一步,还可以对各个待处理数据对分别对应的数据处理结果执行按需处理。0074其中,可根据业务需求,确定对待处理数据对中第一目标数据和第二目标数据的处理方式,和/或对各个待处理数据对分别对应的数据处理结果的处理方式。可选的,所确定的处理方式,可以包括乘法处理和加法处理中的至少一种。0075以对神经网络模型的数据处理为例,可对基于目标权重矩阵及特征图形成的各个待处理数据对(目标权重特征值)进行乘累加操作,即,首先分别将每个待处理数据对中的目标权重和特征值相乘,之后,将每个待处理数据对对应的相乘结果进行累加,例如,针对两个“目标权重特征值”
33、数据对Bb和Ee,对其进行乘累加操作后,具体可得到B*b+E*e。0076综上,本申请公开的数据处理方法,通过将各个数据处理通道对应的第一数据对象中的有效数据整合成至少一个第一目标数据对象,使得第一目标数据对象的数量小于数据处理通道的数量,实现了对各个数据处理通道对应的第一数据对象中至少部分无效数据的裁剪、压缩,相应可使在针对各个数据处理通道的数据处理中,跳过对至少部分无效数据的传输、存储、运算,从而提升了数据计算性能,降低了数据存储与带宽需求量。且由于裁剪的是对数据处理无贡献的无效数据,从而不会数据处理结果产生影响。0077在一可选实施例中,每个第一目标数据对象的稀疏度小于设定阈值;所述稀疏
34、度用于表征第一目标数据对象中无效数据的占比。0078例如,在有效数据整合处理中,基于约束条件约束整合处理过程,使每个目标权重矩阵的稀疏度小于10,将目标权重矩阵中0值权重的占比控制在10以内。0079本实施例通过限定第一目标数据对象的稀疏度,使第一目标数据对象中无效数据的占比小于设定阈值,使得设置尽可能小的稀疏度,相应尽可能保证各个数据处理通道上有足够的无效数据被裁剪掉,以进一步提升对各个数据处理通道的数据计算性能,降低数据存储与带宽需求量。0080实际应用中,也可以适当放松对稀疏度数值的设置约束,具体可在上述设定阈值的基础上为稀疏度的设置提供一定裕度,并提供在该裕度范围内提升稀疏度数值的功能
35、,以在尽可能保证各个数据处理通道上有足够无效数据被裁剪掉的基础上,还能适当降低整说明书6/14 页9CN 116502686 A9合处理的复杂度。0081除此之外,本实施例与一些直接通过约束条件进行模型训练,以基于训练过程,控制模型网络的权重矩阵稀疏度的方案相比,通过完成训练后的有效数据整合手段,代替了模型训练过程中基于约束条件对权重矩阵稀疏度的控制,从而可以减少对模型训练过程的约束,降低了模型训练复杂度,同时可确保所训练模型的数据处理效果。0082在一可选实施例中,参见图3,第一目标数据对象的形成过程,可实现为:0083步骤301、基于模型训练过程,为每个数据处理通道生成对应的第一数据对象。
36、0084具体可以是基于神经网络模型的模型训练过程,为模型网络中网络层的每个输入通道生成对应的权重矩阵,作为输入通道的第一数据对象,例如,基于深度神经网络模型的训练过程,为模型中各个卷积层分别对应的输入通道,生成对应的权重矩阵。0085步骤302、整合各个数据处理通道分别对应的第一数据对象中的有效数据,得到所述至少一个第一目标数据对象。0086之后,对各个数据处理通道分别对应的第一数据对象中的有效数据进行整合,裁剪掉其中的至少部分无效数据,得到对应的至少一个第一目标数据对象。0087具体的,可确定各个数据处理通道分别对应的第一数据对象中的无效数据与有效数据,将部分数量第一数据对象包含的有效数据,
37、搬移至所述部分数量第一数据对象以外的第一数据对象中无效数据所处位置,实现对各个数据处理通道分别对应的第一数据对象中有效数据的整合;所述至少一个第一目标数据对象包括完成搬移后所得的至少包含各个有效数据的第一数据对象。0088进一步,搬移处理时,在一实施方式中,可首先将所述部分数量第一数据对象以外的第一数据对象中的无效数据清除,以将该无效数据在相应第一数据对象中所占用位置空闲出来,在此基础上,将所述部分数量第一数据对象包含的有效数据,搬移至所述部分数量第一数据对象以外的第一数据对象中无效数据所对应位置。可选的,在清除相应无效数据使无效数据所占用位置空闲后,还可以先将已清除无效数据的第一数据对象中的
38、有效数据重排,使其各个有效数据在该第一数据对象中依次相邻排布,余留出各个依次相连的空闲位置,以便于向其中进行有效数据的搬移。0089但不限于此,也可以在未执行无效数据清除情形下,直接将所述部分数量第一数据对象包含的有效数据,搬移至所述部分数量第一数据对象以外的第一数据对象中无效数据所处位置,并覆盖所搬移至的位置上的原有无效数据。0090上述基于搬移处理的有效数据整合,可以作为模型训练阶段的一附加处理环节,直接在基于模型训练过程得到各个数据处理通道的第一数据对象之后执行,如在通过模型训练得到模型卷积层各个输入通道的权重矩阵后实时执行,使得最终完成训练后所得的神经网络模型,在其网络层提供的是,整合
39、得到的数量少于输入通道数量的所述至少一个第一目标数据对象(目标权重矩阵),而非数量等于输入通道数量的各个第一数据对象(基于模型训练所得的各输入通道的原始权重矩阵),同时记录每个第一目标数据对象中第一目标数据对应的位置信息。0091或者,可选的,也可以将上述基于搬移处理的有效数据整合,作为模型使用阶段的预处理,在使用模型进行数据处理之前,首先对模型网络层各输入通道对应的第一数据对象,执行基于搬移处理的有效数据整合,得到网络层对应的所述至少一个第一目标数据对说明书7/14 页10CN 116502686 A10象,同时记录每个第一目标数据对象中第一目标数据对应的位置信息。0092以下提供一应用示例
40、。0093该示例中,经训练,神经网络模型卷积层包括三个输入通道Ch1、Ch2、Ch3,相应对应三个稀疏的卷积核权重矩阵,如图4(a)中的3*3矩阵Wm1、Wm2、Wm3,三个稀疏权重矩阵Wm1、Wm2、Wm3中共有9个非0权重值,可以通过软件方式,将Wm1中的0值剔除,非0值的权重移动后重新集中排布,以余留出位置相连的各个空闲位置,之后将Wm2、Wm3中的非0值权重搬移到Wm1中的对应空闲位置,具体可参见图4(b)所示,其中的有线箭头代表对数据的移动/搬移,具体表示将箭尾位置上的数据搬移到箭头所指示位置,从而形成新的稠密非0值权重矩阵Wm1,由于是将通道Ch2、Ch3上权重矩阵Wm2、Wm3中
41、的非0值权重搬移到通道Ch1的权重矩阵Wm1中形成稠密矩阵Wm1,因此所得的稠密权重矩阵Wm1 位于通道Ch1,其余两个通道Ch2、Ch3形成未包含非0值权重的空闲通道;容易理解,Wm1 实质涵盖了CH1、Ch2、Ch3三个通道上的非0值权重,从而实际意义上Wm1 与这三个通道相对应。0094同时记录Wm1 中每个非0权重在整合之前对应的位置信息,如P12在整合之前对应的位置信息可以为(Ch2,3),用于指示在整合之前所对应的输入通道Ch2及通道内位置3,以便于基于该位置信息,从Ch2对应的特征图中选取位置3上的特征值与P12形成对应的数据对,或者该位置信息也可以记录为(Wm2,3),基于该位
42、置信息,可首先根据权重矩阵与输入通道的对应关系确定出输入通道Ch2,进而从Ch2对应的特征图中选取位置3上的特征值与P12形成对应的数据对。0095对于各个数据处理通道对应的第一数据对象中有效数据的整合,可通过软件方式实现,不需要改变已有神经网络模型的模型结构,仅需要在模型使用之前对模型各网络层的权重矩阵进行有效数据整合并进行相关信息记录即可,易于实现,适用于所有的神经网络模型,且硬件对于整合过程无感知,无需改变硬件结构,部署容易、实施难度低。0096在一可选实施例中,在形成第一目标数据对象之前,还可以首先确定各个数据处理通道分别对应的第一数据对象中的数据是否满足稀疏化条件,在满足情况下,才触
43、发整合各个数据处理通道分别对应的第一数据对象中的有效数据得到至少一个第一目标数据对象的步骤。0097所述稀疏化条件,可以但不限于设定为如下的任意一种:0098条件一:各个数据处理通道对应的各个第一数据对象中无效数据的总占比达到预设比例。0099所述的总占比,是指各个第一数据对象中无效数据的总数量与各个第一数据对象所包含数据的总数量之间的比例。0100条件二:每个数据处理通道所对应第一数据对象中的无效数据,在所属第一数据对象中的占比均达到预设比例。0101条件三:每个数据处理通道所对应第一数据对象中的无效数据,在所属第一数据对象中的占比均达到预设比例,且各个数据处理通道对应的各个第一数据对象中无
44、效数据的总占比达到预设比例。0102否则,若不满足稀疏化条件,则不执行对各个数据数据通道上有效数据的整合处理,保留各个数据处理通道的原始第一数据对象,如保留神经网络模型网络层中各个输入通道的原始卷积核权重。说明书8/14 页11CN 116502686 A110103本实施例通过执行上述基于稀疏化条件的通道数据检测,并在满足稀疏化条件情况下才执行对各个数据处理通道上有效数据的整合处理,可避免通道上数据稠密情况下的无意义整合,以避免无效处理。0104在一可选实施例中,步骤203中对第一目标数据和对应的第二目标数据进行数据处理,可进一步实现为如下的任意一种:010511)为每一第一目标数据对象分配
45、对应的可用硬件处理通道,利用对应的可用硬件处理通道对相应第一目标数据对象内的第一目标数据和对应的第二目标数据进行数据处理。0106可用硬件处理通道,为当前未被占用的能调度用于对待处理数据对进行所需运算的硬件式计算通道,如基于运算器与寄存器构成的计算通道,每个通道可以包括所需数量的运算器和寄存器,还可以包括其他所需硬件。进一步,针对神经网络模型的数据处理,可用硬件处理通道可以是NPU(神经网络处理器)对应的核心硬件单元Tensor core。0107该实现方式11)中,以第一目标数据对象为单位,将每一第一目标数据对象分配至一个可用硬件处理通道,利用可用硬件处理通道对所分配的第一目标数据对象内的第
46、一目标数据及其对应的第二目标数据进行数据处理。0108例如,利用Tensor core,对所分配的目标权重矩阵中各个目标权重分别对应的“目标权重特征值”数据对进行乘累加运算,即首先分别将每个数据对中的目标权重和特征值相乘,之后,将每个数据对对应的相乘结果进行累加。010912)按预设均衡策略,将各个第一目标数据和对应的第二目标数据所形成的待处理数据对按数量均衡分配至不同的可用硬件处理通道,利用对应的可用硬件处理通道对分配的待处理数据对进行数据处理。0110该实现方式12)中,预先设置能用于将各个待处理数据对,按数量均衡分配至不同可用硬件处理通道的均衡策略。0111可选的,该均衡策略可以设置为:
47、不同可用硬件处理通道上所分配的待处理数据对的数量差值绝对值小于设定数值。0112相应可基于该均衡策略,根据各个第一目标数据和对应的第二目标数据所形成的待处理数据对数量,及当前可用硬件处理通道的数量,将各个第一目标数据和对应的第二目标数据所形成的待处理数据对,向不同的可用硬件处理通道进行分配,使各个可用硬件处理通道上所分配的待处理数据对的数量相对均衡,数量差值绝对值小于设定数值,不同可用硬件处理通道对分配的数据并行处理。0113如图5的示例中,整合后所得的非0值稠密权重矩阵(即目标权重矩阵)共包括9个非0值权重,针对其中每个非0值权重,NPU根据其位置信息从各个输入通道对应的特征图中读取对应的用
48、于与其形成待处理对数据的特征值,得到9个特征值,与9个非0值权重按序一一对应,相应形成9个待处理数据对,假设当前共有两个可用硬件通道:可用硬件通道一、可用硬件通道二,如具体为两个可用Tensor core,则基于均衡策略,将9个待处理数据对分成2组,第一组包括前5个非0值权重对应的待处理数据对,第二组包括后4个非0值权重对应的待处理数据对,并将两组待处理数据对一对一分配到两个不同的可用硬件通道,如图5所示,之后,可在累加器将各个通道的处理结果进行累加,得到输出特征图(图5中的OFM)。0114在将9个有效权重及其对应的特征值均衡分配到两个通道后,两个通道的有效数说明书9/14 页12CN 11
49、6502686 A12据量分别为5和4,针对该情形,可以告知硬件通道如Tensor core,当前网络的kernel大小为5x1。这样,配置硬件每个通道的权重个数为5,两个通道并行计算,总计通过5个cycle后,即可计算出最终结果。而原始网络需要经过两轮计算,第一轮计算采用2个通道,第二轮计算采用一个通道(原始未压缩的3个3*3矩阵,共27个权重,第一轮采用两个通道并行处理两个权重矩阵及对应的特征图,需要9个cycle,第二轮采用一个通道,处理剩余的一个权重矩阵及对应的特征图,需要9个cycle),总计需要9x218个cycle。所以经过硬件通道数据的均衡分配后,计算时间从原始的18个时间单位
50、减小至5。0115可选的,在将各个数据处理通道对应的第一数据对象进行有效数据整合得到至少一个第一目标数据对象后,相对于第一目标数据对象的数量,所形成的多余空闲数据处理通道可裁剪掉,后续在读取第二数据对象的数据时,根据第一目标数据对象中第一目标数据的位置信息,索引到各个第二数据对象中与之对应的第二目标数据,并将第一目标数据与相应第二目标数据形成有效数据对送给可用硬件通道进行运算处理,可用硬件通道对有效数据整合及通道裁剪无感知,具体将获得的对应于同一第一目标数据对象的有效数据对作为一个数据处理通道上的数据对执行对应运算。0116例如,图4(a)图4(b)的示例中,完成整合后权重矩阵Wm1 位于输入