利用神经网络模型进行推理的方法和装置与流程

文档序号:35872566发布日期:2023-10-28 08:11阅读:59来源:国知局
利用神经网络模型进行推理的方法和装置与流程

本公开涉及人工智能领域,更具体地,涉及一种利用神经网络模型进行推理的方法、装置、设备和存储介质。


背景技术:

1、广告内容审核是投放广告中重要的一环,广告审核的任务在于如何高效准确地识别违规广告内容,以防止这些广告进入大众视野从而引发不良反应。随着互联网时代的数据大爆发,人工审核费时费力,在广告内容审核中对人工智能的使用可以显著提高审核效率。目前的广告内容审核服务可以基于海量标注数据和深度学习算法实现,从语音、文字、视觉等多维度精准识别视频、封面、标题等媒体信息中包含的违禁内容,并且支持广告及二维码识别、标志识别、不良场景识别、语音垃圾识别等多种功能。其中,语音识别是广告内容审核中的重要组成模块,广告内容审核的海量数据和审核精度的特点对语音识别任务提出了高精度、高并发的要求。

2、为了实现性能更优的语音识别,可以采用优化的用于语音识别的深度学习模型和用于加速深度学习模型推理的技术,以加快模型的响应速度和处理能力。但是,在显著提高深度学习模型的推理速度的同时,用于加速深度学习模型推理的技术在用于语音识别的深度学习模型上的应用也可能导致深度学习模型上出现的一些问题。

3、因此,需要一种高效的方法来优化用于加速深度学习模型推理的技术在用于语音识别的深度学习模型上的应用,从而优化神经网络模型推理。


技术实现思路

1、为了解决上述问题,本公开通过分析用于加速深度学习模型推理的技术导致语音识别模型的精度下降的原因,针对该原因提出了包括混合精度推理和截断式精度推理的解决方案,以解决用于加速深度学习模型推理的技术在用于语音识别的深度学习模型上的应用中出现的精度溢出问题。

2、本公开的实施例提供了一种利用神经网络模型进行推理的方法、装置、设备和计算机可读存储介质。

3、本公开的实施例提供了一种利用神经网络模型进行推理的方法,所述方法包括:确定在利用所述神经网络模型进行推理的过程中使用gpu的第一精度格式的值进行计算;以及响应于检测到所述神经网络模型中的模块在推理过程中发生精度溢出,执行以下中的一项或多项:在所述模块的计算过程中使用第二精度格式的值进行计算,其中,所述第一精度小于所述第二精度;或者响应于检测到所述神经网络模型中的残差连接结构的张量相加模块在计算过程中发生精度溢出,对所述张量相加模块中的发生精度溢出的值进行截断处理,并调整所述张量相加模块后序连接的层归一化模块的计算过程中的运算顺序。

4、本公开的实施例提供了一种利用神经网络模型进行推理的装置,包括:精度确定模块,被配置为确定在利用所述神经网络模型进行推理的过程中使用gpu的第一精度格式的值进行计算;溢出解决模块,被配置为响应于检测到所述神经网络模型中的模块在推理过程中发生精度溢出,执行以下中的一项或多项:在所述模块的计算过程中使用第二精度格式的值进行计算;或者响应于检测到所述神经网络模型中的残差连接结构的张量相加模块在计算过程中发生精度溢出,对所述张量相加模块中的发生精度溢出的值进行截断处理,并调整所述张量相加模块后序连接的层归一化模块的计算过程中的运算顺序。

5、本公开的实施例提供了一种利用神经网络模型进行推理的设备,包括:一个或多个处理器;以及一个或多个存储器,其中,所述一个或多个存储器中存储有计算机可执行程序,当由所述处理器执行所述计算机可执行程序时,执行如上所述的利用神经网络模型进行推理的方法。

6、本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现如上所述的利用神经网络模型进行推理的方法。

7、本公开的实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开的实施例的利用神经网络模型进行推理的方法。

