一种算力测试方法、装置、存储介质、程序产品和设备与流程

    技术2025-03-16  42


    本发明涉及人工智能,尤其涉及一种算力测试方法、装置、存储介质、程序产品和设备。


    背景技术:

    1、目前,人工智能芯片的算力评估方法主要包括以下几种:第一种是依靠理论推算,即执行特定的运算需要的理论计算量(乘加操作)与所需的时钟周期间的换算;第二种是依赖芯片厂家自身的测试工具,各厂家利用各自人工智能芯片的kernel函数(核函数)开发矩阵乘运算或卷积运算功能,记录完成一定规模的计算量所需的时间,从而得出芯片的算力,这种方法仅适用于厂家自己完成,因为利用kernel函数实现有关的功能需要较专业的性能调优技能,并不适合独立的第三方;第三种是依赖厂家开放的blas库,也就是已经由厂家利用kernel函数“积木块”封装好了矩阵乘运算和卷积功能函数,可供第三方直接调用使用,但这种方式依赖于厂家是否开放了blas库,实际上目前只有少部分厂家开发了blas库。

    2、上述第一种方法和第二种方法的测量误差较大,不适合第三方客观公正的算力评估,第一种方法属于理论推理范畴,属于在理想环境下的人工智能芯片的最高算力推导,并不能真实反映芯片在实际使用场景中的算力,第二种方法依赖于人工智能芯片厂家自身的测试工具输出,厂家的计算标准不统一,在个别特殊的情况下,厂家自身工具上报的数据偏差较大,可信度不高。而第三种方法同样依赖厂家,不能用于未开发或未开放blas库的芯片。可以看出,人工智能芯片缺乏权威的第三方的统一算力评估方法。


    技术实现思路

    1、为解决现有存在的技术问题,本发明实施例提供一种算力测试方法、装置、存储介质、程序产品和设备。

    2、为达到上述目的,本发明实施例的技术方案是这样实现的:

    3、第一方面,本发明实施例提供一种算力测试方法,包括:

    4、根据人工智能芯片的应用需求确定待测试的一个或多个深度学习框架以及一种或多种数据类型,针对每个深度学习框架和每种数据类型配置多组运算参数,所述多组运算参数用于执行一种或多种运算;

    5、基于相同的运行环境,获取所述人工智能芯片采用每组运算参数执行相应运算的算力测试值;

    6、根据每种数据类型对应的所有算力测试值,确定所述人工智能芯片针对每种数据类型的算力测试结果。

    7、上述方案中,所述获取所述人工智能芯片采用每组运算参数执行相应运算的算力测试值,包括:基于每组运算参数,驱动所述人工智能芯片通过对应的深度学习框架执行相应运算,获得每组运算参数的运算结果和运算耗时;根据所述运算耗时和相应运算的理论运算量确定所述算力测试值。

    8、上述方案中,所述根据所述运算耗时和相应运算的理论运算量确定所述算力测试值,包括:获取每组运算参数对应的参考结果;在所述运算结果与所述参考结果满足预设条件的情况下,根据所述运算耗时和所述理论运算量确定所述算力测试值;在所述运算结果与所述参考结果不满足所述预设条件的情况下,重新获取所述人工智能芯片采用每组运算参数执行相应运算的算力测试值。

    9、上述方案中,所述参考结果由所述人工智能芯片运行的测试设备基于对应的运算参数执行相应运算获得。

    10、上述方案中,所述根据每种数据类型对应的所有算力测试值,确定所述人工智能芯片针对每种数据类型的算力测试结果,包括:根据每种数据类型对应的所有算力测试值确定对应于不同深度学习框架和不同运算的多个平均值;依次按照所述一个或多个运算之间的第一权重比例以及所述一个或多个深度学习框架之间的第二权重比例,对所述多个平均值进行加权求和,获得所述人工智能芯片针对每种数据类型的算力测试结果。

    11、上述方案中,所述多组运算参数包括用于执行矩阵乘运算的多组第一运算参数以及用于执行卷积运算的多组第二运算参数,不同的第一运算参数对应的矩阵规模不同,不同的第二运算参数对应的卷积运算规模不同;所述一个或多个深度学习框架包括第一深度学习框架和第二深度学习框架;所述根据每种数据类型对应的所有算力测试值确定对应于不同深度学习框架和不同运算的多个平均值,包括:根据多个第一算力测试值确定针对第一深度学习框架和矩阵乘运算的第一平均值;所述多个第一算力测试值包括所述人工智能芯片在第一深度学习框架下采用每组第一运算参数执行矩阵乘运算的算力测试值;根据多个第二算力测试值确定针对第一深度学习框架和卷积运算的第二平均值;所述多个第二算力测试值包括所述人工智能芯片在第一深度学习框架下采用每组第二运算参数执行卷积运算的算力测试值;根据多个第三算力测试值确定针对第二深度学习框架和矩阵乘运算的第三平均值;所述多个第三算力测试值包括所述人工智能芯片在第二深度学习框架下采用每组第一运算参数执行卷积运算的算力测试值;根据所多个第四算力测试值确定针对第二深度学习框架和卷积运算的第四平均值;所述多个第四算力测试值包括所述人工智能芯片在第二深度学习框架下采用每组第二运算参数执行卷积运算的算力测试值。

    12、上述方案中,所述依次按照所述一个或多个运算之间的第一权重比例以及所述一个或多个深度学习框架之间的第二权重比例,对所述多个平均值进行加权求和,包括:根据所述第一权重比例确定矩阵乘运算对应的第一权重以及卷积运算对应的第二权重,基于所述第一权重和所述第二权重对所述第一平均值和所述第二平均值进行加权求和获得第一中间值,以及对所述第三平均值和所述第四平均值进行加权求和获得第二中间值;根据所述第二权重比例确定第一深度学习框架对应的第三权重和所述第二深度学习框架对应的第四权重,基于所述第三权重和所述第四权重对所述第一中间值和所述第二中间值进行加权求和。

    13、上述方案中,所述针对每个深度学习框架和每种数据类型配置多组运算参数,包括:按照每种运算对应的参数类型和每种数据类型随机生成所述多组运算参数。

    14、上述方案中,所述数据类型包括以下至少之一:8位整数类型、半精度浮点数和单精度浮点数。

    15、上述方案中,所述运行环境至少包括所述人工智能芯片所运行的硬件配置、操作系统、基本输入输出系统、深度学习框架对应的软件代码和依赖包、编译环境。

    16、第二方面,本发明实施例提供一种算力测试装置,包括配置单元、测试单元和计算单元;其中,

    17、所述配置单元,用于根据人工智能芯片的应用需求确定待测试的一个或多个深度学习框架以及一种或多种数据类型,针对每个深度学习框架和每种数据类型配置多组运算参数,所述多组运算参数用于执行一种或多种运算;

    18、所述测试单元,用于基于相同的运行环境,获取人工智能芯片采用每组运算参数执行相应运算的算力测试值;

    19、所述计算单元,用于根据每种数据类型对应的所有算力测试值,确定所述人工智能芯片针对每种数据类型的算力测试结果。

    20、第三方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述第一方面所述方法的步骤。

    21、第四方面,本发明实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述第一方面所述方法的步骤。

    22、第五方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述第一方面所述方法的步骤。

    23、本发明实施例的算力测试方法、装置、存储介质、程序产品和设备,不需依赖人工智能芯片厂家,基于相同的运行环境获取人工智能芯片采用对应的运算参数执行相应运算获得算力测试值,根据每种数据类型对应的所有算力测试值计算针对每种数据类型的算力测试结果,采用第三方客观独立的方式,使得测试结果更具说服力,保证了算力测试结果的准确性和权威性,能够满足对各类不同厂家的人工智能芯片产品的算力的独立评估需求。


    技术特征:

    1.一种算力测试方法,其特征在于,所述方法包括:

    2.根据权利要求1所述的方法,其特征在于,所述获取所述人工智能芯片采用每组运算参数执行相应运算的算力测试值,包括:

    3.根据权利要求2所述的方法,其特征在于,所述根据所述运算耗时和相应运算的理论运算量确定所述算力测试值,包括:

    4.根据权利要求3所述的方法,其特征在于,所述参考结果由所述人工智能芯片运行的测试设备基于对应的运算参数执行相应运算获得。

    5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据每种数据类型对应的所有算力测试值,确定所述人工智能芯片针对每种数据类型的算力测试结果,包括:

    6.根据权利要求5所述的方法,其特征在于,所述多组运算参数包括用于执行矩阵乘运算的多组第一运算参数以及用于执行卷积运算的多组第二运算参数,不同的第一运算参数对应的矩阵规模不同,不同的第二运算参数对应的卷积运算规模不同;所述一个或多个深度学习框架包括第一深度学习框架和第二深度学习框架;

    7.根据权利要求6所述的方法,其特征在于,所述依次按照所述一个或多个运算之间的第一权重比例以及所述一个或多个深度学习框架之间的第二权重比例,对所述多个平均值进行加权求和,包括:

    8.根据权利要求1至4、6和7任一项所述的方法,其特征在于,所述针对每个深度学习框架和每种数据类型配置多组运算参数,包括:

    9.根据权利要求1至4、6和7任一项所述的方法,其特征在于,所述数据类型包括以下至少之一:8位整数类型、半精度浮点数和单精度浮点数。

    10.根据权利要求1至4、6和7任一项所述的方法,其特征在于,所述运行环境至少包括所述人工智能芯片所运行的硬件配置、操作系统、基本输入输出系统、深度学习框架对应的软件代码和依赖包、编译环境。

    11.一种算力测试装置,其特征在于,所述装置包括配置单元、测试单元和计算单元;其中,

    12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至10任一项所述方法的步骤。

    13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现权利要求1至10任一项所述方法的步骤。

    14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至10任一项所述方法的步骤。


    技术总结
    本发明实施例公开了一种算力测试方法、装置、存储介质、程序产品和设备,方法包括:根据人工智能芯片的应用需求确定待测试的一个或多个深度学习框架以及一种或多种数据类型,针对每个深度学习框架和每种数据类型配置多组运算参数,所述多组运算参数用于执行一种或多种运算;基于相同的运行环境,获取所述人工智能芯片采用每组运算参数执行相应运算的算力测试值;根据每种数据类型对应的所有算力测试值,确定所述人工智能芯片针对每种数据类型的算力测试结果。

    技术研发人员:朱瑞平,鲁江华,李聪聪
    受保护的技术使用者:中国移动通信有限公司研究院
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-27632.html

    最新回复(0)