一种模型混精推理方法、装置、设备及存储介质制造方法及图纸

技术编号:38370682 阅读:10 留言:0更新日期:2023-08-05 17:34
本发明专利技术公开了一种模型混精推理方法、装置、设备及存储介质,包括:将输入样本输入至芯片内的深度学习模型中,通过芯片内的计算节点对输入样本进行计算,得到float32类型的目标结果;获取模型的分段列表,根据模型针对各分段在预设精度选择参数下的混精结果及目标结果,对各分段的精度选择参数进行调整;将每个分段中各计算节点的目标精度选择参数,作为控制信号输入至控制节点中,通过芯片内的控制节点选择匹配的精度计算分支,并通过计算节点根据精度计算分支完成混精推理。本发明专利技术实施例的技术方案可以有效获取满足模型精度要求的混精推理方案,提高模型的混精推理效率。提高模型的混精推理效率。提高模型的混精推理效率。

【技术实现步骤摘要】
一种模型混精推理方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种模型混精推理方法、装置、设备及存储介质。

技术介绍

[0002]深度学习模型混合精度推理方法是指,通过混合使用float16和float32数据类型来加速深度神经网络推理的过程,并减少内存使用和存取,从而可以推理更大的神经网络。
[0003]现有芯片的计算框架(如Tensorflow或Pytorch)在混精推理时,通常有两种方式,第一种是由用户自定义模型中每个计算节点使用的推理精度(如float32或float16);第二种是根据框架定义的黑白名单进行选择。
[0004]但是,第一种方式需要用户具备较强的模型计算理论知识,第二种方式并不一定可以找到满足精度要求的混精推理方案;并且现有的推理框架(如TensorRT等)在做混精推理方案构建时,需要使用迭代方式寻找有效的混精方案,每次迭代都需要芯片对模型进行编译,随着迭代次数上升,编译时间相应成倍增加。

技术实现思路

