量化神经网络模型的片内执行方法、装置、设备及介质制造方法及图纸

技术编号:35792796 阅读:11 留言:0更新日期:2022-12-01 14:42
本发明专利技术公开了量化神经网络模型的片内执行方法、装置、设备及介质。该方法包括:获取与待加载至目标AI加速芯片中的量化神经网络模型匹配的原始算子图;根据目标AI加速芯片的计算单元特征和/或指令集特征重构原始算子图得到第一算子图;在第一算子图的第二量化敏感节点集合中确定目标节点并替换为分支网络;将第一算子图中第一量化敏感节点集合的计算节点替换为非量化节点;根据目标AI加速芯片的存储层级特征重构第一算子图得到第二算子图;再训练与第二算子图对应的原始量化重构模型,并加载至目标AI加速芯片内执行。通过本发明专利技术的技术方案,能够在提高量化神经网络模型精度的基础上,将AI加速芯片的计算性能发挥到最优。将AI加速芯片的计算性能发挥到最优。将AI加速芯片的计算性能发挥到最优。

【技术实现步骤摘要】
量化神经网络模型的片内执行方法、装置、设备及介质


[0001]本专利技术涉及神经网络模型的片内执行领域,尤其涉及量化神经网络模型的片内执行方法、装置、设备及介质。

技术介绍

[0002]随着神经网络模型
的逐渐发展,对神经网络模型的压缩部署及计算加速度有着更高的要求。
[0003]现有技术中,为了有效减少AI(人工智能,Artificial Intelligence)加速芯片的存储数据量,提升AI加速芯片的运行性能,通常采用低比特模型量化的方式对神经网络模型进行压缩后,再部署在AI加速芯片上。然而,采用低比特量化模型的方式会在模型实际部署的过程中带来精度下降的问题,同时,现有的量化部署方式一般均采用静态的量化部署方式,没有实际考虑AI加速芯片的实际的硬件特点。因此,如何有效地解决低比特量化模型部署的神经网络模型精度下降的问题,以及如何在神经网络模型量化部署后,充分发挥AI加速芯片的计算性能,是目前亟待解决的问题。

技术实现思路

