数据处理方法及装置、设备和介质制造方法及图纸

技术编号:37598016 阅读:5 留言:0更新日期:2023-05-18 11:46
本公开提供了一种数据处理方法及装置、设备和介质,涉及芯片技术领域,尤其涉及数据处理技术领域。实现方案为:获取第一矩阵和第二矩阵,将第一矩阵划分为多个第一子矩阵;针对每个第一子矩阵,确定其中绝对值最大的第一子元素并将第一子元素的绝对值记为Max1;基于Max1将该第一子矩阵中的每个元素映射到[0,2

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


[0001]本公开涉及芯片
,尤其涉及数据处理
,具体涉及一种数据处理方法、装置、电子设备、计算机可读存储介质和计算机程序产品。

技术介绍

[0002]人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
[0003]人工智能模型存在大量的计算密集型算子,主要包括矩阵乘法,卷积,池化,激活等等。这些计算非常耗时,传统CPU的计算能力很难在性能上满足需求,因此异构计算成为了主流,包括GPU、FPGA、ASIC在内的各种人工智能处理器大量应用到了人工智能模型计算。同时,数据类型的选择对于人工智能计算的精度、性能等也起着十分重要的作用。
[0004]在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。

技术实现思路

[0005]本公开提供了一种数据处理方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
[0006]根据本公开的一方面,提供了一种数据处理方法,包括:获取第一矩阵和第二矩阵,其中,所述第一矩阵和所述第二矩阵中的每个元素为第一数据格式,所述第一数据格式包括浮点类型;将所述第一矩阵划分为多个第一子矩阵,其中,所述多个第一子矩阵中的每个第一子矩阵中的元素的绝对值满足预设条件;针对所述多个第一子矩阵中的每个第一子矩阵,确定该第一子矩阵中绝对值最大的第一子元素,并将所述第一子元素的最大绝对值记为第一子矩阵最大值Max1;基于所述第一子矩阵最大值Max1,将该元素转换为第二数据格式的转换元素,所述第二数据格式包括n个尾数位,n为大于1的整数,并且其中,基于所述第一子矩阵最大值Max1,将该第一子矩阵中的每个元素映射到[0,2
n
]区间,以确定该元素对应的转换元素的尾数位;将所述第二矩阵划分为多个第二子矩阵,其中,所述多个第二子矩阵中的每个第二子矩阵中的元素的绝对值满足预设条件;针对所述多个第二子矩阵中的每个第二子矩阵,确定该第二子矩阵中绝对值最大的第二子元素,并将所述第二子元素的最大绝对值记为第二子矩阵最大值Max2;基于所述第二子矩阵最大值Max2,将该第二子矩阵中的每个元素映射到[0,2^n]区间,以将该元素转换为第二数据格式的转换元素;以及基于所述第一矩阵和所述第二矩阵中的每个元素分别对应的转换元素,计算所述第一矩阵和所述第二矩阵的乘积。
[0007]根据本公开的另一方面,提供了一种数据处理装置,包括:第一获取单元,被配置为获取第一矩阵和第二矩阵,其中,所述第一矩阵和所述第二矩阵中的每个元素为第一数据格式,所述第一数据格式包括浮点类型;划分单元,被配置为将所述第一矩阵划分为多个第一子矩阵,其中,所述多个第一子矩阵中的每个第一子矩阵中的元素的绝对值满足预设条件;第一确定单元,被配置为针对所述多个第一子矩阵中的每个第一子矩阵,确定该第一子矩阵中绝对值最大的第一子元素,并将所述第一子元素的最大绝对值记为第一子矩阵最大值Max1;转换单元,被配置为基于所述第一子矩阵最大值Max1,将该元素转换为第二数据格式的转换元素,所述第二数据格式包括n个尾数位,n为大于1的整数,并且其中,基于所述第一子矩阵最大值Max1,将该第一子矩阵中的每个元素映射到[0,2
n
]区间,以确定该元素对应的转换元素的尾数位;所述划分单元还被配置为将所述第二矩阵划分为多个第二子矩阵,其中,所述多个第二子矩阵中的每个第二子矩阵中的元素的绝对值满足预设条件;所述第一确定单元还被配置为针对所述多个第二子矩阵中的每个第二子矩阵,确定该第二子矩阵中绝对值最大的第二子元素,并将所述第二子元素的最大绝对值记为第二子矩阵最大值Max2;所述转换单元还被配置为基于所述第二子矩阵最大值Max2,将该第二子矩阵中的每个元素映射到[0,2
n
]区间,以将该元素转换为第二数据格式的转换元素;以及计算单元,被配置为基于所述第一矩阵和所述第二矩阵中的每个元素分别对应的转换元素,计算所述第一矩阵和所述第二矩阵的乘积。
[0008]根据本公开的另一方面,提供了一种芯片,包括如上所述的数据处理装置。
[0009]根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述数据处理方法。
[0010]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述数据处理方法。
[0011]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时能够实现上述数据处理方法。
[0012]根据本公开的一个或多个实施例,可以在提升计算效率的同时保证计算精度。
[0013]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0014]附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
[0015]图1示出了根据本公开示例性实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;
[0016]图2示出了根据本公开示例性实施例的数据处理方法的流程图;
[0017]图3示出了根据本公开示例性实施例的将矩阵中的元素转换为转换元素的方法的流程图;
[0018]图4示出了根据本公开示例性实施例的数据处理装置的结构框图;
[0019]图5示出了能够用于实现本公开实施例的示例性电子设备的结构框图。
具体实施方式
[0020]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0021]在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,包括:获取第一矩阵和第二矩阵,其中,所述第一矩阵和所述第二矩阵中的每个元素为第一数据格式,所述第一数据格式包括浮点类型;将所述第一矩阵划分为多个第一子矩阵,其中,所述多个第一子矩阵中的每个第一子矩阵中的元素的绝对值满足预设条件;针对所述多个第一子矩阵中的每个第一子矩阵,确定该第一子矩阵中绝对值最大的第一子元素,并将所述第一子元素的最大绝对值记为第一子矩阵最大值Max1;基于所述第一子矩阵最大值Max1,将该元素转换为第二数据格式的转换元素,所述第二数据格式包括n个尾数位,n为大于1的整数,并且其中,基于所述第一子矩阵最大值Max1,将该第一子矩阵中的每个元素映射到[0,2
n
]区间,以确定该元素对应的转换元素的尾数位;将所述第二矩阵划分为多个第二子矩阵,其中,所述多个第二子矩阵中的每个第二子矩阵中的元素的绝对值满足预设条件;针对所述多个第二子矩阵中的每个第二子矩阵,确定该第二子矩阵中绝对值最大的第二子元素,并将所述第二子元素的最大绝对值记为第二子矩阵最大值Max2;基于所述第二子矩阵最大值Max2,将该第二子矩阵中的每个元素映射到[0,2
n
]区间,以将该元素转换为第二数据格式的转换元素;以及基于所述第一矩阵和所述第二矩阵中的每个元素分别对应的转换元素,计算所述第一矩阵和所述第二矩阵的乘积。2.如权利要求1所述的方法,其中,根据所述预设条件,所述多个第一子矩阵中的每个第一子矩阵中的元素的绝对值的极差小于预设阈值。3.如权利要求1或2所述的方法,其中,所述第二数据格式还包括1个指数位,所述基于所述第一子矩阵最大值Max1,将该元素转换为对应的转换元素包括:基于所述第一子矩阵最大值Max1,确定第一分割点以将区间[0,Max1]分割为两个子区间;以及针对所述第一子矩阵中的每个元素,基于该元素所处的子区间,确定该元素对应的转换元素的指数位,并将该元素映射到[0,2
n
],以确定该元素对应的转换元素的尾数位。4.如权利要求3所述的方法,其中,所述基于所述第一子矩阵最大值Max1,确定分割点以将区间[0,Max1]分割为两个子区间包括:基于所述第一子矩阵最大值Max1,将所述第一分割点确定为以将区间[0,Max1]分割为两个子区间和5.如权利要求4所述的方法,其中,所述针对所述第一子矩阵中的每个元素,基于该元素所处的子区间,确定该元素对应的转换元素的指数位,并将该元素映射到[0,2
n
],以确定该元素对应的转换元素的尾数位包括:针对所述第一子矩阵中的每个元素,
确定该元素的绝对值a;响应于确定该元素位于子区间内,确定该元素对应的转换元素的指数位为0,并将该元素映射到[0,2
n
],以确定该元素对应的转换元素的尾数位为或响应于确定该元素位于子区间内,确定该元素对应的转换元素的指数位为1,并将该元素映射到[0,2
n
],以确定该元素转换为对应的转换元素的尾数位为6.如权利要求1

