System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及人工智能,特别是涉及一种数据处理方法及相关设备。
技术介绍
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、第四方面提供一种装置。装置包括第一处理模块和第二处理模块。第一处理模块,用于判断向量算子是否符合条件,向量算子为芯片的向量计算单元执行的算子。第二处理模块,用于在向量算子本文档来自技高网...
【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述判断向量算子是否符合条件包括:
3.根据权利要求2所述的方法,其特征在于,所述判断向量算子是否符合条件,还包括:
4.根据权利要求2或3所述的方法,其特征在于,所述目标向量算子包括矩阵按行求和、矩阵按列求和、矩阵数乘、向量外积和矩阵与向量间的哈达玛积运算中的至少一者。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述目标矩阵乘法算子包括构造矩阵,所述构造矩阵为根据所述向量算子构造的使所述第一计算结果与所述第二计算结果相同的矩阵。
6.根据权利要求5所述的方法,其特征在于,所述芯片包括与所述矩阵计算单元连接的缓冲区,所述缓冲区用于存储所述构造矩阵的分块矩阵,所述将所述向量算子转换为目标矩阵乘法算子包括:
7.一种数据处理方法,其特征在于,所述方法应用于芯片,所述芯片包括向量计算单元和矩阵计算单元,所述方法包括:
8.根据权利要求7所述的方法,其特征在于,所述目标矩阵乘法算子包括构造矩阵,所述构造
9.根据权利要求8所述的方法,其特征在于,所述芯片包括与所述矩阵计算单元连接的缓冲区,所述缓冲区用于存储所述构造矩阵的分块矩阵,所述将所述目标向量算子转换为目标矩阵乘法算子包括:
10.一种数据处理方法,其特征在于,所述方法包括:
11.根据权利要求10所述的方法,其特征在于,所述判断向量算子是否符合条件包括:
12.根据权利要求11所述的方法,其特征在于,所述判断向量算子是否符合条件,还包括:
13.一种装置,其特征在于,所述装置包括:
14.根据权利要求13所述的装置,其特征在于,
15.根据权利要求14所述的装置,其特征在于,
16.根据权利要求13至15中任一项所述的装置,其特征在于,所述目标矩阵乘法算子包括构造矩阵,所述构造矩阵为根据所述向量算子构造的使所述第一计算结果与所述第二计算结果相同的矩阵;所述芯片包括与所述矩阵计算单元连接的缓冲区,所述缓冲区用于存储所述构造矩阵的分块矩阵;
17.一种装置,其特征在于,所述装置应用于芯片,所述芯片包括向量计算单元和矩阵计算单元,所述装置包括:
18.一种装置,其特征在于,所述装置包括:
19.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器耦接存储器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1-12中任一项所述的数据处理方法。
20.一种计算机可读存储介质,其特征在于,包括指令,当所述计算机可读存储介质在计算机上运行时,使得所述计算机执行如权利要求1-12中任一项所述的数据处理方法。
...【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述判断向量算子是否符合条件包括:
3.根据权利要求2所述的方法,其特征在于,所述判断向量算子是否符合条件,还包括:
4.根据权利要求2或3所述的方法,其特征在于,所述目标向量算子包括矩阵按行求和、矩阵按列求和、矩阵数乘、向量外积和矩阵与向量间的哈达玛积运算中的至少一者。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述目标矩阵乘法算子包括构造矩阵,所述构造矩阵为根据所述向量算子构造的使所述第一计算结果与所述第二计算结果相同的矩阵。
6.根据权利要求5所述的方法,其特征在于,所述芯片包括与所述矩阵计算单元连接的缓冲区,所述缓冲区用于存储所述构造矩阵的分块矩阵,所述将所述向量算子转换为目标矩阵乘法算子包括:
7.一种数据处理方法,其特征在于,所述方法应用于芯片,所述芯片包括向量计算单元和矩阵计算单元,所述方法包括:
8.根据权利要求7所述的方法,其特征在于,所述目标矩阵乘法算子包括构造矩阵,所述构造矩阵为根据所述目标向量算子构造的使所述第一计算结果与所述第二计算结果相同的矩阵。
9.根据权利要求8所述的方法,其特征在于,所述芯片包括与所述矩阵计算单元连接的缓冲区,所述缓冲区用于存储所述构造矩阵的分块矩阵,所述将所述目标向量算子转换为目标矩阵乘法...
【专利技术属性】
技术研发人员:白有辉,王森,周华漫,唐艺峰,张弓,付勇,李付华,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。