神经网络模型的量化方法、可读介质和电子设备技术

技术编号:32493234 阅读:11 留言:0更新日期:2022-03-02 10:00
本申请涉及人工智能领域,提供了一种神经网络模型的量化方法、介质和电子设备。该方法通过对待量化神经网络模型中各计算节点中运行顺序在前一部分的计算节点进行较低精度的量化,对运行顺序在后一部分的计算节点进行较高精度的量化,通过调整运行顺序在后一部分的计算节点的数量来得到不同的量化方案,再将不同的量化方案的运行结果和部署要求进行比,以确定出满足部署要求的情况下,进行较高精度的量化的计算节点的数量最少的量化方案。如此,电子设备无需通过大量的训练数据进行优化训练,也无需逐个调整待量化神经网络模型的计算节点的量化精度,即可快速得到满足部署条件的量化方案,提高了神经网络模型量化的速度。提高了神经网络模型量化的速度。提高了神经网络模型量化的速度。

【技术实现步骤摘要】
神经网络模型的量化方法、可读介质和电子设备


[0001]本申请涉及人工智能领域,特别涉及一种神经网络模型的量化方法、可读介质和电子设备。

技术介绍

[0002]随着人工智能(artificial intelligence,AI)的迅速发展,神经网络模型在人工智能领域的应用越来越广泛。为使得神经网络模型能够在不同的电子设备上运行时,都能兼顾精度和运行速度,可以通过对神经网络模型中的各个计算节点采用不同量化精度,来平衡神经网络模型的运行精度和运行速度。例如,在将神经网络模型部署到目标电子设备前,根据目标电子设备的硬件参数,逐个调整各计算节点的量化精度,并将调整量化精度后的神经网络模型基于大量的训练数据进行优化训练,以得到使目标电子设备在运行该神经网络模型时的运算速度、运算精度等都满足要求的情况下,该神经网络模型各计算节点的量化精度。
[0003]但是,基于大量的训练数据来确定出使神经网络模型在目标电子设备上的运行精度满足要求时,神经网络模型的各计算节点的量化精度耗时较长,占用硬件资源较多,并且实际工程应用中通常不容易获取到大量用于训练神经网络模型的训练数据。

技术实现思路