[0005]本专利技术提供了一种模型混精推理方法、装置、设备及存储介质,可以有效获取满足模型精度要求的混精推理方案,提高模型的混精推理效率;节省芯片在模型混精推理过程中的计算资源。
[0006]根据本专利技术的一方面,提供了一种模型混精推理方法,所述方法包括:
[0007]将输入样本输入至芯片内的深度学习模型中,通过芯片内与深度学习模型对应的多个计算节点对输入样本进行计算,得到float32类型的目标结果;每个计算节点的初始精度选择参数为true;
[0008]获取所述模型对应的分段列表,根据模型针对各分段在预设精度选择参数下的混精结果,以及所述目标结果,对各分段对应的精度选择参数进行调整;其中,每个分段中包括至少一个计算节点;
[0009]将每个分段中各计算节点对应的目标精度选择参数,作为控制信号输入至各计算节点对应的控制节点中,通过所述芯片内的控制节点根据所述控制信号选择与计算节点匹配的精度计算分支,并通过计算节点根据所述精度计算分支完成混精推理;
[0010]其中,每个计算节点预先对应float32精度计算分支以及float16精度计算分支。
[0011]可选的,在将输入样本输入至芯片内的深度学习模型之前,还包括:
[0012]对所述模型中包括的多个拓扑结构进行排序;
[0013]根据拓扑排序结果,对各拓扑结构对应的计算节点添加float16精度计算分支。
[0014]可选的,在获取所述模型对应的分段列表之后,还包括:
[0015]根据各所述分段对应的分段类型,对各所述分段对应的精度选择参数进行预设;
[0016]将所述输入样本输入至深度学习模型,通过所述模型根据各所述分段对应的预设
精度选择参数,对所述输入样本进行处理得到混精结果。
[0017]可选的,根据各所述分段对应的分段类型,对各所述分段对应的精度选择参数进行预设,包括:
[0018]在所述分段列表中获取最长分段、已知数据类型分段以及未知数据类型分段;
[0019]将所述最长分段对应的精度选择参数设为false;
[0020]根据所述已知数据类型分段对应的目标数据类型,将所述已知数据类型分段对应的精度选择参数设为true或false;
[0021]将所述未知数据类型分段对应的精度选择参数设为true。
[0022]可选的,根据模型针对各分段在预设精度选择参数下的混精结果,以及所述目标结果,对各分段对应的精度选择参数进行调整,包括:
[0023]根据所述混精结果以及所述目标结果,构建评价标准;
[0024]根据所述评价标准,判断所述混精结果是否合格;
[0025]若是,则将所述最长分段中各计算节点对应的精度选择参数设为false,并在分段列表中将所述最长分段进行移除,然后返回执行在所述分段列表中获取最长分段的操作。
[0026]可选的,在根据所述评价标准,判断所述混精结果是否合格之后,还包括:
[0027]若否,则判断所述最长分段是否具备裂变条件;
[0028]若是,则将所述最长分段裂变为第一分段和第二分段,并将所述第一分段和第二分段添加至分段列表中,然后返回执行在所述分段列表中获取最长分段的操作。
[0029]可选的,在将每个分段中各计算节点对应的目标精度选择参数,作为控制信号输入至各计算节点对应的控制节点之前,还包括:
[0030]判断所述分段列表是否为空;
[0031]若是,则获取每个分段中各计算节点对应的当前精度选择参数,并将所述当前精度选择参数作为目标精度选择参数。
[0032]根据本专利技术的另一方面,提供了一种模型混精推理装置,所述装置包括:
[0033]目标结果生成模块,用于将输入样本输入至芯片内的深度学习模型中,通过芯片内与深度学习模型对应的多个计算节点对输入样本进行计算,得到float32类型的目标结果;每个计算节点的初始精度选择参数为true;
[0034]参数调整模块,用于获取所述模型对应的分段列表,根据所述模型针对各分段在预设精度选择参数下的混精结果,以及所述目标结果,对各分段对应的精度选择参数进行调整;其中,每个分段中包括至少一个计算节点;
[0035]分支选择模块,用于将每个分段中各计算节点对应的目标精度选择参数,作为控制信号输入至各计算节点对应的控制节点中,通过所述芯片内的控制节点根据所述控制信号选择与计算节点匹配的精度计算分支,并通过计算节点根据所述精度计算分支完成混精推理;
[0036]其中,每个计算节点预先对应float32精度计算分支以及float16精度计算分支。
[0037]根据本专利技术的另一方面,提供了一种电子设备,所述设备包括:
[0038]至少一个处理器;以及
[0039]与所述至少一个处理器通信连接的存储器;其中,
[0040]所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序
被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的模型混精推理方法。
[0041]根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的模型混精推理方法。
[0042]本专利技术实施例提供的技术方案,通过将输入样本输入至芯片内的深度学习模型中,通过芯片内与深度学习模型对应的多个计算节点对输入样本进行计算,得到float32类型的目标结果,获取模型对应的分段列表,根据模型针对各分段在预设精度选择参数下的混精结果,以及目标结果对各分段对应的精度选择参数进行调整,将每个分段中各计算节点对应的目标精度选择参数,作为控制信号输入至各计算节点对应的控制节点中,通过所述芯片内的控制节点根据控制信号选择与计算节点匹配的精度计算分支,并通过计算节点根据精度计算分支完本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模型混精推理方法,其特征在于,所述方法包括:将输入样本输入至芯片内的深度学习模型中,通过芯片内与深度学习模型对应的多个计算节点对输入样本进行计算,得到float32类型的目标结果;每个计算节点的初始精度选择参数为true;获取所述模型对应的分段列表,根据模型针对各分段在预设精度选择参数下的混精结果,以及所述目标结果,对各分段对应的精度选择参数进行调整;其中,每个分段中包括至少一个计算节点;将每个分段中各计算节点对应的目标精度选择参数,作为控制信号输入至各计算节点对应的控制节点中,通过所述芯片内的控制节点根据所述控制信号选择与计算节点匹配的精度计算分支,并通过计算节点根据所述精度计算分支完成混精推理;其中,每个计算节点预先对应float32精度计算分支以及float16精度计算分支。2.根据权利要求1所述的方法,其特征在于,在将输入样本输入至芯片内的深度学习模型之前,还包括:对所述模型中包括的多个拓扑结构进行排序;根据拓扑排序结果,对各拓扑结构对应的计算节点添加float16精度计算分支。3.根据权利要求1所述的方法,其特征在于,在获取所述模型对应的分段列表之后,还包括:根据各所述分段对应的分段类型,对各所述分段对应的精度选择参数进行预设;将所述输入样本输入至深度学习模型,通过所述模型根据各所述分段对应的预设精度选择参数,对所述输入样本进行处理得到混精结果。4.根据权利要求3所述的方法,其特征在于,根据各所述分段对应的分段类型,对各所述分段对应的精度选择参数进行预设,包括:在所述分段列表中获取最长分段、已知数据类型分段以及未知数据类型分段;将所述最长分段对应的精度选择参数设为false;根据所述已知数据类型分段对应的目标数据类型,将所述已知数据类型分段对应的精度选择参数设为true或false;将所述未知数据类型分段对应的精度选择参数设为true。5.根据权利要求4所述的方法,其特征在于,根据模型针对各分段在预设精度选择参数下的混精结果,以及所述目标结果,对各分段对应的精度选择参数进行调整,包括:根据所述混精结果以及所述目标结果,构建评价标准;根据所述评价标准,判断所述混精结果是否合格;若是,则将所述最长分段中各计算节点对应的精度选择参数设为false,并在分段列表中将所...

【专利技术属性】
技术研发人员:田宏泽程伟孙清阁
申请(专利权)人:北京燧原智能科技有限公司
类型:发明
国别省市:

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

1