[0004]本专利技术实施例提供了一种量化神经网络模型的片内执行方法、装置、设备及介质,以实现在提高量化神经网络模型精度的同时,实现量化神经网络模型与所部署AI加速芯片间的精准适配。
[0005]根据本专利技术的一方面,提供了一种量化神经网络模型的片内执行方法,包括:
[0006]获取与待加载至目标AI加速芯片中的量化神经网络模型匹配的原始算子图,其中,量化神经网络模型通过对目标神经网络模型进行后训练量化得到;
[0007]根据目标AI加速芯片中的计算单元特征和/或指令集特征,对原始计算算子图进行一次重构,得到第一算子图;
[0008]在第一算子图中的各计算节点中,识别第一量化敏感节点集合和第二量化敏感节点集合,并在第二量化敏感节点集合中确定设定数量的目标节点;其中,第一量化敏感节点的量化敏感度高于第二量化敏感节点;
[0009]在第一算子图中,将第一量化敏感节点集合中的各计算节点替换为非量化节点,并将各目标节点使用分支网络进行替换,其中,分支网络中包括与所替换节点结构相同的多个分支节点,用于加权拟合所替换节点的计算结果;
[0010]根据目标AI加速芯片的存储层级特征,对第一算子图进行二次重构,得到第二算子图;
[0011]对与第二算子图对应的原始量化重构模型进行再训练,得到目标量化重构模型,并将目标量化重构模型加载至目标AI加速芯片内进行执行。
[0012]根据本专利技术的另一方面,提供了一种量化神经网络模型的片内执行装置,该装置包括:
[0013]原始算子图获取模块,用于获取与待加载至目标AI加速芯片中的量化神经网络模型匹配的原始算子图,其中,量化神经网络模型通过对目标神经网络模型进行后训练量化得到;
[0014]第一算子图重构模块,用于根据目标AI加速芯片中的计算单元特征和/或指令集特征,对原始算子图进行一次重构,得到第一算子图;
[0015]敏感节点识别模块,用于在第一算子图中的各计算节点中,识别第一量化敏感节点集合和第二量化敏感节点集合,并在第二量化敏感节点集合中确定设定数量的目标节点;其中,第一量化敏感节点的量化敏感度高于第二量化敏感节点;
[0016]节点处理模块,用于在第一算子图中,将第一量化敏感节点集合中的各计算节点替换为非量化节点,并将各目标节点使用分支网络进行替换,其中,分支网络中包括与所替换节点结构相同的多个分支节点,用于加权拟合所替换节点的计算结果;
[0017]第二算子图重构模块,用于根据目标AI加速芯片的存储层级特征,对第一算子图进行二次重构,得到第二算子图;
[0018]重构模型获取模块,用于对与第二算子图对应的原始量化重构模型进行再训练,得到目标量化重构模型,并将目标量化重构模型加载至目标AI加速芯片内进行执行。
[0019]根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
[0020]至少一个处理器;以及
[0021]与所述至少一个处理器通信连接的存储器;其中,
[0022]所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的量化神经网络模型的片内执行方法。
[0023]根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的量化神经网络模型的片内执行方法。
[0024]本专利技术实施例的技术方案,通过根据目标AI加速芯片中的计算单元特征和/或指令集特征,对与待加载至目标AI加速芯片中的量化神经网络模型匹配的原始算子图进行一次重构,得到第一算子图;进而,在第一算子图中的各计算节点中,识别第一量化敏感节点集合和第二量化敏感节点集合,并在第二量化敏感节点集合中确定设定数量的目标节点;进一步的,在第一算子图中,将第一量化敏感节点集合中的各计算节点替换为非量化节点,并将各目标节点使用分支网络进行替换;最终,根据目标AI加速芯片的存储层级特征,对第一算子图进行二次重构,得到第二算子图;对与第二算子图对应的原始量化重构模型进行再训练,得到目标量化重构模型,并将目标量化重构模型加载至目标AI加速芯片内进行执行,解决了低比特量化模型部署的神经网络模型精度下降的问题,能够抑制量化神经网络模型的特征表征丢失,提高了量化神经网络模型的精度,同时,还可以在提高量化神经网络模型精度的基础上,实现量化神经网络模型在硬件上的最优适配,将AI加速芯片的计算性能发挥到最优。
[0025]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0026]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1是根据本专利技术实施例一提供的一种量化神经网络模型的片内执行方法的流程图;
[0028]图2a是根据本专利技术实施例二提供的一种量化神经网络模型的片内执行方法的流程图;
[0029]图2b是根据本专利技术实施例二提供的一种分支网络替换流程的示意图;
[0030]图2c是根据本专利技术实施例二提供的一种原始量化重构模型参数调整的流程示意图;
[0031]图2d是根据本专利技术实施例二提供的一种优选的量化神经网络模型的片内执行方法的流程示意图;
[0032]图3是根据本专利技术实施例三提供的一种量化神经网络模型的片内执行装置的结构示意图;
[0033]图4是实现本专利技术实施例的量化神经网络模型的片内执行方法的电子设备的结构示意图。
具体实施方式
[0034]为了使本
的人员更好地理解本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种量化神经网络模型的片内执行方法,其特征在于,包括:获取与待加载至目标人工智能AI加速芯片中的量化神经网络模型匹配的原始算子图,其中,量化神经网络模型通过对目标神经网络模型进行后训练量化得到;根据目标AI加速芯片中的计算单元特征和/或指令集特征,对原始算子图进行一次重构,得到第一算子图;在第一算子图中的各计算节点中,识别第一量化敏感节点集合和第二量化敏感节点集合,并在第二量化敏感节点集合中确定设定数量的目标节点;其中,第一量化敏感节点的量化敏感度高于第二量化敏感节点;在第一算子图中,将第一量化敏感节点集合中的各计算节点替换为非量化节点,并将各目标节点使用分支网络进行替换,其中,分支网络中包括与所替换节点结构相同的多个分支节点,用于加权拟合所替换节点的计算结果;根据目标AI加速芯片的存储层级特征,对第一算子图进行二次重构,得到第二算子图;对与第二算子图对应的原始量化重构模型进行再训练,得到目标量化重构模型,并将目标量化重构模型加载至目标AI加速芯片内进行执行。2.根据权利要求1所述的方法,其特征在于,在第一算子图中的各计算节点中,识别第一量化敏感节点集合和第二量化敏感节点集合,包括:分别计算第一算子图中的各计算节点对目标神经网络模型的损失函数影响度;识别损失函数影响度超过第一影响度阈值的第一量化敏感节点,形成第一量化敏感节点集合;识别损失函数影响度大于或者等于第二影响度阈值,且小于第一影响度阈值的第二量化敏感节点,形成第二量化敏感节点集合,其中,第一影响度阈值大于第二影响度阈值。3.根据权利要求2所述的方法,其特征在于,分别计算第一算子图中的各计算节点对目标神经网络模型的损失函数影响度,包括:将测试输入数据分别输入至所述目标神经网络模型以及所述量化神经网络模型中;获取各计算节点在所述目标神经网络模型以及所述量化神经网络模型中的原始输出特征图以及量化输出特征图;根据各所述原始输出特征图以及量化输出特征图,计算每个计算节点在量化前后的特征图差异值作为损失函数影响度。4.根据权利要求2所述的方法,其特征在于,分别计算第一算子图中的各计算节点对目标神经网络模型的损失函数影响度,包括:在各所述计算节点中,依次获取当前处理节点;将测试输入数据输入至所述目标神经网络模型中,并计算得到所述目标神经网络模型针对所述测试输入数据的第一损失函数值;将所述目标神经网络模型中,与所述当前处理节点对应的原始权重矩阵,替换为所述量化神经网络模型中,与所述当前处理节点对应的量化权重矩阵;重新将所述测试输入数据输入至所述目标神经网络模型中,并计算得到所述目标神经网络模型针对所述测试输入数据的第二损失函数值;计算所述第一损失函数值与所述第二损失函数值之间的损失差异值,并在确定所述损失差异值满足损失差异门限条件时,将所述当前处理节点确定为量化敏感节点;
返回执行在各所述计算节点中,依次获取当前处理节点的操作,直至完成对全部计算节点的处理。5.根据权利要求1所述的方法,其特征在于,在将各目标节点使用分支网络进行替换之前,还包括:根据各目标节点的量化前后处理差异,确定与各所述目标节点分别对应的分支数量范围;根据各所述目标节点的分支数量范围,以及目标AI加速芯片中的计算单元总数量,确定与各所述目标节点分别对应的分支数量,并按照各所述分支数量构建与各所...

【专利技术属性】
技术研发人员:朱姗孙诚程
申请(专利权)人:上海燧原科技有限公司
类型:发明
国别省市:

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

1