5中任一项所述的方法,还包括:针对所述第一矩阵中的每个元素以及所述第二矩阵中的每个元素,确定该元素对应的恢复因数,其中,所述恢复因数满足于以下条件:该元素对应的转换元素乘以该元素对应的恢复因数等于该元素的绝对值,并且其中,所述基于所述第一矩阵和所述第二矩阵中的每个元素分别对应的转换元素,计算所述第一矩阵和所述第二矩阵的乘积包括:基于所述第一矩阵和所述第二矩阵中的每个元素分别对应的转换元素,计算所述第一矩阵和所述第二矩阵的乘积为第三矩阵,其中,所述第三矩阵中的每个元素的绝对值等于该元素在所述第一矩阵中对应的第三元素的转换元素的尾数位乘以该元素在所述第二矩阵中对应的第四元素的转换元素的尾数位乘以所述第三元素对应的恢复因数乘以所述第四元素对应的恢复因数。7.如权利要求6所述的方法,其中,所述第一数据格式和所述第二数据格式还包括1个符号位,所述第三矩阵中的每个元素的符号位为该元素在所述第一矩阵中对应的第三元素的符号位和该元素在所述第二矩阵中对应的第四元素的符号位的异或值。8.一种数据处理装置,包括:第一获取单元,被配置为获取第一矩阵和第二矩阵,其中,所述第一矩阵和所述第二矩阵中的每个元素为第一数据格式,所述第一数据格式包括浮点类型;划分单元,被配置为将所述第一矩阵划分为多个第一子矩阵,其中,所述多个第一子矩阵中的每个第一子矩阵中的元素的绝对值满足预设条...

【专利技术属性】
技术研发人员:邰秀瑢陈庆澍王勇欧阳剑王京
申请(专利权)人:昆仑芯北京科技有限公司
类型:发明
国别省市:

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

1