8、本公开的实施例所提供的方法相比于传统的精度溢出解决方法而言,能够确定神经网络模型中发生精度溢出的重要原因,并针对该原因基于模型结构进行分析来确定解决方案,所确定的解决方案不会放大模型损失,并且不需要对模型进行重新训练,在保证模型精度的同时显著提升了模型的推理速度。

9、本公开的实施例所提供的方法通过对使用gpu的半精度浮点数格式来加速深度学习模型推理的技术导致用于语音识别的神经网络模型的精度下降的原因进行分析,发现了其主要是由于在神经网络模型的残差连接结构中激活张量的相加容易导致精度溢出的问题。针对所发现的精度溢出问题,本公开的实施例所提供的方法提出了包括混合精度推理和截断式精度推理两种可选方案,用于根据需要从中择一进行神经网络模型的推理,其中,混合精度推理对于神经网络模型中的不同模块采用不同的精度,而截断式精度推理通过分析发生精度溢出的残差连接结构,对张量相加模块的输出值进行截断处理,并调整其后所连接的层归一化模块中的运算顺序,从而解决了精度溢出问题。通过本公开的实施例所提供的方法,能够提供适用于解决不同应用场景下的精度溢出问题的解决方案,在不需要对神经网络模型进行重新训练的情况下,对神经网络模型的精度几乎没有影响,并且能够显著提升模型推理的速度。



技术特征:

1.一种利用神经网络模型进行推理的方法,所述方法包括:

2.如权利要求1所述的方法,其中,在所述模块的计算过程中使用第二精度格式的值进行计算包括:

3.如权利要求2所述的方法,其中,对于所述模块,使用第二精度格式的值进行计算还包括:

4.如权利要求1所述的方法,其中,对于所述神经网络模型中发生精度溢出的残差连接结构的张量相加模块,对所述张量相加模块中的发生精度溢出的值进行截断处理包括:

5.如权利要求4所述的方法,其中,对于所述神经网络模型中发生精度溢出的残差连接结构的张量相加模块,调整所述张量相加模块后序连接的层归一化模块的计算过程中的运算顺序包括:

6.如权利要求5所述的方法,其中,对于所述层归一化模块,经调整的运算顺序包括:

7.如权利要求1所述的方法,其中,响应于检测到所述神经网络模型中的模块在推理过程中发生精度溢出,执行以下中的一项或多项包括:

8.如权利要求7所述的方法,其中,确定所述执行包括:

9.如权利要求1所述的方法,其中,所述神经网络模型采用变形器语音识别模型结构,其中,将所述变形器模型结构中的前馈模块替换为快速混合专家结构。

10.一种利用神经网络模型进行推理的装置,包括:

11.一种利用神经网络模型进行推理的设备,包括:

12.一种计算机程序产品,所述计算机程序产品存储在计算机可读存储介质上,并且包括计算机指令,所述计算机指令在由处理器运行时使得计算机设备执行权利要求1-9中任一项所述的方法。

13.一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现如权利要求1-9中任一项所述的方法。


技术总结
本公开提供了一种利用神经网络模型进行推理的方法、装置、设备和计算机可读存储介质。该方法通过分析使用GPU的半精度浮点数格式来加速深度学习模型推理的技术导致用于语音识别的神经网络模型的精度下降的原因,发现了其主要是由于在神经网络模型的残差连接结构中激活张量的相加容易导致精度溢出的问题。该方法提出了混合精度推理和截断式精度推理两种可选方案,用于根据需要从中择一进行神经网络模型的推理,其中,混合精度推理对于神经网络模型中的不同模块采用不同的精度,而截断式精度推理通过分析发生精度溢出的残差连接结构,对张量相加模块的输出值进行截断处理,并调整其后所连接的层归一化模块中的运算顺序,从而解决了精度溢出问题。

技术研发人员:杨伟光
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1