CN115113528A - 神经网络模型的运行控制方法、装置、设备及介质 - Google Patents

神经网络模型的运行控制方法、装置、设备及介质 Download PDF

Info

Publication number
CN115113528A
CN115113528A CN202210789190.4A CN202210789190A CN115113528A CN 115113528 A CN115113528 A CN 115113528A CN 202210789190 A CN202210789190 A CN 202210789190A CN 115113528 A CN115113528 A CN 115113528A
Authority
CN
China
Prior art keywords
operator
strategy
precision
target
reasoning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210789190.4A
Other languages
English (en)
Other versions
CN115113528B (zh
Inventor
罗航
刘梁
欧阳剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kunlun Core Beijing Technology Co ltd
Original Assignee
Kunlun Core Beijing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kunlun Core Beijing Technology Co ltd filed Critical Kunlun Core Beijing Technology Co ltd
Priority to CN202210789190.4A priority Critical patent/CN115113528B/zh
Publication of CN115113528A publication Critical patent/CN115113528A/zh
Application granted granted Critical
Publication of CN115113528B publication Critical patent/CN115113528B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开提供了神经网络模型的运行控制方法、装置、设备及介质,涉及人工智能领域,尤其涉及深度学习领域。具体实现方案为:触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务;在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略;触发神经网络模型按照所述异常处理策略继续执行所述数据推理任务,直至输出模型推理结果。通过本公开的技术方案可以降低神经网络模型的问题排查成本,提高神经网络模型的运行调试效率。

Description

神经网络模型的运行控制方法、装置、设备及介质
技术领域
本公开涉及人工智能技术领域,尤其涉及深度学习领域,具体涉及一种神经网络模型的运行控制方法、装置、设备及介质。
背景技术
随着人工智能技术领域的快速发展,神经网络模型,尤其是深度神经网络(DeepNeural Networks,DNN)模型变得越为重要。因此,保证DNN模型的准确性十分重要。
相关技术中,对于DNN模型在训练或推理等计算过程中出现的问题,通常需要依靠技术人员的工作经验进行分析定位。然而,由于目前流行的DNN模型规模较大,依靠技术人员的工作经验对DNN模型进行问题分析定位将会耗费大量的研发成本,降低DNN模型的运行速度。因此,如何降低神经网络模型的问题排查成本,提高神经网络模型的运行调试效率是目前亟待解决的问题。
发明内容
本公开提供了一种神经网络模型的运行控制方法、装置、设备及介质。
根据本公开的一方面,提供了一种神经网络模型的运行控制方法,包括:
触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务;
在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略;
触发神经网络模型按照所述异常处理策略继续执行所述数据推理任务,直至输出模型推理结果。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任一实施例所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据本公开任一实施例所述的方法。
本公开实施例的技术方案可以降低神经网络模型的问题排查成本,提高神经网络模型的运行调试效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据现有技术提供的一种神经网络模型的推理执行过程示意图;
图2是根据本公开实施例提供的一种神经网络模型的运行控制方法的流程图;
图3是根据本公开实施例提供的另一种神经网络模型的运行控制方法的流程图;
图4是根据本公开实施例提供的又一种神经网络模型的运行控制方法的流程图;
图5是根据本公开实施例提供的一种可选的神经网络模型的运行控制方法的流程图;
图6是根据本公开实施例提供的一种算子拓扑图的结构示意图;
图7是根据本公开实施例提供的一种可选的神经网络模型的运行控制方法的流程示意图;
图8是根据本公开实施例提供的一种神经网络模型的运行控制装置的结构示意图;
图9是用来实现本公开实施例的神经网络模型的运行控制方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1所示为根据现有技术提供的一种神经网络模型的推理执行过程示意图,该推理执行过程发生在对神经网络模型的运行调试阶段。也即,在一个神经网络模型上线前,测试该模型是否能够输出一个预期的推理结果。
其中,前向计算过程隐含了对神经网络模型的算子遍历。算子遍历过程中执行了算子的前向计算,遍历结束即所有的前向计算结束,得到最终的推理结果。
在算子遍历的过程中通常会出现问题,现有技术中,通常会依靠技术人员的工作经验进行问题分析定位,然而,由于小规模的神经网络模型可能由几十个算子组成,大规模的神经网络模型,典型的,DNN模型,可能由成千上万个算子组成,以致依靠技术人员的工作经验对神经网络模型进行问题分析定位将会耗费大量的研发成本,降低神经网络模型的运行调试效率。因此,为解决上述技术问题,本公开提出了一种神经网络模型的运行控制方法。
图2是根据本公开实施例提供的一种神经网络模型的运行控制方法的流程图。本公开实施例可适用于在对神经网络模型进行运行调试的情况,用于在神经网络模型中存在有一个或者多个算子异常时,保证该神经网络模型能够完整走完整个计算流程。该方法可以由神经网络模型的运行控制装置来执行,该装置可采用硬件和/或软件的方式实现,并一般可以集成在电子设备中。
如图2所示,本公开实施例提供的一种神经网络模型的运行控制方法包括以下具体步骤:
S110:触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务。
该神经网络模型可以理解为需要进行上线前运行调试的模型。该神经网络模型中一般包含有多个按照预设拓扑方式排布的算子,每个算子对应一个算子执行策略。
其中,算子执行策略可以理解为算子的执行方式,示例性的,可以包括各算子的计算逻辑,如,加法逻辑或减法逻辑等。换句话说,算子执行策略定义了一个算子在获取当前流转至该算子的输入数据时,采取何种计算方式对该输入数据进行处理。
数据推理任务用于描述神经网络模型的一次数据计算任务。该数据推理任务中可以包括:模型输入数据、模型量化方式、模型中各算子的权重系数以及算子切分方式等。可以理解的是,在对神经网络模型进行一次数据推理任务的配置后,该神经网络模型中的每个算子可以按照预先写好的计算逻辑,将输入至该神经网络模型的模型输入数据进行匹配的逻辑计算,并最终输出一个模型输出结果。
S120:在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略。
其中,目标算子可以指神经网络模型中存在推理异常的算子,即需要进行异常处理的算子。
算子推理异常可以指算子推理结果存在异常。该算子推理结果可以理解为一个算子针对流转至该算子的一项或者多项输入数据,调用匹配的算子执行策略对该输入数据进行计算(例如,求和或者卷积)后,所输出的计算结果。示例性的,算子推理异常可以为算子推理结果不存在,也即算子未输出任何计算结果,或者,也可以为算子推理结果存在精度偏差等。
异常处理策略可以指对算子推理异常情况进行处理的方法。
策略空间可以指多个异常处理策略组成的集合空间。作为示例而非限定,策略空间中的异常处理策略可以包括:算子异构策略,算子自动生成策略,算子替换策略,设定融合方式的算子融合策略、反融合策略、一项或者多项精度替换策略终止或者异常捕捉策略等。当然,本领域技术人员可以理解的是,该策略空间中还可以包括其他类型的策略,本实施例对此并不进行限制。
其中,各异常处理策略可以独立存放在该策略空间中,也可以按照策略属性,分组存放在该策略空间中。例如,将算子异构策略,算子自动生成策略,算子替换策略划分至该策略空间中的单算子策略集中,将不同融合方式的算子融合策略划分至该策略空间中的融合算子策略集中,将各项精度替换策略存储于该策略空间中的算子精度策略库中等。
相关技术中,在神经网络模型的运行调试过程中,一旦某一个算子无法输出算子推理结果,或者其所输出的算子推理结果与期望结果相差甚远,整个神经网络模型的运行结果就会发生异常,例如:异常中断或者是误差累计等。此时,该算子后续的其他的算子可能没有运行调试的机会,或者因为输入数据的误差较大,而使得其输出结果的误差也较大。进而,开发人员在定位神经网络中的异常算子时,就会出现定位困难或者需要多次启动运行调试过程等问题。
基于此,在本实施例中,创造性的提出了在每个算子出现算子推理异常时,遍历获取能够消除该算子推理异常的异常处理策略,以保证该神经网络模型能够以一定的计算精度完整执行一遍。进而,可以在神经网络模型的一次运行调试过程中,尽可能全面的将全部异常问题都检测出来,以提高神经网络模型的运行调试效率。
在本实施例中,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略的方式,可以为随机搜索,也可以按照预设的优先级顺序进行搜索等,本实施例对此并不进行限制。
S130:触发神经网络模型按照所述异常处理策略继续执行所述数据推理任务,直至输出模型推理结果。
其中,模型推理结果可以指神经网络模型的最终输出结果,即神经网络模型最后一个算子的输出结果。
具体的,在神经网络中的算子按照预设的执行策略执行数据推理任务并发生算子推理异常时,在策略空间中搜索至少一个可以消除该算子推理异常的异常处理策略,并按照该异常处理策略继续执行数据推理任务,直至输出模型推理结果。
本公开实施例的技术方案通过触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务;在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略;并触发神经网络模型按照异常处理策略继续执行数据推理任务,直至输出模型推理结果,解决了现有技术中神经网络模型的问题排查成本较高,神经网络模型的运行调试效率较低的问题,可以降低神经网络模型的问题排查成本,提高神经网络模型的运行调试效率。
在上述各实施例的基础上,触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务,可以包括:根据所述数据推理任务,配置神经网络模型的上下文环境;对神经网络模型进行解析,生成算子拓扑图;根据上下文环境和算子拓扑图中各算子的拓扑顺序,触发执行各算子预设的算子执行策略。
其中,上下文环境可以指神经网络模型中各数据计算结果的流动顺序,示例性的,可以为各算子间的数据传输方向。算子拓扑图可以指神经网络模型中各算子的连接顺序拓扑图。由此,通过上下文环境和算子拓扑图中各算子的拓扑顺序,可以使得神经网络中的各算子按照预设的算子执行策略执行数据推理任务,保证了神经网络模型中各算子的执行准确性。
在上述各实施例的基础上,所述方法还可以包括:
在所述数据推理任务的执行过程中,实时记录使得各算子顺利执行时采用的各异常处理策略和每个算子的算子推理结果。
由此,在该神经网络模型完成一次数据推理任务后,可以通过记录结果,快速定位出现推理异常的异常算子。进而,可以根据与该异常算子匹配的异常处理策略以及算子推理结果,综合分析该异常算子发生异常的原因。进而,可以进一步提高神经网络模型的运行调试效率。
值得注意的是,在本公开实施例中策略空间可以包含单算子策略集、融合算子策略集以及其余算子策略集。在对搜索空间中的算子策略集进行选择时,可以随机进行选择,也可以按照指定顺序进行选择,示例性的,可以先选择单算子策略集再选择融合算子策略集,也可以先选择融合算子策略集再选择单算子策略集,本公开实施例对此不进行限制。但是,为保证神经网络模型的运行控制方法的方案完整性,本公开实施例可选的,先选择单算子策略集再选择融合算子策略集。
图3是根据本公开实施例提供的另一种神经网络模型的运行控制方法的流程图;本公开实施例以上述公开实施例为基础进行细化,在本实施例中,将在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略的操作,具体化为:在目标算子未输出算子推理结果时,在单算子策略集中获取当前单算子策略;触发执行当前单算子策略,并再次检测目标算子能否输出算子推理结果;若是,则将当前单算子策略确定为一个异常处理策略;否则,返回执行在单算子策略集中获取当前单算子策略操作,直至完成对全部单算子策略的遍历执行。
如图3所示,本公开实施例提供的一种神经网络模型的运行控制方法包括以下具体步骤:
S210:触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务。
S220:依次在所述神经网络模型中获取目标算子,并执行与所述目标算子匹配算子执行策略。
S230:检测所述目标算子是否出现未输出算子推理结果的推理异常:若是,执行S240;否则,执行S2150。
S240:在单算子策略集中获取当前单算子策略,执行S250。
其中,单算子策略可以指对单一算子进行异常处理的策略,示例性的,可以为算子异构策略、算子自动生成策略以及算子替换策略等,本公开实施例对此不进行限制。
具体的,算子异构策略可以为对目标算子所在的运行设备进行更换的策略,如,自动选择在中央处理器(Central Processing Unit,CPU)或不同于目标算子所在运行设备的加速设备上执行目标算子的数据推理任务。算子自动生成策略可以指通过目标算子的对应逻辑规则自动生成算子推理结果的策略。算子替换策略可以指利用与目标算子的逻辑规则等效的算子替换目标算子的策略。单算子策略集可以指多个单算子策略组成的策略集合。
S250:触发执行当前单算子策略,并再次检测目标算子能否输出算子推理结果;若是,执行S260;若否,执行S270。
S260:将当前单算子策略确定为一个异常处理策略,执行S2150。
具体的,若算子推理异常的类型为目标算子未输出算子推理结果时,则在单算子策略集中获取当前单算子策略,触发执行当前单算子策略,并再次检测目标算子能否输出算子推理结果;如果可以输出算子推理结果,则将当前单算子策略确定为一个异常处理策略;如果不可以输出算子推理结果,则继续在单算子策略集中获取当前单算子策略,直至完成对全部单算子策略的遍历执行。由此,可以在保证神经网络模型算子拓扑图的基础上,及时地对目标算子未输出算子推理结果的问题进行解决,提高了神经网络模型的运行调试效率。
S270:检测是否完成对全部单算子策略的遍历执行:若是,执行S280,否则,返回执行S240。
S280:在融合算子策略集中获取当前融合算子策略,执行S290。
其中,融合算子策略可以指利用两个或多个算子融合后的算子替换目标算子的策略,示例性的,可以为将目标算子与神经网络模型中目标算子紧接的一个算子进行融合,也可以为将目标算子与神经网络模型中的其他算子进行融合,本公开实施例对此不进行限制。融合算子策略集可以指包含多个融合算子策略的策略集。不同的融合算子策略一般对应不同的多算子融合方式。当前融合算子可以指目标算子与至少一个未推理算子融合后生成的算子。
S290:触发执行当前融合算子策略,将目标算子与至少一个未推理算子融合为当前融合算子,并生成当前融合算子的融合算子执行策略,执行S2100。
其中,未推理算子可以指神经网络模型中未执行相应的算子执行策略的算子,或者说该神经网络模型中一个未执行计算任务的算子。融合算子执行策略可以指当前融合算子对应的算子执行策略。示例性的,该融合算子执行策略可以将目标算子与至少一个未推理算子的算子执行策略进行融合计算后得到。
由此,通过利用当前融合算子策略,可以有效地解决利用各单算子策略均无法输出算子推理结果时,数据推理任务无法正常进行的问题,提高了神经网络模型的运行调试效率。
S2100:触发执行融合算子执行策略,并检测当前融合算子能否输出算子推理结果:若是,执行S2110;否则,执行S2120。
S2110:将当前融合算子策略确定为一个异常处理策略,并更新与所述神经网络模型匹配的算子拓扑图,执行S2150。
S2120:判断是否完成对全部融合算子策略的遍历执行,若是,执行S2130;否则返回执行S280。
S2130:将当前融合算子还原为目标算子与未推理算子,执行S2140。
具体的,将当前融合算子还原为目标算子与未推理算子的处理方式,可以作为一项用于实现反融合的异常处理策略,存储于该策略空间中。
S2140:终止目标算子的继续执行,并构建随机输入数据作为所述目标算子的算子推理结果后,执行S2150。
可选的,终止目标算子的继续执行,并构建随机输入数据作为所述目标算子的算子推理结果的处理方式,可以作为一项兜底的异常处理策略,存储于该策略空间中。
其中,随机输入数据可以指根据目标算子中输出数据的尺寸随机构造的数据。
具体的,当利用全部融合算子策略仍无法输出算子推理结果时,则结束使用融合算子策略,并将当前融合算子进行解融合,使得神经网络模型的算子拓扑图可以保持原有状态。同时,构建随机输入数据发送至目标算子的下一相邻算子,可以有效地保证数据推理任务的继续进行,便于对后续的算子推理异常问题进行问题排查。
S2150:检测是否完成对神经网络模型中全部算子的处理:若是,结束流程;否则,返回执行S220。
本公开实施例的技术方案通过触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务;在目标算子依次执行与目标算子匹配算子执行策略时,对目标算子是否出现未输出算子推理结果的推理异常进行检测,当没有出现未输出算子推理结果的推理异常时,对后续的算子进行处理;当出现未输出算子推理结果的推理异常时,在单算子策略集中获取当前单算子策略,触发执行当前单算子策略,并再次检测目标算子能否输出算子推理结果;如果目标算子能输出算子推理结果,将当前单算子策略确定为一个异常处理策略,并对后续的算子进行处理;如果目标算子不能输出算子推理结果,则继续获取其余单算子策略,并在所有单算子策略均获取完毕后,在融合算子策略集中获取当前融合算子策略;触发执行当前融合算子策略,将目标算子与至少一个未推理算子融合为当前融合算子,并生成当前融合算子的融合算子执行策略;进一步的,触发执行融合算子执行策略,并检测当前融合算子能否输出算子推理结果,如果当前融合算子能输出算子推理结果,则将当前融合算子策略确定为一个异常处理策略,并更新与所述神经网络模型匹配的算子拓扑图,并继续对后续的算子进行处理;如果当前融合算子不能输出算子推理结果,继续获取其余的融合算子策略执行,当所有融合算子策略均不符合要求时,将当前融合算子还原为目标算子与未推理算子,终止目标算子的继续执行,并构建随机输入数据作为目标算子的算子推理结果后,继续后续算子的处理,解决了现有技术中神经网络模型的问题排查成本较高,神经网络模型的运行调试效率较低的问题,可以降低神经网络模型的问题排查成本,提高神经网络模型的运行调试效率。
图4是根据本公开实施例提供的又一种神经网络模型的运行控制方法的流程图;本公开实施例以上述公开实施例为基础进行细化,将在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略的操作,具体化为:在目标算子输出的算子推理结果未达到精度要求时,在算子精度策略库中获取当前算子精度策略;触发执行当前算子精度策略,并再次检测目标算子输出的算子推理结果是否达到精度要求;若是,则将当前算子精度策略确定为一个异常处理策略;否则,返回执行在算子精度策略库中获取当前算子精度策略的操作,直至完成对全部算子精度策略的遍历执行。
如图4所示,本公开实施例提供的一种神经网络模型的运行控制方法包括以下具体步骤:
S310:触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务。
S320:依次在所述神经网络模型中获取目标算子,并执行与所述目标算子匹配算子执行策略。
S330:在目标算子发生算子推理结果未达到精度要求的算子推理异常时,执行S340;若否,执行S390。
其中,精度要求可以指预先对目标算子的算子推理结果进行精度评估的要求,示例性的,可以为精度对齐要求。具体的,可以利用标准结果数据与算子推理结果进行比较,若比较结果满足设定阈值即为精度对齐。。
在一个可选的实施方式中,还可以包括:获取目标算子输出所述算子推理结果时使用的目标输入数据以及目标算子执行策略;触发基准设备按照目标算子的目标算子执行策略,计算得到与目标输入数据对应的基准推理结果;根据所述基准推理结果与所述算子推理结果之间的数值差异,检测目标算子输出的算子推理结果是否达到精度要求。
其中,目标输入数据可以指神经网络模型在执行数据推理任务时,输入至该目标算子中的输入数据。目标算子执行策略可以指目标算子输出当前的算子推理结果时所使用的算子执行策略。基准设备可以指数据推理任务执行时使用的精准度最高的标准设备,示例性的,可以为CPU。基准推理结果可以指在基准设备中按照目标算子执行策略,对目标输入数据进行计算,得到的结果。
具体的,获取目标算子输出算子推理结果时使用的目标输入数据以及目标算子执行策略,并在基准设备上按照目标输入数据以及目标算子执行策略进行数据推理,得到基准推理结果;再将基准推理结果与算子推理结果进行比较,由此,可以对目标算子输出的算子推理结果进行精度检测,为后续对算子推理结果进行精度调整提供有效的基础。
S340:在算子精度策略库中获取当前算子精度策略,执行S350。
其中,所述算子精度策略可以为将当前算子的计算精度调整至fp32、fp16、int16或int8等精度的精度调整策略,本公开实施例对此不进行限制。
其中,算子精度策略可以指对当前算子进行精度变更的策略,示例性的,目标算子的原始精度要求为fp32,但算子推理结果不能达到精度要求,则可以使用fp16替换原始精度要求fp32。算子精度策略库可以指由多个算子精度策略组成的策略集合。
S350:触发执行当前算子精度策略,并再次检测目标算子输出的算子推理结果是否达到精度要求;若是,执行S360;若否,执行S370。
S360:将当前算子精度策略确定为一个异常处理策略,执行S390。
具体的,在目标算子输出的算子推理结果未达到精度要求时,可以在算子精度策略库中获取当前算子精度策略,并触发执行当前算子精度策略,若目标算子输出的算子推理结果达到精度要求,则将当前算子精度策略确定为一个异常处理策略;若目标算子输出的算子推理结果仍没有达到精度要求,则继续在算子精度策略库中获取当前算子精度策略的操作,直至完成对全部算子精度策略的遍历执行。
由此,可以及时地对算子推理结果进行精度调整,以保证目标算子的计算误差,不会对后一算子的计算造成影响,进而保证了后续定位异常问题时的精准度。
S370:判断是否完成对全部算子精度策略的遍历执行:若是,执行S380,否则,返回执行S340。
S380:终止目标算子的继续执行,并构建随机输入数据作为所述目标算子的算子推理结果后,执行S390。
具体的,若全部算子精度策略对应的算子推理结果均不能满足精度要求,为保证后续算子的数据推理任务正常进行,可以为下一算子构造与目标算子的输出数据尺寸相同的随机输入数据,以使下一算子可以依据随机输入数据进行数据推理任务。
S390:检测是否完成对神经网络模型中全部算子的处理:若是,结束流程;否则,返回执行S320。
本公开实施例的技术方案通过触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务;并依次在神经网络模型中获取目标算子,并执行与目标算子匹配算子执行策略,在目标算子发生算子推理结果达到精度要求的算子推理异常时,继续对后续算子的处理;在目标算子发生算子推理结果未达到精度要求的算子推理异常时,在算子精度策略库中获取当前算子精度策略;触发执行当前算子精度策略,并再次检测目标算子输出的算子推理结果是否达到精度要求;若目标算子输出的算子推理结果达到精度要求,则继续对后续的算子进行处理;若目标算子输出的算子推理结果没有达到精度要求,则继续获取其余的算子精度策略,直至所有的算子精度策略均不符合精度要求,终止目标算子的继续执行,并构建随机输入数据作为目标算子的算子推理结果后,继续对后续算子的处理,解决了现有技术中神经网络模型的问题排查成本较高,神经网络模型的运行调试效率较低的问题,可以降低神经网络模型的问题排查成本,保证了神经网络模型中每个算子在运行调试过程中输入数据的准确性。
在上述各实施例的基础上,在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略,还可以包括:在目标算子输出的算子推理结果未达到精度要求时,分别触发执行算子精度策略库中的每个算子精度策略;在与每个算子精度策略分别对应的算子推理结果中,选择满足精度要求且精度最高的目标算子推理结果;将与目标算子推理结果对应的算子精度策略确定为一个异常处理策略。具体的,当目标算子输出的算子推理结果未达到精度要求时,可以对算子精度策略库中的每个算子精度策略均进行执行,并在多个算子推理结果中筛选出满足精度要求且精度最高的目标算子推理结果。
由此,可以将目标算子推理结果对应的算子精度策略确定为异常处理策略,可以保证异常处理策略对应的算子推理结果为精度最高的,最大程度的保证了神经网络模型中每个算子在运行调试过程中输入数据的准确性。需要再次说明的是,在图3和图4中分别示出了在目标算子未输出算子推理结果或者在目标算子输出的算子推理结果未达到精度要求时,所对应的两种不同的在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略的实现方式。
实际上,还有一种可能的算子推理异常方式,也即,该目标算子首先出现了未输出算子推理结果的算子推理异常,通过图3所述的方法流程使得基于该目标算子输出了一个不是随机构造出的算子推理结果后,如果确定该算子推理结果未达到精度要求,进而,可以继续采用图4所述的方法流程进一步改进输出精度,也即,还可以采用将图3和图4的方法流程进行结合的异常处理方式。
如图5所示为本公开实施例提供的一种可选的神经网络模型的运行控制方法的流程图;具体的,首先,根据数据推理任务,配置神经网络模型的上下文环境;进一步的,对神经网络模型进行解析,生成算子拓扑图。之后,可以根据上下文环境和算子拓扑图中各算子的拓扑顺序,触发执行各算子预设的算子执行策略;在目标算子发生算子推理异常时,在策略空间中搜索用于消除算子推理异常的至少一个异常处理策略;并触发神经网络模型按照异常处理策略继续执行数据推理任务,并再次检测目标算子是否发生算子推理异常,若是,则返回执行在策略空间中搜索用于消除算子推理异常的至少一个异常处理策略的操作,直至目标算子未发生算子推理异常;记录使得各算子顺利执行时采用的各异常处理策略和每个算子的算子推理结果,组成分析结果;并按照算子拓扑图中各算子的拓扑顺序遍历下一个算子,直至输出模型推理结果。
如图6所示为本公开实施例提供的一种算子拓扑图的结构示意图;具体的,若算子拓扑图中各算子的拓扑顺序为A->B->C->D,则具体的算子遍历流程可以为:
首先,获取算子A,执行与算子A匹配的算子执行策略,算子A能够输出算子推理结果并且算子推理结果达到精度要求,则输出算子A对应的算子执行策略和匹配的第一算子推理结果。
之后,获取算子B,执行与算子B匹配的算子执行策略,算子B不能够输出算子推理结果,则执行单算子策略中的算子替换策略后,算子B能够输出算子推理结果并且算子推理结果达到精度要求,则输出算子B对应的算子替换策略和匹配的第二算子推理结果。
之后,获取算子C,执行与算子C匹配的算子执行策略,算子C不能够输出算子推理结果,则执行单算子策略中的算子异构策略后,算子C能够输出算子推理结果但算子推理结果不能达到精度要求,则再次执行精度替换策略,在算子精度策略库中选择不同算子精度策略执行,并选择与满足精度要求且精度最高的算子精度策略,得到算子C的算子推理结果,输出算子C对应的算子异构策略、精度替换策略和匹配的第三算子推理结果3。
最后,获取算子D,执行与算子D匹配的算子执行策略,算子D不能够输出算子推理结果,执行各单算子策略,算子D仍不能够输出算子推理结果,再执行融合算子策略,还是不能输出算子推理结果,则终止算子D的继续执行,构造随机输入数据直接作为该神经网路模型的输出,并输出与算子D对应的随机构造策略以及执行异常信息。
当然,如果该算子D的后面还有其他算子,则在构造随机输入数据后,可以将该随机输入数据发送至算子D的下一相邻算子,以触发下一相邻算子执行预设的算子执行策略。
如图7所示为本公开实施例提供的一种可选的神经网络模型的运行控制方法的流程示意图;具体的,首先加载神经网络模型,校验神经网络模型的正确性,并配置神经网络模型的上下文环境;进一步的,通过对神经网络模型进行解析,生成算子拓扑图;之后,根据上下文环境和算子拓扑图中各算子的拓扑顺序,触发执行各算子预设的算子执行策略,在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略;其中,若算子推理异常的类型为目标算子未输出算子推理结果,可以在异构算子库中选择异构设备执行算子异构策略。最后,触发神经网络模型按照异常处理策略继续执行数据推理任务,同时,实时记录使得各算子顺利执行时采用的各异常处理策略和每个算子的算子推理结果,组成分析报告;进而,遍历下一算子,直至输出模型推理结果。
作为上述各神经网络模型的运行控制方法的实现,本公开还提供了一种实施上述各神经网络模型的运行控制方法的执行装置的可选实施例。
图8是根据本公开实施例提供的一种神经网络模型的运行控制装置的结构示意图;如图8所示,所述神经网络模型的运行控制装置包括:任务触发模块410、策略搜索模块420以及任务执行模块430;
其中,任务触发模块410,用于触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务;
策略搜索模块420,用于在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略;
任务执行模块430,用于触发神经网络模型按照所述异常处理策略继续执行所述数据推理任务,直至输出模型推理结果。
本公开实施例的技术方案通过触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务;在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略;并触发神经网络模型按照异常处理策略继续执行数据推理任务,直至输出模型推理结果,解决了现有技术中神经网络模型的问题排查成本较高,神经网络模型的运行调试效率较低的问题,可以降低神经网络模型的问题排查成本,提高神经网络模型的运行调试效率。
可选的,任务触发模块410可以包括:
环境配置单元,用于根据所述数据推理任务,配置神经网络模型的上下文环境;
拓扑图生成单元,用于对神经网络模型进行解析,生成算子拓扑图;
策略执行单元,用于根据上下文环境和算子拓扑图中各算子的拓扑顺序,触发执行各算子预设的算子执行策略。
可选的,策略搜索模块420可以包括:
第一策略搜索单元,用于在目标算子未输出算子推理结果时,在单算子策略集中获取当前单算子策略;
第一结果检测单元,用于触发执行当前单算子策略,并再次检测目标算子能否输出算子推理结果;
第一策略确定单元,用于若是,则将当前单算子策略确定为一个异常处理策略;
第一遍历单元,用于否则,返回执行在单算子策略集中获取当前单算子策略操作,直至完成对全部单算子策略的遍历执行。
可选的,神经网络模型的运行控制装置还可以包括第一后处理模块;
其中,第一后处理模块包括:
第二策略搜索单元,用于在全部单算子策略均遍历执行后,如果目标算子仍未输出算子推理结果,则在融合算子策略集中获取当前融合算子策略;
策略融合单元,用于触发执行当前融合算子策略,将目标算子与至少一个未推理算子融合为当前融合算子,并生成当前融合算子的融合算子执行策略;
第二结果检测单元,用于触发执行融合算子执行策略,并检测当前融合算子能否输出算子推理结果;
第二策略确定单元,用于若是,则将当前融合算子策略确定为一个异常处理策略,并更新与所述神经网络模型匹配的算子拓扑图;
第二遍历单元,用于否则,返回执行在融合算子策略集中获取当前融合算子策略的操作,直至完成对全部融合算子策略的遍历执行。
可选的,神经网络模型的运行控制装置还可以包括第二后处理模块;
其中,第二后处理模块包括:
算子还原单元,用于在全部融合算子策略均遍历执行后,如果当前融合算子仍未输出算子推理结果,则将当前融合算子还原为目标算子与未推理算子;
任务终止单元,用于终止目标算子的继续执行;
第一随机单元,用于构造随机输入数据发送至目标算子的下一相邻算子,以触发下一相邻算子执行预设的算子执行策略。
可选的,策略搜索模块420还可以包括:
第一精度策略获取单元,用于在目标算子输出的算子推理结果未达到精度要求时,在算子精度策略库中获取当前算子精度策略;
精度检测单元,用于触发执行当前算子精度策略,并再次检测目标算子输出的算子推理结果是否达到精度要求;
第三策略确定单元,用于若是,则将当前算子精度策略确定为一个异常处理策略;
第三遍历单元,用于否则,返回执行在算子精度策略库中获取当前算子精度策略的操作,直至完成对全部算子精度策略的遍历执行。
可选的,策略搜索模块420还可以包括:
第二精度策略获取单元,用于在目标算子输出的算子推理结果未达到精度要求时,分别触发执行算子精度策略库中的每个算子精度策略;
精度筛选单元,用于在与每个算子精度策略分别对应的算子推理结果中,选择满足精度要求且精度最高的目标算子推理结果;
第四策略确定单元,用于将与目标算子推理结果对应的算子精度策略确定为一个异常处理策略。
可选的,神经网络模型的运行控制装置还可以包括随机数据构造模块,用于在全部算子精度策略均遍历执行后,如果目标算子输出的算子推理结果仍未达到精度要求,则终止目标算子的继续执行;构造随机输入数据发送至目标算子的下一相邻算子,以触发下一相邻算子执行预设的算子执行策略。
可选的,神经网络模型的运行控制装置还可以包括精度检测模块,用于获取目标算子输出所述算子推理结果时使用的目标输入数据以及目标算子执行策略;触发基准设备按照目标算子的目标算子执行策略,计算得到与目标输入数据对应的基准推理结果;根据所述基准推理结果与所述算子推理结果之间的数值差异,检测目标算子输出的算子推理结果是否达到精度要求。
可选的,神经网络模型的运行控制装置还可以包括结果记录模块,用于在所述数据推理任务的执行过程中,实时记录使得各算子顺利执行时采用的各异常处理策略和每个算子的算子推理结果。
上述产品可执行本公开任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图9示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如神经网络模型的运行控制方法。例如,在一些实施例中,神经网络模型的运行控制方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的神经网络模型的运行控制方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行神经网络模型的运行控制方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (20)

1.一种神经网络模型的运行控制方法,包括:
触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务;
在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略;
触发神经网络模型按照所述异常处理策略继续执行所述数据推理任务,直至输出模型推理结果。
2.根据权利要求1所述的方法,其中,触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务,包括:
根据所述数据推理任务,配置神经网络模型的上下文环境;
对神经网络模型进行解析,生成算子拓扑图;
根据上下文环境和算子拓扑图中各算子的拓扑顺序,触发执行各算子预设的算子执行策略。
3.根据权利要求1所述的方法,其中,在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略,包括:
在目标算子未输出算子推理结果时,在单算子策略集中获取当前单算子策略;
触发执行当前单算子策略,并再次检测目标算子能否输出算子推理结果;
若是,则将当前单算子策略确定为一个异常处理策略;
否则,返回执行在单算子策略集中获取当前单算子策略操作,直至完成对全部单算子策略的遍历执行。
4.根据权利要求3所述的方法,还包括:
在全部单算子策略均遍历执行后,如果目标算子仍未输出算子推理结果,则在融合算子策略集中获取当前融合算子策略;
触发执行当前融合算子策略,将目标算子与至少一个未推理算子融合为当前融合算子,并生成当前融合算子的融合算子执行策略;
触发执行融合算子执行策略,并检测当前融合算子能否输出算子推理结果;
若是,则将当前融合算子策略确定为一个异常处理策略,并更新与所述神经网络模型匹配的算子拓扑图;
否则,返回执行在融合算子策略集中获取当前融合算子策略的操作,直至完成对全部融合算子策略的遍历执行。
5.根据权利要求4所述的方法,还包括:
在全部融合算子策略均遍历执行后,如果当前融合算子仍未输出算子推理结果,则将当前融合算子还原为目标算子与未推理算子;
终止目标算子的继续执行;
构造随机输入数据发送至目标算子的下一相邻算子,以触发下一相邻算子执行预设的算子执行策略。
6.根据权利要求1所述的方法,其中,在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略,包括:
在目标算子输出的算子推理结果未达到精度要求时,在算子精度策略库中获取当前算子精度策略;
触发执行当前算子精度策略,并再次检测目标算子输出的算子推理结果是否达到精度要求;
若是,则将当前算子精度策略确定为一个异常处理策略;
否则,返回执行在算子精度策略库中获取当前算子精度策略的操作,直至完成对全部算子精度策略的遍历执行。
7.根据权利要求1所述的方法,其中,在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略,包括:
在目标算子输出的算子推理结果未达到精度要求时,分别触发执行算子精度策略库中的每个算子精度策略;
在与每个算子精度策略分别对应的算子推理结果中,选择满足精度要求且精度最高的目标算子推理结果;
将与目标算子推理结果对应的算子精度策略确定为一个异常处理策略。
8.根据权利要求6或7所述的方法,还包括:
在全部算子精度策略均遍历执行后,如果目标算子输出的算子推理结果仍未达到精度要求,则终止目标算子的继续执行;
构造随机输入数据发送至目标算子的下一相邻算子,以触发下一相邻算子执行预设的算子执行策略。
9.根据权利要求6或7所述的方法,还包括:
获取目标算子输出所述算子推理结果时使用的目标输入数据以及目标算子执行策略;
触发基准设备按照目标算子的目标算子执行策略,计算得到与目标输入数据对应的基准推理结果;
根据所述基准推理结果与所述算子推理结果之间的数值差异,检测目标算子输出的算子推理结果是否达到精度要求。
10.根据权利要求1-9任一项所述的方法,还包括:
在所述数据推理任务的执行过程中,实时记录使得各算子顺利执行时采用的各异常处理策略和每个算子的算子推理结果。
11.一种神经网络模型的运行控制装置,包括:
任务触发模块,用于触发神经网络模型中各算子按照预设的算子执行策略执行数据推理任务;
策略搜索模块,用于在目标算子发生算子推理异常时,在策略空间中搜索用于消除所述算子推理异常的至少一个异常处理策略;
任务执行模块,用于触发神经网络模型按照所述异常处理策略继续执行所述数据推理任务,直至输出模型推理结果。
12.根据权利要求10所述的装置,所述任务触发模块包括:
环境配置单元,用于根据所述数据推理任务,配置神经网络模型的上下文环境;
拓扑图生成单元,用于对神经网络模型进行解析,生成算子拓扑图;
策略执行单元,用于根据上下文环境和算子拓扑图中各算子的拓扑顺序,触发执行各算子预设的算子执行策略。
13.根据权利要求10所述的装置,所述策略搜索模块包括:
第一策略搜索单元,用于在目标算子未输出算子推理结果时,在单算子策略集中获取当前单算子策略;
第一结果检测单元,用于触发执行当前单算子策略,并再次检测目标算子能否输出算子推理结果;
第一策略确定单元,用于若是,则将当前单算子策略确定为一个异常处理策略;
第一遍历单元,用于否则,返回执行在单算子策略集中获取当前单算子策略操作,直至完成对全部单算子策略的遍历执行。
14.根据权利要求13所述的装置,所述装置还包括第一后处理模块;
所述第一后处理模块包括:
第二策略搜索单元,用于在全部单算子策略均遍历执行后,如果目标算子仍未输出算子推理结果,则在融合算子策略集中获取当前融合算子策略;
策略融合单元,用于触发执行当前融合算子策略,将目标算子与至少一个未推理算子融合为当前融合算子,并生成当前融合算子的融合算子执行策略;
第二结果检测单元,用于触发执行融合算子执行策略,并检测当前融合算子能否输出算子推理结果;
第二策略确定单元,用于若是,则将当前融合算子策略确定为一个异常处理策略,并更新与所述神经网络模型匹配的算子拓扑图;
第二遍历单元,用于否则,返回执行在融合算子策略集中获取当前融合算子策略的操作,直至完成对全部融合算子策略的遍历执行。
15.根据权利要求14所述的装置,所述装置还包括第二后处理模块;
所述第二后处理模块包括:
算子还原单元,用于在全部融合算子策略均遍历执行后,如果当前融合算子仍未输出算子推理结果,则将当前融合算子还原为目标算子与未推理算子;
任务终止单元,用于终止目标算子的继续执行;
第一随机单元,用于构造随机输入数据发送至目标算子的下一相邻算子,以触发下一相邻算子执行预设的算子执行策略。
16.根据权利要求10所述的装置,所述策略搜索模块包括:
第一精度策略获取单元,用于在目标算子输出的算子推理结果未达到精度要求时,在算子精度策略库中获取当前算子精度策略;
精度检测单元,用于触发执行当前算子精度策略,并再次检测目标算子输出的算子推理结果是否达到精度要求;
第三策略确定单元,用于若是,则将当前算子精度策略确定为一个异常处理策略;
第三遍历单元,用于否则,返回执行在算子精度策略库中获取当前算子精度策略的操作,直至完成对全部算子精度策略的遍历执行。
17.根据权利要求10所述的装置,所述策略搜索模块包括:
第二精度策略获取单元,用于在目标算子输出的算子推理结果未达到精度要求时,分别触发执行算子精度策略库中的每个算子精度策略;
精度筛选单元,用于在与每个算子精度策略分别对应的算子推理结果中,选择满足精度要求且精度最高的目标算子推理结果;
第四策略确定单元,用于将与目标算子推理结果对应的算子精度策略确定为一个异常处理策略。
18.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
19.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-10中任一项所述的方法。
20.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-10中任一项所述方法的步骤。
CN202210789190.4A 2022-07-06 2022-07-06 神经网络模型的运行控制方法、装置、设备及介质 Active CN115113528B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210789190.4A CN115113528B (zh) 2022-07-06 2022-07-06 神经网络模型的运行控制方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210789190.4A CN115113528B (zh) 2022-07-06 2022-07-06 神经网络模型的运行控制方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115113528A true CN115113528A (zh) 2022-09-27
CN115113528B CN115113528B (zh) 2023-07-25

Family

ID=83333227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210789190.4A Active CN115113528B (zh) 2022-07-06 2022-07-06 神经网络模型的运行控制方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115113528B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115760218A (zh) * 2022-12-08 2023-03-07 苏州遥遥在望科技有限公司 信息投放数据的校验与预测方法及应用

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858351A (zh) * 2020-07-23 2020-10-30 深圳慕智科技有限公司 一种基于差分评估的深度学习推理引擎测试方法
CN112070235A (zh) * 2020-09-08 2020-12-11 北京小米松果电子有限公司 一种深度学习框架的异常定位方法、装置及存储介质
CN112231134A (zh) * 2020-10-28 2021-01-15 地平线(上海)人工智能技术有限公司 神经网络处理器的故障处理方法及装置、设备、存储介质
CN112506690A (zh) * 2020-12-09 2021-03-16 北京地平线信息技术有限公司 控制处理器的方法及装置
EP3812974A1 (en) * 2019-10-25 2021-04-28 Onfido Ltd Machine learning inference system
CN112766512A (zh) * 2021-01-25 2021-05-07 北京大学(天津滨海)新一代信息技术研究院 基于元算子的深度学习框架诊断系统、方法、装置、设备及介质
CN113033760A (zh) * 2019-12-09 2021-06-25 中科寒武纪科技股份有限公司 用于测试神经网络中算子精度的方法、测试装置及其系统
CN113342345A (zh) * 2021-05-17 2021-09-03 北京百度网讯科技有限公司 深度学习框架的算子融合方法、装置
CN113469360A (zh) * 2020-03-31 2021-10-01 杭州海康威视数字技术股份有限公司 推理方法及装置
CN114707227A (zh) * 2022-04-28 2022-07-05 水利部南京水利水文自动化研究所 一种基于数字孪生的大坝安全预警消警方法及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3812974A1 (en) * 2019-10-25 2021-04-28 Onfido Ltd Machine learning inference system
CN113033760A (zh) * 2019-12-09 2021-06-25 中科寒武纪科技股份有限公司 用于测试神经网络中算子精度的方法、测试装置及其系统
CN113469360A (zh) * 2020-03-31 2021-10-01 杭州海康威视数字技术股份有限公司 推理方法及装置
CN111858351A (zh) * 2020-07-23 2020-10-30 深圳慕智科技有限公司 一种基于差分评估的深度学习推理引擎测试方法
CN112070235A (zh) * 2020-09-08 2020-12-11 北京小米松果电子有限公司 一种深度学习框架的异常定位方法、装置及存储介质
CN112231134A (zh) * 2020-10-28 2021-01-15 地平线(上海)人工智能技术有限公司 神经网络处理器的故障处理方法及装置、设备、存储介质
CN112506690A (zh) * 2020-12-09 2021-03-16 北京地平线信息技术有限公司 控制处理器的方法及装置
CN112766512A (zh) * 2021-01-25 2021-05-07 北京大学(天津滨海)新一代信息技术研究院 基于元算子的深度学习框架诊断系统、方法、装置、设备及介质
CN113342345A (zh) * 2021-05-17 2021-09-03 北京百度网讯科技有限公司 深度学习框架的算子融合方法、装置
CN114707227A (zh) * 2022-04-28 2022-07-05 水利部南京水利水文自动化研究所 一种基于数字孪生的大坝安全预警消警方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115760218A (zh) * 2022-12-08 2023-03-07 苏州遥遥在望科技有限公司 信息投放数据的校验与预测方法及应用
CN115760218B (zh) * 2022-12-08 2024-03-19 苏州遥遥在望科技有限公司 信息投放数据的校验与预测方法及应用

Also Published As

Publication number Publication date
CN115113528B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
US20170168885A1 (en) System and Method for Testing Internet of Things Network
US20200226401A1 (en) Utilizing artificial intelligence to generate and update a root cause analysis classification model
CN113342345A (zh) 深度学习框架的算子融合方法、装置
CN108897676B (zh) 基于形式化规则的飞行引导控制软件可靠性分析系统与方法
US10834183B2 (en) Managing idle and active servers in cloud data centers
US11373131B1 (en) Automatically identifying and correcting erroneous process actions using artificial intelligence techniques
CN116126346B (zh) Ai模型的代码编译方法、装置、计算机设备及存储介质
CN115113528B (zh) 神经网络模型的运行控制方法、装置、设备及介质
CN115480746A (zh) 数据处理任务的执行文件生成方法、装置、设备及介质
CN111913824A (zh) 确定数据链路故障原因的方法及相关设备
CN112783508A (zh) 文件的编译方法、装置、设备以及存储介质
CN113313304A (zh) 一种基于大数据决策树的电网事故异常分析方法及系统
US11086606B2 (en) System and method for dynamic process flow control based on real-time events
US20220179862A1 (en) Optimizing breakeven points for enhancing system performance
EP4148584A1 (en) Method and system for generating and optimizing test cases for an engineering program
CN111679924B (zh) 构件化软件系统可靠性仿真方法、装置及电子设备
CN109491892B (zh) 一种项目环境的配置方法和装置
Demirbaga et al. RootPath: Root Cause and Critical Path Analysis to Ensure Sustainable and Resilient Consumer-Centric Big Data Processing under Fault Scenarios
CN112579587A (zh) 数据清洗方法及装置、设备和存储介质
CN114676002A (zh) 基于phm技术的系统运维方法及装置
CN111753955A (zh) 一种模型参数调整方法、装置、电子设备和存储介质
EP3671467A1 (en) Gui application testing using bots
CN112162528A (zh) 一种数控机床的故障诊断方法、装置、设备和存储介质
US11210155B1 (en) Performance data analysis to reduce false alerts in a hybrid cloud environment
US11150971B1 (en) Pattern recognition for proactive treatment of non-contiguous growing defects

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant