数据处理方法及装置、处理器、电子设备、存储介质制造方法及图纸

技术编号:35407794 阅读:19 留言:0更新日期:2022-11-03 11:02
一种数据处理方法、数据处理装置、处理器、电子设备和非瞬时性存储介质。该数据处理方法包括:获取作为计算处理的输入参数的多个输入张量;针对每个输入张量,利用M个输入子张量组合表示输入张量;针对每个输入张量,使用M个输入子张量的组合替代输入张量,执行计算处理,得到计算结果。该数据处理方法扩大了计算处理的适用场景,有效利用原本所提供的低精度浮点数本身强大的算力,大幅提高计算的总体效率。大幅提高计算的总体效率。大幅提高计算的总体效率。

【技术实现步骤摘要】
数据处理方法及装置、处理器、电子设备、存储介质


[0001]本公开的实施例涉及一种数据处理方法、数据处理装置、处理器、电子设备和非瞬时性计算机可读存储介质。

技术介绍

[0002]张量(Tensor)是一个定义在一些向量空间和一些对偶空间的笛卡尔积上的多重线性映射,例如,标量可以看作0维张量,向量可以看作一维张量,矩阵可以看作二维张量。张量操作在并行处理器等处理器中广泛使用。
[0003]随着人工智能及机器学习的发展,对以并行处理器(例如,多核处理器、图形处理器、数字信号处理器等)为代表的众多并行处理器设备提出了新的要求。并行处理器的张量操作可以包括通用的矩阵乘法(General Matrix Multiplication,简称GEMM)或卷积乘法运算。例如,在人工智能等领域中经常使用的神经网络处理中,例如,卷积神经网络,经常需要执行矩阵乘累加(MACC,Matrix multiply and Accumulation)计算,矩阵乘累加计算也属于一种张量操作,例如,矩阵乘累加计算包括将两个矩阵中对应位置元素相乘,再将相乘结果累加得到一个计算结果。

技术实现思路

[0004]本公开至少一实施例提供一种数据处理方法,包括:获取作为计算处理的输入参数的多个输入张量,其中,所述多个输入张量均为第一精度类型;针对每个输入张量,利用M个输入子张量组合表示所述输入张量,其中,所述M个输入子张量具有至少两种不同的精度类型,所述至少两种精度类型均与所述第一精度类型不同,M为大于1的整数;针对每个所述输入张量,使用组合表示所述输入张量的所述M个输入子张量替代所述输入张量,执行所述计算处理,得到计算结果。
[0005]例如,在本公开至少一实施例提供一种数据处理方法中,针对每个输入张量,所述M个输入子张量与所述输入张量的形状相同,针对每个所述输入张量,利用所述M个输入子张量组合表示所述输入张量,包括:针对所述输入张量中的每个参数元素,将所述参数元素拆分为M个子元素,其中,所述M个子元素分别为所述M个输入子张量中与所述参数元素在所述输入张量中位置相同的元素,所述参数元素表示为所述M个子元素的加和形式。
[0006]例如,在本公开至少一实施例提供一种数据处理方法中,针对所述输入张量中的每个参数元素,将所述参数元素拆分为M个子元素,包括:确定所述M个子元素中的第一子元素的指数、符号位与所述参数元素的指数、符号位相同,以及所述第一子元素的尾数部分与所述参数元素的尾数有效位中靠前的高位有效位部分相同;确定所述M个子元素中除所述第一子元素以外的其他M

1个子元素,其中,所述其他M

1个子元素之和为所述参数元素与所述第一子元素的差值。
[0007]例如,在本公开至少一实施例提供一种数据处理方法中,所述至少两种精度类型包括第二精度类型,所述第一子元素的精度类型为所述第二精度类型,所述第二精度类型
的比特位总数为N2,N2为正整数,所述第一子元素的二进制表示为所述参数元素的二进制表示的前N2位。
[0008]例如,在本公开至少一实施例提供一种数据处理方法中,所述参数元素的尾数有效位中除所述靠前的高位有效位部分之外的其他尾数有效位被划分为连续的M

1个分段,所述其他M

1个子元素分别对应于所述M

1个分段,其中,每个分段包括的有效位的个数小于或等于所述分段对应的子元素的尾数有效位的个数,确定所述M个子元素中除所述第一子元素以外的其他M

1个子元素,包括:确定所述其他M

1个子元素中每个子元素的尾数有效位分别为所述M

1个分段;确定所述其他M

1个子元素中每个子元素的指数为P

Qi,其中,P为所述参数元素的指数,Qi为所述子元素对应的分段的最高位与所述参数元素的尾数有效位的最高位之间的位数差,P和Qi为整数。
[0009]例如,在本公开至少一实施例提供一种数据处理方法中,所述第一精度类型的尾数有效位个数为F1,所述至少两种精度类型包括第二精度类型和第三精度类型,所述第二精度类型的尾数有效位个数为F2,所述第三精度类型的尾数有效位个数为F3,F1、F2和F3为正整数,所述其他M

1个子元素包括第二子元素,所述第二子元素的精度类型为所述第三精度类型,其中,确定所述其他M

1个子元素分别采用所述M

1个分段作为各自的尾数,包括:响应于F1

F2小于或等于F3,确定M

1为1,并确定所述第二子元素的二进制表示的尾数中高F1

F2位与所述参数元素的二进制表示的尾数部分中第F1

F2

1位至第0位相同;响应于F1

F2大于F3,确定所述第二子元素的二进制表示的尾数与所述参数元素的二进制表示的尾数部分中第F1

F2

F3

1至第F1

F2

1位相同。
[0010]例如,在本公开至少一实施例提供一种数据处理方法中,响应于F1

F2大于F3,F1等于所述M个子元素各自的精度类型中尾数有效位个数之和。
[0011]例如,在本公开至少一实施例提供一种数据处理方法中,所述计算处理至少包括卷积运算或矩阵乘法运算,所述第一精度类型的尾数有效位个数为F1,F1为正整数,所述至少两种精度类型包括第二精度类型和第三精度类型,针对每个输入张量,使用组合表示所述输入张量的M个输入子张量替代所述输入张量,执行所述计算处理,得到计算结果,包括:根据所述计算处理,将所述计算处理中的每个输入张量替换为组合表示所述输入张量的M个输入子张量的加和形式,展开得到L个第一中间结果,其中,每个第一中间结果表示为两个输入子张量相乘或卷积的形式,L为大于1的正整数;确定所述L个第一中间结果分别对应的L个指数以及所述L个指数中的最大指数;根据所述L个指数,从所述L个第一中间结果中选择至少一个第一中间结果,其中,所述至少一个第一中间结果的指数与所述最大指数之差的绝对值小于或小于等于F1;将所述至少一个第一中间结果的加和作为所述计算结果。
[0012]例如,在本公开至少一实施例提供一种数据处理方法中,所述计算处理至少包括卷积运算或矩阵乘法运算,所述第一精度类型的尾数有效位个数为F1,F1为正整数,所述至少两种精度类型包括第二精度类型和第三精度类型,针对每个输入张量,使用组合表示所述输入张量的M个输入子张量替代所述输入张量,执行所述计算处理,得到计算结果,包括:根据所述计算处理,将所述计算处理中的每个输入张量替换为组合表示所述输入张量的M个输入子张量的加和形式,展开得到L个第一中间结果,其中,每个第一中间结果表示为两个输入子张量相乘或卷积的形式;针对所述L个第一中间结果中类型本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,包括:获取作为计算处理的输入参数的多个输入张量,其中,所述多个输入张量均为第一精度类型;针对每个输入张量,利用M个输入子张量的组合表示所述输入张量,其中,所述M个输入子张量具有至少两种精度类型,所述至少两种精度类型与所述第一精度类型彼此不同,M为大于1的整数;针对每个所述输入张量,使用所述M个输入子张量的组合替代所述输入张量,执行所述计算处理,得到计算结果。2.根据权利要求1所述的数据处理方法,其中,针对每个输入张量,所述M个输入子张量与所述输入张量的形状相同,针对每个所述输入张量,利用所述M个输入子张量的组合表示所述输入张量,包括:针对所述输入张量中的每个参数元素,将所述参数元素拆分为M个子元素,其中,所述M个子元素分别为所述M个输入子张量中与所述参数元素在所述输入张量中位置相同的元素,所述参数元素表示为所述M个子元素的加和形式。3.根据权利要求2所述的数据处理方法,其中,针对所述输入张量中的每个参数元素,将所述参数元素拆分为M个子元素,包括:确定所述M个子元素中的第一子元素的指数、符号位与所述参数元素的指数、符号位相同,以及所述第一子元素的尾数有效位与所述参数元素的尾数有效位中靠前的高位有效位部分相同;确定所述M个子元素中除所述第一子元素以外的其他M