[0004]有鉴于此,本申请实施例提供了一种神经网络模型的量化方法、可读介质和电子设备。其中,本申请的神经网络模型的量化方法通过将待量化神经网络模型中各计算节点分为两部分,对运行顺序在后一部分的计算节点进行较高精度的量化,来得到满足部署要求的目标神经网络模型,提高了电子设备运行神经网络模型的速度。
[0005]第一方面,本申请实施例提供了一种神经网络模型的量化方法,应用于电子设备,该方法包括:获取待量化神经网络模型的各计算节点被划分后的第一计算节点集和第二计算节点集,其中,第一计算节点集中的计算节点的运行顺序在第二计算节点集中的计算节点之前;对第一计算节点集中的计算节点进行第一精度的量化,对第二计算节点集中的计算节点进行第二精度量化,生成第一目标神经网络模型,其中,第二精度高于第一精度;根据目标电子设备的硬件和/或软件参数运行第一目标神经网络模型,得到运行结果;在确定运行结果不满足对应目标电子设备的部署要求的情况下,调整第一计算节点集和第二计算节点集所包括的计算节点的数量;在确定运行结果满足对应目标电子设备的部署要求的情况下,将第一目标神经网络模型作为待量化神经网络模型的量化结果。
[0006]也即是说,在本申请实施例中,电子设备可以根据待量化神经网络模型中各计算节点的运行顺序将各计算节点分为两个部分,并对运行顺序在前一部分(第一计算节点集)的计算节点进行较低精度的量化,对运行顺序在后一部分(第二计算节点集)的计算节点进行较高精度的量化,通过调整高精度量化区间的大小来得到不同的量化方案,再基于目标电子设备的硬件/软件参数运行根据不同的量化方案量化的神经网络模型,并将运行结果
和部署要求进行比,以确定出使量化后的神经网络模型在目标电子设备上运行时满足部署要求的量化方案,再根据该方案对待量化神经网络模型进行量化。
[0007]通过本申请实施例提供的方法,电子设备在对待部署到目标电子设备的待量化神经网络模型的量化过程中,无需通过大量的训练数据进行优化训练,也无需逐个调整待量化神经网络模型的计算节点的量化精度,即可快速得到满足部署条件的目标神经网络模型,提高了神经网络模型量化的速度。
[0008]在上述第一方面的一种可能实现中,上述目标电子设备的部署要求包括第一部署要求,第一部署要求包括运行精度要求和/或运行速度要求。
[0009]也即是说,部署要求可以是运行精度要求,也可以是运行速度要求,还可以同时包括运行精度要求和运行速度要求。
[0010]在上述第一方面的一种可能实现中,上述确定运行结果不满足对应目标电子设备的部署要求的情况下,调整第一计算节点集和第二计算节点集所包括的计算节点的数量,包括:在运行结果满足不满足第一部署要求的情况下,减少第一计算节点集所包括的计算节点的数量、增加第二计算节点集所包括的计算节点的数量。
[0011]即是在电子设备在确定出运行结果不满足对应目标电子设备的部署要求的情况下,说明进行较低精度量化计算节点的数量太多、进行较高精度量化的计算节点的数量太少,故而减少第一计算节点集所包括的计算节点的数量、增加第二计算节点集所包括的计算节点的数量。
[0012]在上述第一方面的一种可能实现中,上述运行结果包括第一目标神经网络模型的输出张量;并且在输出张量和参考输出张量的相似度大于相似度阈值的情况下,确定第一目标神经网络模型的运行结果满足精度要求。
[0013]在上述第一方面的一种可能实现中,上述输出张量和参考输出张量的相似度由输出张量和参考输出张量的余弦相似度确定。
[0014]在上述第一方面的一种可能实现中,上述参考输出张量由以下方式确定:
[0015]在输出张量是基于带标签的测试集,根据目标电子设备的硬件和/或软件参数运行第一目标神经网络模型获得的情况下,以带标签的测试集中的标签数据作为参考输出张量;在输出张量是基于不带标签的测试集,根据目标电子设备的硬件和/或软件参数运行第一目标神经网络模型获得的情况下,通过第三精度对待量化模型的各计算节进行量化后,基于不带标签的测试集中的输入数据运行基于第三精度量化后的神经网络模型得到,其中,第三精度高于第一精度和第二精度。
[0016]在上述第一方面的一种可能实现中,上述部署要求还包括第二部署要求;第二部署要求包括在满足第一部署要求的情况下,第二计算节点集所包括的计算节点的数量最少。
[0017]也即是说,根据本申请实施例提供的方法量化后的神经模型,在满足第一部署要求的情况下,进行高精度量化的计算节点最少,从而可以提高目标电子设备运行神经网络模型的速度。
[0018]在上述第一方面的一种可能实现中,上述确定运行结果不满足对应目标电子设备的部署要求的情况下,调整第一计算节点集和第二计算节点集所包括的计算节点的数量,还包括:在运行结果满足第一部署要求,但不满足第二部署要求的情况下,增加第一计算节
点集包括的计算节点的数量,减少第二计算节点集所包括的计算节点的数量。
[0019]在上述第一方面的一种可能实现中,还包括:在增加第一计算节点集包括的计算节点的数量,减少第二计算节点集所包括的计算节点的数量后,得到的神经网络模型的运行结果不满足第一部署要求的情况下,将第一计算节点集和第二计算节点集所包括的计算节点的数量恢复至调整前的数量。
[0020]也即是说,调整第一计算节点集和第二计算节点集所包括的计算节点的数量前的量化方案即是确定出的最优的量化方案。
[0021]在上述第一方面的一种可能实现中,还包括:基于待量化神经网络模型各计算节点的运行顺序,将待量化神经网络模型的各计算节点划分为第一计算节点集和第二计算节点集。
[0022]在上述第一方面的一种可能实现中,上述基于待量化神经网络模型各计算节点的运行顺序,将待量化神经网络模型的各计算节点划分为第一计算节点本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的量化方法,应用于电子设备,其特征在于,包括:获取待量化神经网络模型的各计算节点被划分后的第一计算节点集和第二计算节点集,其中,所述第一计算节点集中的计算节点的运行顺序在所述第二计算节点集中的计算节点之前;对所述第一计算节点集中的计算节点进行第一精度的量化,对所述第二计算节点集中的计算节点进行第二精度量化,生成第一目标神经网络模型,其中,第二精度高于第一精度;根据目标电子设备的硬件和/或软件参数运行所述第一目标神经网络模型,得到运行结果;在确定所述运行结果不满足对应所述目标电子设备的部署要求的情况下,调整所述第一计算节点集和所述第二计算节点集所包括的计算节点的数量;在确定所述运行结果满足对应所述目标电子设备的部署要求的情况下,将所述第一目标神经网络模型作为所述待量化神经网络模型的量化结果。2.根据权利要求1所述的方法,其特征在于,所述目标电子设备的部署要求包括第一部署要求,所述第一部署要求包括运行精度要求和/或运行速度要求。3.根据权利要求2所述的方法,其特征在于,所述确定所述运行结果不满足对应所述目标电子设备的部署要求的情况下,调整所述第一计算节点集和所述第二计算节点集所包括的计算节点的数量,包括:在所述运行结果满足不满足所述第一部署要求的情况下,减少所述第一计算节点集所包括的计算节点的数量、增加所述第二计算节点集所包括的计算节点的数量。4.根据权利要求3所述的方法,其特征在于,所述运行结果包括所述第一目标神经网络模型的输出张量;并且在所述输出张量和参考输出张量的相似度大于相似度阈值的情况下,确定所述第一目标神经网络模型的运行结果满足所述精度要求。5.根据权利要求4所述的方法,其特征在于,所述输出张量和参考输出张量的相似度由所述输出张量和所述参考输出张量的余弦相似度确定。6.根据权利要求5所述的方法,其特征在于,所述参考输出张量由以下方式确定:在所述输出张量是基于带标签的测试集,根据目标电子设备的硬件和/或软件参数运行所述第一目标神经网络模型获得的情况下,以所述带标签的测试集中的标签数据作为所述参考输出张量;在所述输出张量是基于不带标签的测试集,根据目标电子设备的硬件和/或软件参数运行所述第一目标神经网络模型获得的情况下,通过第三精度对所述待量化模型的各所述计算节进行量化后,基于所述不带标签的测试集中的输入数据运行基于第三精度量化后的神经网络模型得到,其中,所述第三精度高于所述第一精度和所述第二精度。7.根据权利要求2至6中任一项所述的方法,其特征在于,所述部署要求还包括第二部署要求;所述第二部署要求包括在满足第一部署要求的情况下,所述第二计算节点集所包括的计算节点的数量最少。8.根据权利要求7所述的方法,其特征在于,所述确定所述运行结果不满足对应所述...

【专利技术属性】
技术研发人员:余宗桥韩冥生周生伟
申请(专利权)人:安谋科技中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1