数据处理方法及相关设备与流程

文档序号:40457212发布日期:2024-12-27 09:22阅读:5来源:国知局
数据处理方法及相关设备与流程

本技术涉及人工智能,特别是涉及一种数据处理方法及相关设备。


背景技术:

1、在大数据-大计算背景下,以机器学习为代表的人工智能技术迅速发展,成为计算机视觉、智能语音、自然语言处理、生物特征识别、推荐系统等关键技术的核心基础,被广泛应用在金融风控、医疗诊断、智慧城市等领域,逐步成为推动信息革命和社会发展的主要力量之一。人工智能的迅速发展得益于两个重要因素,即算法模型的创新和智能芯片计算能力的持续提升。

2、在后摩尔时代,芯片晶体管密度虽然还在继续增加,但功耗密度和性能密度已经很难进一步提高,意味着无法通过工艺改进获得算力提升。因此芯片发展的一个重要分支是领域专用架构(domain specific architecture,dsa),也称智能芯片,该类芯片专用性强,设计简单,根据应用的具体特点,定制运算单元,简化控制逻辑,设计与领域计算特征相适应的存储结构和数据通路,虽然牺牲了通用性和灵活性,却获得了较高的性能和能效比,已经在高性能计算、人工智能、密码学等领域得到广泛应用。智能芯片核心计算单元包括两部分,一部分是矩阵计算单元,用于执行矩阵乘法计算,另一部分是向量计算单元,主要完成向量类操作的加速。

3、智能芯片的设计核心是为了加速矩阵乘法运算,因此矩阵计算单元在智能芯片上的面积占比较高。与向量计算单元的算力相比,矩阵计算单元有量级上的提升,如有些智能芯片中,矩阵计算单元与向量计算单元的计算能力比达到100:1,而神经网络模型的计算往往在这两种独立的计算单元上交替进行,这就导致计算复杂度低、算力需求低的向量类计算反而成为制约智能芯片算力发挥的瓶颈。


技术实现思路

1、本技术提供了一种数据处理方法及相关设备,以解决智能芯片的向量计算单元算力较弱制约智能芯片算力发挥的问题。

2、第一方面提供一种数据处理方法。该方法包括:判断向量算子是否符合条件,在该向量算子符合条件时,将向量算子转换为能够被芯片的矩阵计算单元执行的目标矩阵乘法算子。其中,向量算子为芯片的向量计算单元执行的算子。目标矩阵乘法算子的第一计算结果与向量算子的第二计算结果相同,即目标矩阵乘法算子为向量算子的等效算子,向量算子转换前后的计算结果一致。在向量算子符合条件时,将向量算子转换为目标矩阵乘法算子,即将向量算子转换为能够被矩阵计算单元处理的数据格式,从而转换后的目标矩阵乘法算子能够在矩阵计算单元上进行运算,从而加速向量类运算,提高神经网络模型的推理效率。

3、在一种可能的实现方式中,判断向量算子是否符合条件包括:判断向量算子是否为目标向量算子,若向量算子为目标向量算子,则确定向量算子符合条件。若向量算子不为目标向量算子,则确定向量算子不符合条件。目标向量算子为能够转换为矩阵乘法算子的算子,且目标向量算子的计算结果与转换后的矩阵乘法算子的计算结果相同。从而保证向量算子能够转换为矩阵乘法算子,并且保证转换后的目标矩阵乘法算子计算与向量算子的计算结果一致。

4、在一种可能的实现方式中,判断向量算子是否符合条件,还包括:判断第一代价是否小于第二代价。其中,第一代价为预测的矩阵计算单元执行目标矩阵乘法算子完成计算所需的时长,第二代价为预测的向量计算单元执行向量算子完成计算所需的时长。若向量算子为目标向量算子,则确定向量算子符合条件包括:若向量算子为目标向量算子,且第一代价小于第二代价,则确定向量算子符合条件。从而,通过预测和比较矩阵计算单元和向量计算单元所需的时间开销,能够保证最终采用时间开销最小的方式进行计算,优化智能芯片的处理效率。

