深度学习算子的随机测试方法、装置、设备和存储介质与流程

专利检索2026-09-20  3


本发明涉及人工智能,更具体的说,涉及深度学习算子的随机测试方法、装置、设备和存储介质。


背景技术:

1、深度学习算子(operator)通常用于构建神经网络的各个层和组件,实现数据的传递、转换和计算。深度学习算子是深度学习模型的基本组成单元,它们定义了模型的结构和运算流程,包括输入、输出和中间计算。在深度学习软件库开发中,深度学习算子的随机测试是算子尺寸与功能泛化性支持质量保证的重要环节。

2、如何有效进行深度学习算子的随机测试是关键挑战。在现有技术中,直接构造算子的输入张量的随机形状(shape),然后通过规则约束剔除非法的随机形状,再利用剩余的合法随机形状执行测试。然而,直接随机产生的随机形状中通常存在大量冗余的非法形状,需要执行过滤处理以去除非法形状,导致随机测试效率不高。


技术实现思路

1、本发明提出深度学习算子的随机测试方法、装置、设备和存储介质,有助于提高测试效率。

2、本发明实施方式的技术方案如下:

3、一种深度学习算子的随机测试方法,包括:

4、基于深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系,确定表征所述第一尺寸的第一表达式及表征所述第二尺寸的第二表达式,其中所述第一表达式和所述第二表达式包含相同的随机变量;

5、确定所述随机变量的随机值;

6、基于所述随机值,确定所述第一尺寸和所述第二尺寸;

7、基于所述第一尺寸和所述第二尺寸,测试所述深度学习算子。

8、在一个实施方式中,所述第一张量为所述深度学习算子的输入张量或输出张量,所述第二张量为所述深度学习算子的输入张量或输出张量;

9、所述确定所述随机变量的随机值包括:

10、基于所述深度学习算子的属性参数或基于用户触发的取值范围设定指令,确定所述随机变量的取值范围;

11、在所述取值范围中,确定所述随机变量的随机值。

12、在一个实施方式中,所述深度学习算子为卷积算子,所述深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系包括下列中的至少一个:

13、所述深度学习算子的卷积输入张量的输入通道大小与所述深度学习算子的卷积权重张量的输入通道大小相同;

14、所述深度学习算子的卷积输出张量的输出通道大小与所述深度学习算子的卷积权重张量的输出通道大小相同;

15、所述深度学习算子的卷积输出张量的高度大小等于(input_height+2×padding–dilation×(kernel_height_size-1)–1)/stride+1,其中input_height为所述深度学习算子的卷积输入张量的高度大小;padding为所述深度学习算子的填充参数;dilation为所述深度学习算子的膨胀参数;kernel_height_size为所述深度学习算子的卷积权重张量的卷积核高度大小;stride为所述深度学习算子的步长;

16、所述深度学习算子的卷积输出张量的宽度大小等于(input_width+2×padding–dilation×(kernel_width_size-1)–1)/stride+1,其中input_width为所述深度学习算子的卷积输入张量的宽度大小;padding为所述深度学习算子的填充参数;dilation为所述深度学习算子的膨胀参数;kernel_width_size为所述深度学习算子的卷积权重张量的卷积核宽度大小;stride为所述深度学习算子的步长。

17、在一个实施方式中,所述深度学习算子为矩阵乘算子,所述深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系包括下列中的至少一个:

18、当所述矩阵乘算子的第一输入张量的转置为假且所述矩阵乘算子的第二输入张量的转置为假时,所述第一输入张量的第二维大小与所述第二输入张量的第一维大小相同,所述矩阵乘算子的输出张量的第一维大小与第一输入张量的第一维大小相同,所述矩阵乘算子的输出张量的第二维大小与第二输入张量的第二维大小相同;

19、当所述矩阵乘算子的第一输入张量的转置为真且所述矩阵乘算子的第二输入张量的转置为假时,所述第一输入张量的第一维大小与所述第二输入张量的第一维大小相同,所述矩阵乘算子的输出张量的第一维大小与第一输入张量的第二维大小相同,所述矩阵乘算子的输出张量的第二维大小与第二输入张量的第二维大小相同;

