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

技术编号:38004012 阅读:10 留言:0更新日期:2023-06-30 10:18
本公开提供了一种数据处理方法及装置、设备和介质,涉及芯片技术领域,尤其涉及数据处理技术领域。实现方案为:获取第一目标矩阵;将第一目标矩阵划分为多个包括第一预设数量的元素的子矩阵;确定每个子矩阵中各个元素的最大绝对值;基于最大绝对值,确定二进制表示的参考最大值,参考最大值的数位宽度等于第一预设数量;针对每个元素,确定第一存储单元中用于存储该元素的最后一位尾数的位元为目标位元;将参考最大值写入第一预设数量的目标位元;针对该子矩阵中的每个元素,从目标位元中读取参考最大值,以将该元素转换为第二数据格式的转换元素;以及基于所述第一目标矩阵中的每个元素分别对应的转换元素和目标计算类型,确定目标计算结果。确定目标计算结果。确定目标计算结果。

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


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

技术介绍

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

技术实现思路

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

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,包括:获取待计算的第一目标矩阵,其中,所述第一目标矩阵中的每个元素以第一数据格式存储在第一存储单元中,所述第一数据格式包括浮点型;将所述第一目标矩阵划分为多个子矩阵,其中,所述多个子矩阵中的每个子矩阵包括第一预设数量的元素;针对所述多个子矩阵中的每个子矩阵,基于该子矩阵中每个元素的绝对值,确定该子矩阵中各个元素的最大绝对值;确定与所述最大绝对值对应的二进制表示的参考最大值Max,所述参考最大值Max的数位宽度等于所述第一预设数量;针对该子矩阵中的每个元素,确定所述第一存储单元中用于存储该元素的最后一位尾数的位元为目标位元,以得到第一预设数量的目标位元;将所述参考最大值Max写入所述第一预设数量的目标位元;以及针对该子矩阵中的每个元素,从所述第一预设数量的目标位元中读取所述参考最大值Max,以基于所述参考最大值Max,将该元素转换为第二数据格式的转换元素;以及基于所述第一目标矩阵中的每个元素分别对应的转换元素和目标计算类型,确定目标计算结果。2.如权利要求1所述的方法,其中,所述第二数据格式包括至少一个指数位和多个尾数位,所述基于所述参考最大值Max,将该元素转换为第二数据格式的转换元素包括:基于所述第二数据格式的指数位的数位宽度m和所述参考最大值Max,将区间[0,Max]划分为2
m
个连续的子区间;基于该元素所处的子区间,确定与该元素对应的转换元素的指数位;以及基于该元素所处的子区间和所述第二数据格式的尾数位的数位宽度n,将该元素映射至[0,2
n
]区间,以确定该元素对应的转换元素的尾数位。3.如权利要求2所述的方法,其中,所述基于所述第二数据格式的指数位的数位宽度m和所述参考最大值Max,将区间[0,Max]划分为2
m
个连续的子区间包括:基于所述参考最大值Max,利用公式确定(2
m

1)个分割点M
k
,其中,k为小于2
m
的正整数;以及以所述(2
m

1)个分割点为子区间的端点,以将区间[0,Max]划分为2
m
个连续的子区间。4.如权利要求3所述的方法,其中,所述基于该元素所处的子区间和所述第二数据格式的尾数位的数位宽度n,将该元素映射至[0,2
n
]区间,以确定该元素对应的转换元素的尾数位包括:确定该元素的绝对值a;以及响应于确定该元素所处的子区间的最大端点值为将该元素映射至[0,2
n
]区间,以确定该元素对应的转换元素的尾数位为5.如权利要求1所述的方法,其中,所述第二数据格式包括多个尾数位,所述基于所述参考最大值Max,将该元素转换为第二数据格式的转换元素包括:
确定该元素的绝对值a;基于所述参考最大值Max,将该元素映射至[0,2
n
]区间,以确定该元素对应的转换元素的尾数位为6.如权利要求2

5中任一项所述的方法,所述第一数据格式和所述第二数据格式还包括1个符号位,所述第一目标矩阵中的每个元素对应的转换元素的符号位与该元素的符号位相同。7.如权利要求1

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

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

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

1