5、在一种可能的实现方式中,目标向量算子包括矩阵按行求和、矩阵按列求和、矩阵数乘、向量外积和矩阵与向量间的哈达玛积运算中的至少一者。

6、在一种可能的实现方式中,目标矩阵乘法算子包括构造矩阵,构造矩阵为根据向量算子构造的使第一计算结果与第二计算结果相同的矩阵。

7、在一种可能的实现方式中,芯片包括与矩阵计算单元连接的缓冲区,缓冲区用于存储构造矩阵的分块矩阵。将向量算子转换为目标矩阵乘法算子包括:根据缓冲区的大小和向量算子构造目标分块矩阵,目标分块矩阵的大小小于或等于缓冲区的大小,目标分块矩阵为构造矩阵的一部分,目标分块矩阵中的数值不全为0。从而,可以无需构造完整的构造矩阵,减少对存储空间的占用,减少无效运算以及减小数据搬运开销,从而提高矩阵计算单元的处理效率。

8、在一种可能的实现方式中,矩阵计算单元包括至少一个乘法累加器,乘法累加器用于计算预设大小的矩阵之间的矩阵乘法。目标分块矩阵的大小为该预设大小的整数倍(大于或等于1)。

9、第二方面提供一种数据处理方法。该方法应用于芯片,芯片包括向量计算单元和矩阵计算单元。该方法包括:获取目标向量算子,将目标向量算子转换为目标矩阵乘法算子,然后,利用矩阵计算单元执行目标矩阵乘法算子。其中,目标矩阵乘法算子的第一计算结果与目标向量算子的第二计算结果相同。目标向量算子为能够转换为矩阵乘法算子,且转换后的矩阵乘法算子的计算结果与向量算子的计算结果相同的算子。

10、在一种可能的实现方式中,目标矩阵乘法算子包括构造矩阵,构造矩阵为根据目标向量算子构造的使第一计算结果与第二计算结果相同的矩阵。

11、在一种可能的实现方式中,芯片包括与矩阵计算单元连接的缓冲区,缓冲区用于存储构造矩阵的分块矩阵,将目标向量算子转换为目标矩阵乘法算子包括:根据缓冲区的大小和目标向量算子构造目标分块矩阵,目标分块矩阵的大小小于或等于缓冲区的大小,目标分块矩阵为构造矩阵的一部分,目标分块矩阵中的数值不全为0。

12、第三方面提供一种数据处理方法。该方法应用于主机中央处理器。该方法包括:判断向量算子是否符合条件,若向量算子符合条件,则发出指令。其中,指令指示芯片将向量算子转换为矩阵乘法算子。向量算子为芯片的向量计算单元执行的算子。

13、在一种可能的实现方式中,判断向量算子是否符合条件包括:判断向量算子是否为目标向量算子,若向量算子为目标向量算子,则确定向量算子符合条件。目标向量算子为能够转换为矩阵乘法算子的算子,且目标向量算子的计算结果与转换后的矩阵乘法算子的计算结果相同。

14、在一种可能的实现方式中,判断向量算子是否符合条件,还包括:判断第一代价是否小于第二代价,第一代价为预测的矩阵计算单元执行目标矩阵乘法算子完成计算所需的时长,第二代价为预测的向量计算单元执行向量算子完成计算所需的时长。若向量算子为目标向量算子,则确定向量算子符合条件包括:若向量算子为目标向量算子,且第一代价小于第二代价,则确定向量算子符合条件。

15、在一种可能的实现方式中,目标向量算子包括矩阵按行求和、矩阵按列求和、矩阵数乘、向量外积和矩阵与向量间的哈达玛积运算中的至少一者。

16、第四方面提供一种装置。装置包括第一处理模块和第二处理模块。第一处理模块,用于判断向量算子是否符合条件,向量算子为芯片的向量计算单元执行的算子。第二处理模块,用于在向量算子符合条件时,将向量算子转换为目标矩阵乘法算子,以使芯片的矩阵计算单元能够执行目标矩阵乘法算子,目标矩阵乘法算子的第一计算结果与向量算子的第二计算结果相同。