20、当所述矩阵乘算子的第一输入张量的转置为假且所述矩阵乘算子的第二输入张量的转置为真时,所述第一输入张量的第二维大小与所述第二输入张量的第二维大小相同,所述矩阵乘算子的输出张量的第一维大小与第一输入张量的第一维大小相同,所述矩阵乘算子的输出张量的第二维大小与第二输入张量的第一维大小相同;

21、当所述矩阵乘算子的第一输入张量的转置为真且所述矩阵乘算子的第二输入张量的转置为真时,所述第一输入张量的第一维大小与所述第二输入张量的第二维大小相同,所述矩阵乘算子的输出张量的第一维大小与第一输入张量的第二维大小相同,所述矩阵乘算子的输出张量的第二维大小与第二输入张量的第一维大小相同。

22、在一个实施方式中,所述深度学习算子为偏置向量加法算子,所述深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系包括下列中的至少一个:所述偏置向量加法算子的偏置输入张量的偏置输入大小与所述偏置向量加法算子的特征输入张量的通道大小相同;所述偏置向量加法算子的输出张量的尺寸与所述偏置向量加法算子的特征输入张量的特征输入尺寸相同;或

23、所述深度学习算子为逐点运算算子,所述深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系包括下列中的至少一个:所述逐点运算算子的两个输入张量的对应维度的大小相同或为1,其中为1的维度表征在该维度进行广播,所述逐点运算算子支持广播;所述逐点运算算子的输出张量的各个维度的大小与输入张量的对应维度的大小的最大值相同;或

24、所述深度学习算子为组类算子,所述深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系包括:所述组类算子的组卷积运算和组归一化运算中的输入张量的通道大小,是所述组类算子的组大小的整数倍;或

25、所述深度学习算子为注意力算子,所述深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系包括下列中的至少一个:当所述注意力算子的查询输入张量、键输入张量和值输入张量的第一维为批大小与头部数的乘积时,所述查询输入张量、键输入张量和值输入张量的第一维的大小相同;当所述注意力算子的查询输入张量、键输入张量和值输入张量的第二维为序列长度时,所述键输入张量和所述值输入张量的第二维的大小相同;当所述注意力算子的查询输入张量、键输入张量和值输入张量的第三维为头部大小时,所述查询输入张量、键输入张量和值输入张量的第三维的大小相同;所述注意力算子的输出张量的尺寸与所述查询输入张量的尺寸相同。

26、在一个实施方式中,所述基于深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系,确定表征所述第一尺寸的第一表达式及表征所述第二尺寸的第二表达式包括:

27、生成包含规则的脚本文件,其中在所述规则中:基于所述随机变量指定所述第一张量的第一尺寸与所述第二张量的第二尺寸之间的所述关联关系;

28、调用所述脚本文件,以基于所述规则生成所述第一表达式和所述第二表达式。

29、在一个实施方式中,所述基于所述第一尺寸和所述第二尺寸,测试所述深度学习算子包括下列中的至少一个:

30、当所述第一张量和所述第二张量都为输入张量时,生成符合所述第一尺寸的第一张量用例和符合所述第二尺寸的第二张量用例;将所述第一张量用例和所述第二张量用例输入基准深度学习算子,以获取基准输出张量用例;将所述第一张量用例和所述第二张量用例输入所述深度学习算子,以获取输出张量用例;基于所述输出张量用例与基准输出张量用例的比较结果,确定所述深度学习算子的测试结果;

31、当所述第一张量为输入张量,所述第二张量为输出张量时,生成符合所述第一尺寸的第一张量用例;将所述第一张量用例输入所述深度学习算子,以获取输出张量用例;当所述输出张量用例的尺寸与所述第二尺寸不匹配时,确定所述深度学习算子不通过测试;