1个子元素,其中,所述其他M

1个子元素之和为所述参数元素与所述第一子元素的差值。4.根据权利要求3所述的数据处理方法,其中,所述至少两种精度类型包括第二精度类型,所述第一子元素的精度类型为所述第二精度类型,所述第二精度类型的比特位总数为N2,N2为正整数,所述第一子元素的二进制表示为所述参数元素的二进制表示的前N2位。5.根据权利要求3所述的数据处理方法,其中,所述参数元素的尾数有效位中除所述靠前的高位有效位部分之外的其他有效位部分被划分为连续的M

1个分段,所述其他M

1个子元素分别对应于所述M

1个分段,其中,每个分段包括的有效位的个数小于或等于所述分段对应的子元素的尾数有效位的个数,确定所述M个子元素中除所述第一子元素以外的其他M

1个子元素,包括:确定所述其他M

1个子元素中每个子元素的尾数有效位分别为所述M

1个分段;确定所述其他M

1个子元素中每个子元素的指数为P

Qi,其中,P为所述参数元素的指数,Qi为所述子元素对应的分段的最高位与所述参数元素的尾数有效位的最高位之间的位数差,P和Qi为整数。6.根据权利要求5所述的数据处理方法,其中,所述第一精度类型的尾数有效位个数为F1,所述至少两种精度类型包括第二精度类型和第三精度类型,所述第二精度类型的尾数有效位个数为F2,所述第三精度类型的尾数有效位个数为F3,F1、F2和F3为正整数,
所述其他M

1个子元素包括第二子元素,所述第二子元素的精度类型为所述第三精度类型,其中,确定所述其他M

1个子元素中每个子元素的尾数有效位分别为所述M

1个分段,包括:响应于F1

F2小于或等于F3,确定M

1为1,并确定所述第二子元素的二进制表示的尾数有效位中高F1

F2位与所述参数元素的二进制表示的尾数有效位中第F1

F2

1位至第0位相同;响应于F1

F2大于F3,确定所述第二子元素的二进制表示的尾数有效位与所述参数元素的二进制表示的尾数有效位中第F1

F2

F3

1位至第F1

F2

1位相同。7.根据权利要求6所述的数据处理方法,其中,响应于F1

F2大于F3,F1等于所述M个子元素各自的精度类型中尾数有效位个数之和。8.根据权利要求1所述的数据处理方法,其中,所述计算处理至少包括卷积运算或矩阵乘法运算,所述第一精度类型的尾数有效位个数为F1,F1为正整数,所述至少两种精度类型包括第二精度类型和第三精度类型,针对每个输入张量,使用所述M个输入子张量的组合替代所述输入张量,执行所述计算处理,得到计算结果,包括:根据所述计算处理,将所述计算处理中的每个输入张量替换为所述M个输入子张量的加和形式,得到L个第一中间结果,其中,每个第一中间结果表示为两个输入子张量相乘或卷积的形式,L为大于1的正整数;确定所述L个第一中间结果分别对应的L个指数以及所述L个指数中的最大指数;根据所述L个指数,从所述L个第一中间结果中选择至少一个第一中间结果,其中,所述至少一个第一中间结果的指数与所述最大指数之差的绝对值小于或小于等于F1;将所述至少一个第一中间结果的加和作为所述计算结果。9.根据权利要求1所述的数据处理方法,其中,所述计算处理至少包括卷积运算或矩阵乘法运算,所述第一精度类型的尾数有效位个数为F1,F1为正整数,所述至少两种精度类型包括第二精度类型和第三精度类型,针对每个输入张量,使用所述M个输入子张量的组合替代所述输入张量,执行所述计算处理,得到计算结果,包括:根据所述计算处...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海壁仞智能科技有限公司
类型:发明
国别省市:

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

1