本申请涉及芯片,特别是涉及一种算子处理模型的训练方法和相关装置。
背景技术:
1、业务模型(如人工智能领域中的深度学习模型)一般由多个计算单元组成,这些计算单元即为算子(operator,op)。在深度学习模型中,算子对应层中的计算逻辑。例如,卷积层(convolution layer)是一个算子,全连接层(fully-connected layer,fc layer)中的权值求和过程是一个算子等。
2、业务模型一般较大,其训练时间较久。为了缩短训练时间,可以对业务模型包括的多个算子进行优化。例如,调整各个算子的输入参数,从而使得算子基于较优的输入参数进行运行,提高业务模型的训练效率,从而缩短训练业务模型的时间。
3、相关技术中,通过特定测试用例测试算子在几组输入参数下的硬件表现,然后基于硬件表现从几组输入参数中确定出一组输入参数,从而训练业务模型。但是该种方式确定出的、用于训练业务模型所用的算子的输入参数的准确性较低,对缩短业务模型的训练时间的效果不大。
技术实现思路
1、为了解决上述技术问题,本申请提供了一种算子处理模型的训练方法和相关装置,用于提高确定算子的输入参数的准确性。
2、本申请实施例公开了如下技术方案:
3、一方面,本申请实施例提供一种算子处理模型的训练方法,所述方法包括:
4、获取算子、样本输入参数和第一测试结果,所述样本输入参数用于描述所述算子的输入数据的数据维度,所述第一测试结果为所述算子基于所述样本输入参数通过目标加速卡进行测试得到的真实结果;
5、根据所述算子和所述样本输入参数,通过初始算子处理模型进行预测,得到第一预测结果,所述第一预测结果为所述算子基于所述样本输入参数通过所述目标加速卡进行测试得到的理论结果;
6、基于最小化目标差异的训练方向,调整所述初始算子处理模型的参数,得到算子处理模型,所述目标差异为所述第一预测结果和所述第一测试结果之间的差异,所述算子处理模型用于预测所述算子基于不同输入参数通过所述目标加速卡进行测试得到的理论结果。
7、另一方面,本申请实施例提供一种算子处理模型的训练装置,所述装置包括:获取单元、预测单元和调整单元;
8、所述获取单元,用于获取算子、样本输入参数和第一测试结果,所述样本输入参数用于描述所述算子的输入数据的数据维度,所述第一测试结果为所述算子基于所述样本输入参数通过目标加速卡进行测试得到的真实结果;
9、所述预测单元,用于根据所述算子和所述样本输入参数,通过初始算子处理模型进行预测,得到第一预测结果,所述第一预测结果为所述算子基于所述样本输入参数通过所述目标加速卡进行测试得到的理论结果;
10、所述调整单元,用于基于最小化目标差异的训练方向,调整所述初始算子处理模型的参数,得到算子处理模型,所述目标差异为所述第一预测结果和所述第一测试结果之间的差异,所述算子处理模型用于预测所述算子基于不同输入参数通过所述目标加速卡进行测试得到的理论结果。
11、另一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器以及存储器:
12、所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
13、所述处理器用于根据所述计算机程序中的指令执行上述方面所述的方法。
14、另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。
15、另一方面,本申请实施例提供了一种计算机程序产品,当其在计算机设备上运行时,使得所述计算机设备执行上述方面所述的方法。
16、由上述技术方案可以看出,获取算子、样本输入参数和第一测试结果,其中,样本输入参数用于描述算子的输入数据的数据维度,第一测试结果是通过目标加速卡测试算子,且算子是基于样本输入参数进行测试得到的真实结果。根据算子和样本输入参数,通过初始算子处理模型进行预测,得到第一预测结果,即算子基于样本输入参数通过目标加速卡进行测试得到的理论结果。基于最小化目标差异的训练方向,即令第一预测结果和第一测试结果之间的差异最小,调整初始算子处理模型的参数,得到算子处理模型,从而使得算子处理模型可以较为准确地预测到算子基于不同输入参数通过目标测试卡进行测试的理论结果。
17、由此,通过训练初始算子处理模型不断学习算子基于不同样本输入参数通过目标测试卡进行测试分别得到的真实结果,使得其预测得到的理论结果越来越接近真实结果,从而基于初始算子处理模型训练得到的算子处理模型的学习能力较强,可以预测算子基于不同输入参数通过目标测试卡进行测试得到的理论结果。也就是说,通过算子处理模型进行预测相当于增加了测试结果的数量,从而提高确定算子的输入参数的准确性,以便后续基于该算子及其输入参数训练业务模型使,缩短训练时间。
1.一种算子处理模型的训练方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述目标加速卡包括第一加速卡和第二加速卡,所述第一测试结果包括第一测试子结果和第二测试子结果,所述第一测试子结果为所述算子基于所述样本输入参数通过所述第一加速卡进行测试得到的真实结果,所述第二测试子结果为所述算子基于所述样本输入参数通过所述第二加速卡进行测试得到的真实结果;
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1所述的方法,其特征在于,所述目标加速卡包括第一加速卡和第二加速卡,所述第一测试结果包括第一测试子结果和第二测试子结果,所述第一测试子结果为所述算子基于所述样本输入参数通过所述第一加速卡进行测试得到的真实结果,所述第二测试子结果为所述算子基于所述样本输入参数通过所述第二加速卡进行测试得到的真实结果;
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
12.一种算子处理模型的训练装置,其特征在于,所述装置包括:获取单元、预测单元和调整单元;
13.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-11中任意一项所述的方法。
15.一种包括计算机程序的计算机程序产品,其特征在于,当其在计算机设备上运行时,使得所述计算机设备执行权利要求1-11中任意一项所述的方法。