17、在一种可能的实现方式中,第一处理模块,用于判断向量算子是否为目标向量算子,目标向量算子为能够转换为矩阵乘法算子,且转换后的矩阵乘法算子的计算结果与向量算子的计算结果相同的算子。第一处理模块,用于在向量算子为目标向量算子时,确定向量算子符合条件。

18、在一种可能的实现方式中,目标向量算子包括矩阵按行求和、矩阵按列求和、矩阵数乘、向量外积和矩阵与向量间的哈达玛积运算中的至少一者。

19、在一种可能的实现方式中,第一处理模块,用于判断第一代价是否小于第二代价,第一代价为预测的矩阵计算单元执行目标矩阵乘法算子完成计算所需的时长,第二代价为预测的向量计算单元执行向量算子完成计算所需的时长。第一处理模块,用于在向量算子为目标向量算子,且第一代价小于第二代价时,确定向量算子符合条件。

20、在一种可能的实现方式中,目标矩阵乘法算子包括构造矩阵,构造矩阵为根据向量算子构造的使第一计算结果与第二计算结果相同的矩阵。芯片包括与矩阵计算单元连接的缓冲区,缓冲区用于存储构造矩阵的分块矩阵。第二处理模块,用于根据缓冲区的大小和向量算子构造目标分块矩阵,目标分块矩阵的大小小于或等于缓冲区的大小,目标分块矩阵为构造矩阵的一部分,目标分块矩阵中的数值不全为0。

21、第五方面提供一种装置。该装置应用于芯片,芯片包括向量计算单元和矩阵计算单元,装置包括处理模块。处理模块,用于获取目标向量算子。处理模块,用于将目标向量算子转换为目标矩阵乘法算子,以使矩阵计算单元能够执行目标矩阵乘法算子,目标矩阵乘法算子的第一计算结果与目标向量算子的第二计算结果相同。

22、在一种可能的实现方式中,目标矩阵乘法算子包括构造矩阵,构造矩阵为根据向量算子构造的使第一计算结果与第二计算结果相同的矩阵。芯片包括与矩阵计算单元连接的缓冲区,缓冲区用于存储构造矩阵的分块矩阵。处理模块,用于根据缓冲区的大小和向量算子构造目标分块矩阵,目标分块矩阵的大小小于或等于缓冲区的大小,目标分块矩阵为构造矩阵的一部分,目标分块矩阵中的数值不全为0。

23、第六方面提供一种装置。该装置包括处理模块。处理模块,用于判断向量算子是否符合条件,向量算子为芯片的向量计算单元执行的算子。处理模块,用于在向量算子符合条件时,发出指令,指令指示芯片将向量算子转换为矩阵乘法算子。

24、在一种可能的实现方式中,处理模块,用于判断向量算子是否为目标向量算子,目标向量算子为能够转换为矩阵乘法算子的算子,且目标向量算子的计算结果与转换后的矩阵乘法算子的计算结果相同。处理模块,用于在向量算子为目标向量算子时,确定向量算子符合条件。

25、在一种可能的实现方式中,目标向量算子包括矩阵按行求和、矩阵按列求和、矩阵数乘、向量外积和矩阵与向量间的哈达玛积运算中的至少一者。

26、在一种可能的实现方式中,处理模块,用于判断第一代价是否小于第二代价,第一代价为预测的矩阵计算单元执行目标矩阵乘法算子完成计算所需的时长,第二代价为预测的向量计算单元执行向量算子完成计算所需的时长。处理模块,用于在向量算子为目标向量算子,且第一代价小于第二代价时,确定向量算子符合条件。

27、第七方面提供一种电子设备。该电子设备包括处理器,处理器耦接存储器,处理器被配置为基于存储在存储器中的指令,执行如第一方面或第一方面的任意一种可能的实现方式,或第二方面或第二方面的任意一种可能的实现方式,或第三方面或第三方面的任意一种可能的实现方式中的数据处理方法。

28、第八方面提供一种计算机可读存储介质。计算机可读存储介质包括指令,当计算机可读存储介质在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意一种可能的实现方式,或第二方面或第二方面的任意一种可能的实现方式,或第三方面或第三方面的任意一种可能的实现方式中的数据处理方法中的步骤。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1