32、当所述第一张量为输入张量,所述第二张量为输出张量时,生成符合所述第一尺寸的第一张量用例;将所述第一张量用例输入所述深度学习算子,以获取输出张量用例;当所述输出张量用例的尺寸与所述第二尺寸匹配时,将所述第一张量用例输入基准深度学习算子,以获取基准输出张量用例;基于所述输出张量用例与基准输出张量用例的比较结果,确定所述深度学习算子的测试结果。

33、一种深度学习算子的随机测试装置,包括:

34、第一确定模块,用于基于深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系,确定表征所述第一尺寸的第一表达式及表征所述第二尺寸的第二表达式,其中所述第一表达式和所述第二表达式包含相同的随机变量;

35、第二确定模块,用于确定所述随机变量的随机值;

36、第三确定模块,用于基于所述随机值,确定所述第一尺寸和所述第二尺寸;

37、测试模块,用于基于所述第一尺寸和所述第二尺寸,测试所述深度学习算子。

38、一种电子设备,包括:

39、存储器;

40、处理器;

41、其中所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如上任一所述的深度学习算子的随机测试方法。

42、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令在被处理器执行时,使所述处理器执行如上任一所述的深度学习算子的随机测试方法。

43、从上述技术方案可以看出,在本发明实施方式中,基于深度学习算子的第一张量的第一尺寸与深度学习算子的第二张量的第二尺寸之间的关联关系,确定表征第一尺寸的第一表达式及表征第二尺寸的第二表达式,其中第一表达式和第二表达式包含相同的随机变量;确定随机变量的随机值;基于随机值,确定第一尺寸和第二尺寸;基于第一尺寸和第二尺寸,测试深度学习算子。因此,本发明实施方式利用包含相同随机变量的表达式对尺寸之间的关联关系进行约束,可以利用表达式和随机变量快速确定出符合该关联关系的、用于执行测试的张量的随机尺寸,而不是完全随机地盲目生成尺寸,既减少或克服了冗余的非法形状,还无需执行过滤处理,因此减少了测量工作量,并提高了测试效率。

44、而且,利用包含规则的脚本实现了自动化生成表达式,降低了测试难度,并提高了测试效率。另外,在测试过程中,当输出张量用例的尺寸与输出张量的尺寸不匹配时,可以快速确定深度学习算子不通过测试,提高了测试速度 。


技术特征:

1.一种深度学习算子的随机测试方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求1所述的方法,其特征在于,所述深度学习算子为卷积算子,所述深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系包括下列中的至少一个:

4.根据权利要求1所述的方法,其特征在于,所述深度学习算子为矩阵乘算子,所述深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系包括下列中的至少一个:

5.根据权利要求1所述的方法,其特征在于,

6.根据权利要求1-5中任一项所述的方法,其特征在于,所述基于深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系,确定表征所述第一尺寸的第一表达式及表征所述第二尺寸的第二表达式包括:

7.根据权利要求1-5中任一项所述的方法,其特征在于,所述基于所述第一尺寸和所述第二尺寸,测试所述深度学习算子包括下列中的至少一个:

8.一种深度学习算子的随机测试装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令在被处理器执行时,使所述处理器执行如权利要求1-7中任一项所述的深度学习算子的随机测试方法。


技术总结
本发明实施方式公开了深度学习算子的随机测试方法、装置、设备和存储介质。方法包括:基于深度学习算子的第一张量的第一尺寸与所述深度学习算子的第二张量的第二尺寸之间的关联关系,确定表征所述第一尺寸的第一表达式及表征所述第二尺寸的第二表达式,其中所述第一表达式和所述第二表达式包含相同的随机变量;确定所述随机变量的随机值;基于所述随机值,确定所述第一尺寸和所述第二尺寸;基于所述第一尺寸和所述第二尺寸,测试所述深度学习算子。基于各个张量的尺寸之间的关联关系,确定出符合该关联关系的尺寸,而不是完全随机地盲目生成尺寸,减少了测量工作量,还提高了测试效率。

技术研发人员:请求不公布姓名,请求不公布姓名
受保护的技术使用者:北京壁仞科技开发有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1168079.html

最新回复(0)