本技术涉及人工智能芯片,尤其涉及一种数据处理方法、装置、系统及存储介质。
背景技术:
1、三角矩阵方程广泛存在于不同的应用领域,例如,生物计算、信号处理、统计学、核物理等等,在这些科学领域的计算过程中起着重要作用。由于在这些科学领域大量存在三角线性方程,因此,对于三角矩阵方程求解的计算性能,成为了这些领域极为关注的问题之一。
2、近年来,随着科技的不断进步和应用的不断发展,基于人工智能芯片(ai芯片)的三角矩阵方程的数据处理方式得到了大量的应用。目前,基于ai芯片的三角矩阵方程求解,主要是利用了ai芯片的向量运算能力,但是该种求解方法,并不能充分利用ai芯片的运算能力,从而导致三角矩阵方程的求解效率较低。因此,如何充分利用ai芯片的运算能力对三角矩阵方程进行求解,成为了亟待解决的技术问题。
技术实现思路
1、本技术旨在至少解决现有技术中存在的技术问题之一。为此,本技术提出了一种数据处理方法、装置、系统及存储介质,能够充分利用人工智能芯片的矩阵计算能力对矩阵进行求解,从而显著提升数据处理效率。
2、根据本技术的第一方面实施例的数据处理方法,应用于人工智能芯片,所述人工智能芯片包括矩阵计算单元,包括:
3、获取待求解矩阵,其中,所述待求解矩阵与三角矩阵、预设矩阵构建得到三角矩阵方程的等式,且所述待求解矩阵与所述三角矩阵位于等式的一边,所述预设矩阵位于等式的另一边;
4、对所述三角矩阵进行逆变换得到逆三角矩阵;
5、根据所述人工智能芯片的矩阵运算的第一浮点数精度、所述待求解矩阵要求的运算精度,对所述逆三角矩阵、所述预设矩阵进行精度处理,得到所述逆三角矩阵对应的第一矩阵、所述预设矩阵对应的第二矩阵;
6、将所述第一矩阵和所述第二矩阵输入到所述矩阵计算单元,得到矩阵相乘结果,其中,所述矩阵相乘结果用以表示所述待求解矩阵。
7、根据本技术实施例的数据处理方法,至少具有如下有益效果:首先,获取待求解矩阵,其中,待求解矩阵与三角矩阵构成预设矩阵;其次,对三角矩阵进行逆变换得到逆三角矩阵;之后,根据人工智能芯片的矩阵运算的第一浮点数精度、矩阵要求的运算精度,对逆三角矩阵、预设矩阵进行精度处理,得到逆三角矩阵对应的第一矩阵、预设矩阵对应的第二矩阵;最后,将第一矩阵和第二矩阵输入到矩阵计算单元,得到矩阵相乘结果,其中,矩阵相乘结果用以表示待求解矩阵。本技术的数据处理方法,通过对三角矩阵方程中的三角矩阵进行求逆,从而得到逆三角矩阵,能够将三角矩阵方程所代表的向量逐行求解问题,转换为矩阵乘法问题,从而能够利用人工智能芯片的矩阵计算能力进行计算,最终得到以矩阵相乘结果表示的待求解矩阵。而人工智能芯片矩阵计算能力远强于向量运算能力,基于此,人工智能芯片通过对进行矩阵计算,能够较大幅度地提升对人工智能芯片的利用效率,从而能够显著提升基于三角矩阵方程求解的数据处理效率。因此,本技术的数据处理方法,能够充分利用人工智能芯片的矩阵计算能力对矩阵进行求解,从而显著提升数据处理效率。
8、根据本技术的一些实施例,在所述获取待求解矩阵之前,包括:
9、根据求解问题设定所述预设矩阵、所述三角矩阵;
10、通过所述待求解矩阵、所述三角矩阵、所述预设矩阵以及预设常数,构建得到三角矩阵方程,其中,所述三角矩阵方程为等式,相乘的所述待求解矩阵、所述三角矩阵位于等式的一边,相乘的所述预设矩阵、所述预设常数位于等式的另一边。
11、根据本技术的一些实施例,所述数据处理方法还包括:
12、确定待分解的初始矩阵;
13、将所述初始矩阵分块为长宽相等的子矩阵;
14、从左数第一列、从上数第一行的子矩阵开始,对在斜对角线上的子矩阵依次进行lu分解、panel分解和三角矩阵求解,得到目标矩阵。
15、根据本技术的一些实施例,所述从左数第一列、从上数第一行的子矩阵开始,对在斜对角线上的子矩阵依次进行lu分解、panel分解和三角矩阵求解,得到目标矩阵,包括:
16、步骤400,对从左数第一列、从上数第一行的a11子矩阵进行lu分解,得到l11矩阵和u11矩阵;
17、步骤410,结合所述u11矩阵,将与所述a11子矩阵同一列的所有子矩阵进行panel分解,得到l21至lm1矩阵,其中,m代表所述初始矩阵的行数,所有子矩阵不包括所述a11子矩阵;
18、步骤420,结合所述l11矩阵,将与所述a11子矩阵同一行的所有子矩阵进行三角矩阵求解,得到u12至u1n矩阵,其中,n代表所述初始矩阵的列数;
19、步骤430,从左数第二列、从上数第二行的a22子矩阵开始,对除第一行和第一列以外的子矩阵进行gemm更新;
20、步骤440,基于更新后的a22子矩阵,重复步骤400至步骤430的计算方式,直至得到amn子矩阵的lmm矩阵和unn矩阵,其中,m等于n。
21、根据本技术的一些实施例,所述根据所述人工智能芯片的矩阵运算的第一浮点数精度、所述待求解矩阵要求的运算精度,对所述逆三角矩阵、所述预设矩阵进行精度处理,得到所述逆三角矩阵对应的第一矩阵、所述预设矩阵对应的第二矩阵,包括:
22、当所述第一浮点数精度与所述待求解矩阵的第二浮点数精度不一致,对所述逆三角矩阵、所述预设矩阵进行数值缩放,得到所述逆三角矩阵对应的所述第一矩阵、所述预设矩阵对应的所述第二矩阵,其中,所述第一矩阵的第一数值范围、所述第二矩阵的第二数值范围,在所述第一浮点数精度能够表示的范围内。
23、根据本技术的一些实施例,所述对所述逆三角矩阵、所述预设矩阵进行数值缩放,得到所述逆三角矩阵对应的所述第一矩阵、所述预设矩阵对应的所述第二矩阵,包括:
24、确定所述逆三角矩阵的第一数值范围和第三浮点数精度,并确定所述预设矩阵的第二数值范围和第四浮点数精度;
25、根据所述第一数值范围、所述第三浮点数精度和所述第一浮点数精度,确定所述逆三角矩阵的第一缩放预设常数;
26、根据所述第二数值范围、所述第四浮点数精度和所述第一浮点数精度,确定所述预设矩阵的第二缩放预设常数;
27、根据所述第一缩放预设常数,对所述逆三角矩阵进行精度转换得到所述第一矩阵,并根据所述第二缩放预设常数对所述预设矩阵精度转换得到所述第二矩阵。
28、根据本技术的一些实施例,所述根据所述第一缩放预设常数,对所述逆三角矩阵进行精度转换得到所述第一矩阵,并根据所述第二缩放预设常数对所述预设矩阵精度转换得到所述第二矩阵,包括:
29、将所述第一缩放预设常数乘以所述逆三角矩阵得到第一乘积,并根据所述第一浮点数精度对第一乘积进行精度转换,得到所述第一矩阵;
30、将所述第二缩放预设常数乘以所述预设矩阵得到第二乘积,并根据所述第一浮点数精度对第二乘积进行精度转换,得到所述第二矩阵。
31、根据本技术的第二方面实施例的数据处理装置,包括:
32、获取模块,用于获取待求解矩阵,其中,所述待求解矩阵与三角矩阵、预设矩阵构建得到三角矩阵方程的等式,且所述待求解矩阵与所述三角矩阵位于等式的一边,所述预设矩阵位于等式的另一边;
33、求逆模块,用于对所述三角矩阵进行逆变换得到逆三角矩阵;
34、精度处理模块,用于根据人工智能芯片的矩阵运算的第一浮点数精度、所述待求解矩阵要求的运算精度,对所述逆三角矩阵、所述预设矩阵进行精度处理,得到所述逆三角矩阵对应的第一矩阵、所述预设矩阵对应的第二矩阵;
35、求解模块,用于将所述第一矩阵和所述第二矩阵输入到所述人工智能芯片的矩阵计算单元,得到矩阵相乘结果,其中,所述矩阵相乘结果用以表示所述待求解矩阵。
36、根据本技术的第三方面实施例的数据处理系统,包括:
37、至少一个存储器;
38、至少一个处理器;
39、至少一个程序;
40、所述程序被存储在所述存储器中,所述处理器执行至少一个所述程序以实现如第一方面实施例所述的数据处理方法。
41、根据本技术的第四方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面实施例所述的数据处理方法。
42、本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。