CN115081628A - 一种深度学习模型适配度的确定方法及装置 - Google Patents
一种深度学习模型适配度的确定方法及装置 Download PDFInfo
- Publication number
- CN115081628A CN115081628A CN202210971296.6A CN202210971296A CN115081628A CN 115081628 A CN115081628 A CN 115081628A CN 202210971296 A CN202210971296 A CN 202210971296A CN 115081628 A CN115081628 A CN 115081628A
- Authority
- CN
- China
- Prior art keywords
- rule
- network layer
- deep learning
- learning model
- rules
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种深度学习模型适配度的确定方法及装置,用以在部署深度学习模型之前确定模型与硬件设备之间的适配性,以便于开发人员调整深度学习模型,提升深度学习模型在硬件设备中的运行性能,同时可以节约开发成本。该方法包括:获取用于部署深度学习模型的硬件设备的规则库;规则库包括的一条或多条规则是根据硬件设备支持运行的算法的工作参数设置的;将一条或多条规则分别与深度学习模型包括的多个网络层进行匹配;多个网络层中任意两个网络层包括的参数不相同;根据每一个网络层匹配成功的规则的数量,以及匹配成功的规则的级别,确定深度学习模型与硬件设备的适配度;每一条规则的级别用于表征每一条规则的重要程度。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种深度学习模型适配度的确定方法及装置。
背景技术
随着人工智能(Artificial Intelligence,AI)技术的广泛应用,市面上出现的AI芯片种类也越来越多。针对不同的AI芯片的硬件架构,为了充分发挥硬件的算力,对于部署的深度学习算法模型结构也需要有不同的要求。目前为了提升硬件与深度学习模型之间的亲和度,一般有如下两种方式:
第一种是针对不同的硬件开发不同的深度学习模型,这种方式可以保证硬件与深度学习模型之间的一对一的关系,适应性好。但是,针对不同的硬件开发相应的深度学习模型需要模型开发厂家花费大量的成本,开发出的深度学习模型也不具备通用性。
第二种是深度学习模型厂家开发出基础模型,然后在实际应用时再根据实测效果不断调整模型的参数,最终获得一个适用多种硬件设备的通用模型。这种方法需要维护的模型版本较多,且无法保证多个版本模型运行效果的一致性。
因此,为了实现深度学习模型的通用性,亟需一种能够及时发现深度学习模型与硬件设备不匹配问题的方法。
发明内容
本申请提供一种深度学习模型适配度的确定方法及装置,用以解决目前部署深度学习模型带来的开发成本大的问题。
第一方面,本申请提供了一种深度学习模型适配度的确定方法包括:
获取用于部署深度学习模型的硬件设备的规则库;所述规则库包括的一条或多条规则是根据所述硬件设备支持运行的算法的工作参数设置的;
将所述一条或多条规则分别与所述深度学习模型包括的多个网络层进行匹配;所述多个网络层中任意两个网络层包括的参数不相同;
根据每一个网络层匹配成功的规则的数量,以及所述匹配成功的规则的级别,确定所述深度学习模型与所述硬件设备的适配度;所述每一条规则的级别用于表征所述每一条规则的重要程度。
基于上述方案,本申请提出了基于硬件设备所支持运行的算法的工作参数设置硬件设备的规则库,根据该规则库与待部署的深度学习模型的匹配情况,来确定深度学习模型与硬件设备的适配度。在深度学习模型部署之前就可以确定其与硬件设备的适配度,从而开发人员可以根据该适配度来对深度模型的参数进行调整,设计出一种同时满足对一种或多种硬件设备计算友好的模型结构。
在一些实施例中,将所述一条或多条规则分别与所述深度学习模型包括的多个网络层进行匹配,包括:
获取所述一条或多条规则中的任意一条规则,以及获取所述多个网络层中的任意一个网络层;
在所述任意一个网络层采用的算法与所述任意一条规则相关,且所述任意一个网络层采用的算法不符合所述任意一条规则的要求时,确定所述任意一个网络层与所述任意一条规则匹配成功;
在所述任意一个网络层采用的算法与所述任意一条规则相关,且所述任意一个网络层采用的算法符合所述任意一条规则的要求时,确定所述任意一个网络层与所述任意一条规则匹配失败;
在所述任意一个网络层采用的算法与所述任意一条规则不相关时,确定所述任意一个网络层与所述任意一条规则匹配失败。
在一些实施例中,所述方法还包括:
若存在与所述规则库包括的每一条规则均不相关的网络层,则根据与每一条规则均不相关的网络层采用的算法生成新的规则;
采用所述新的规则扩充所述规则库。
在一些实施例中,所述根据与每一条规则均不相关的网络层采用的算法生成新的规则,包括:
为所述与每一条规则均不相关的网络层采用的算法设置不同的工作参数;
逐个检测包含不同工作参数的算法在所述硬件设备中的运行效率;
根据运行效率最高的算法的工作参数生成所述新的规则。
在一些实施例中,所述方法还包括:
根据每一个网络层匹配成功的规则,与所述匹配成功的规则的要求和所述每一个网络层采用的算法的工作参数的对比结果,以及所述适配度,生成深度学习模型的优化建议;
将所述优化建议发送到开发人员的设备。
第二方面,本申请提供了一种深度学习模型适配度的确定装置,包括:
获取单元,用于获取用于部署深度学习模型的硬件设备的规则库;所述规则库包括的一条或多条规则是根据所述硬件设备支持运行的算法的工作参数设置的;
处理单元,用于将所述一条或多条规则分别与所述深度学习模型包括的多个网络层进行匹配;所述多个网络层中任意两个网络层包括的参数不相同;
所述处理单元,还用于根据每一个网络层匹配成功的规则的数量,以及所述匹配成功的规则的级别,确定所述深度学习模型与所述硬件设备的适配度;所述每一条规则的级别用于表征所述每一条规则的重要程度。
在一些实施例中,所述处理单元,具体用于:
通过所述获取单元获取所述一条或多条规则中的任意一条规则,以及获取所述多个网络层中的任意一个网络层;
在所述任意一个网络层采用的算法与所述任意一条规则相关,且所述任意一个网络层采用的算法不符合所述任意一条规则的要求时,确定所述任意一个网络层与所述任意一条规则匹配成功;
在所述任意一个网络层采用的算法与所述任意一条规则相关,且所述任意一个网络层采用的算法符合所述任意一条规则的要求时,确定所述任意一个网络层与所述任意一条规则匹配失败;
在所述任意一个网络层采用的算法与所述任意一条规则不相关时,确定所述任意一个网络层与所述任意一条规则匹配失败。
在一些实施例中,所述处理单元,还用于:
在存在与所述规则库包括的每一条规则均不相关的网络层时,根据与每一条规则均不相关的网络层采用的算法生成新的规则;
采用所述新的规则扩充所述规则库。
在一些实施例中,所述处理单元,具体用于:
为所述与每一条规则均不相关的网络层采用的算法设置不同的工作参数;
逐个检测包含不同工作参数的算法在所述硬件设备中的运行效率;
根据运行效率最高的算法的工作参数生成所述新的规则。
在一些实施例中,所述处理单元,还用于:
根据每一个网络层匹配成功的规则,与所述匹配成功的规则的要求和所述每一个网络层采用的算法的工作参数的对比结果,以及所述适配度,生成深度学习模型的优化建议;
所述装置还包括通信单元,用于将所述优化建议发送到开发人员的设备。
第三方面,提供了一种电子设备,所述电子设备包括控制器和存储器。存储器用于存储计算机执行指令,控制器执行存储器中的计算机执行指令以利用控制器中的硬件资源执行第一方面任一种可能实现的方法的操作步骤。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
另外,第二方面至第四方面的有益效果可以参见如第一方面所述的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统架构示意图;
图2为本申请实施例提供的一种深度学习模型适配度的确定方法流程图;
图3为本申请实施例提供的一种规则匹配方法流程图;
图4为本申请实施例提供的另一种深度学习模型适配度的确定方法流程图;
图5为本申请实施例提供的一种深度学习模型适配度的确定装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应所述理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
深度学习是基于人工神经网络的更广泛的机器学习方法族的一部分。学习可以是有监督的、半监督的或无监督的。深度学习模型,例如深度神经网络、深度信念网络、循环神经网络和卷积神经网络,已经被应用于包括计算机视觉、语音识别、自然语言处理、音频识别、社交网络过滤、机器翻译、生物信息学、药物设计、医学图像分析、材料检查和棋盘游戏程序在内的领域。
随着深度学习模型的广泛应用,出现了一大批人工智能(ArtificialIntelligence,AI)芯片厂商,各自采用的不同的推理硬件架构。针对不同的硬件架构,为了充分发挥硬件的算力,对深度学习模型的结构有不同的设计要求。然而对于模型设计者而言,针对不同的硬件分别设计不同的深度学习模型结构,不仅需要耗费大量的开发成本,并且无法保证不同的硬件实施模型算法的效果的一致性。因此,在相关技术中提出了算法模型的开发者在训练阶段开发一种通用的算法模型,硬件设备的厂家将模型部署在硬件设备中进行试运行,然后根据试运行的结果调整深度学习模型。这种通过实际部署效果,针对单个硬件设备不断调整深度学习模型的方式需要开发者对硬件有一定深入的了解,导致人工成本较大。同时,由于需要多次根据运行结果调整深度学习模型,使得整个深度学习模型的部署周期比较长。
为了解决这种问题,本申请实施例提供了一种深度学习模型适配度的确定方法,用于在深度模型部署之前,分析深度学习模型与硬件设备的适配性。开发人员就可以根据分析的结果对深度学习模型进行优化,无需进行试运行以及根据试运行结果调整模型,节约了硬件设备厂家的开发成本。
下面具体介绍本申请提出的深度学习模型适配度的确定方法及装置。本申请下述实施例中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A 和B,单独存在B 的情况,其中A,B 可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一任务执行设备和第二任务执行设备,只是为了区分不同的任务执行设备,而并不是表示这两种任务执行设备的优先级或者重要程度等的不同。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
首先,对本申请涉及的系统架构进行简单介绍。参见图1,为本申请实施例提供的一种深度学习模型适配度的确定系统。应理解,本申请实施例并不限于图1所示的系统中,此外,图1中的装置可以是硬件,也可以是从功能上划分的软件,或者以上二者结合后的结构。如图1所示,本申请实施例提供的系统架构中包括适配度计算平台、硬件设备以及深度学习模型。需要说明的是,图1仅作为一种示例,本申请对于系统中包括的硬件设备和深度学习模型的数量不作具体限定。
可选地,图1中示出的适配度计算平台的功能可以由计算机、计算芯片、服务器或者一些具有计算功能的电子设备来实现,适配度计算平台可以为硬件可以为软件。适配度计算平台用于计算硬件设备和深度学习模型之间的适配度。
图1中示出的硬件设备是用于部署深度学习模型的,例如,硬件设备可以为AI芯片。本申请对于硬件设备的架构和深度学习模型的结构不作任何限定。
基于图1所示的系统,本申请提供了一种深度学习模型适配度的确定方法,参见图2,为本申请提供的一种深度学习模型适配度的确定方法流程图。可选地,该方法流程可以由图1中的适配度计算平台来执行,该方法流程具体包括:
201,获取用于部署深度学习模型的硬件设备的规则库。
其中,规则库中包括的一条或多条规则是根据硬件设备所支持运行的算法的工作参数设定的。例如,硬件设备支持卷积运算,并且支持的卷积核大小为3×3的,那么可以基于此来设定规则:深度学习模型包括的卷积运算中卷积核的大小是否为3×3。
可选地,硬件设备的规则库可以是预先设定在适配度计算平台中的。
202,将一条或者多条规则分别与深度学习模型包括的多个网络层进行匹配。
其中,深度学习模型中包括的多个网络层中,任意两个网络层包括的参数不相同。
可选地,在进行匹配时,可以针对每一条规则,将该条规则与深度学习模型包括的多个网络层分别将进行匹配,并可以记录与该条规则匹配的网络层的数量,以及与匹配成功的网络层的匹配结果。
203,根据每一个网络层匹配成功的规则的数量,以及每一条规则的级别,确定深度学习模型与硬件设备的适配度。
可选地,规则库中的每一条规则的级别可以用于表征规则的重要程度。例如,硬件设备中没有嵌入式神经网络处理器(Neural-network Processing Unit,NPU)只有中央控制器(Central Processing Unit,CPU),以及硬件设备支持的卷积运算的卷积核为3×3的,针对硬件设备上述这两个特征,规则库中会存在两条规则:第一条是计算单元采用的是CPU,第二条是卷积运算的卷积核为3×3。显然,收硬件架构的限制,第一条规则的重要程度是大于第二条规则的重要程度的,因此,第一条规则的级别也是高于第二条规则的。一种可选的方式中,基于规则的重要程度设置规则的级别可以是预先设定的,当然,也可以是在匹配的过程中根据模型在硬件设备中的运行效率来确定的。
在一种可能实现的方式中,可以采用预设的算法计算每一个网络层匹配成功的规则的数量与匹配成功的规则的级别,得到深度学习模型与硬件设备的适配度。
基于上述方案,本申请提出了基于硬件设备所支持运行的算法的工作参数设置硬件设备的规则库,根据该规则库与待部署的深度学习模型的匹配情况,来确定深度学习模型与硬件设备的适配度。在深度学习模型部署之前就可以确定其与硬件设备的适配度,从而开发人员可以根据该适配度来对深度模型的参数进行调整。不再需要进行多次试运行,节约了硬件厂家的开发成本。
在一些实施例中,硬件设备的规则库可以是预先存储在适配度计算平台中的,可选地,硬件设备的规则库可以与硬件设备的型号进行关联存储。
一种可能实现的方式中,规则库中的一条或者多条规则可以是根据硬件设备的开发厂商提供的硬件设备使用说明书中的说明确定的。例如,硬件设备中只包含有CPU,而不包含NPU,那么规则库中可以包括规则:以CPU作为计算单元。或者,硬件设备的说明书中包括硬件设备可以支持的卷积运算的输入和输出通道数均为8,那么规则库中可以包括规则:卷积运算的输入输出通道数为8。
另一种可能实现的方式中,规则库中包括的一条或者多条规则可以是预先通过测试得到的。一种可选的方式中,可以使硬件设备运行采用不同工作参数的算法,分别检测硬件设备运行不同工作参数算法的效率,根据效率的大小来设置硬件设备的规则库。例如,可以使硬件设备运行具有不同卷积核或者卷积核跨距的卷积运算,根据运行效率最高的卷积核或者卷积核跨距来设置规则。比如硬件设备在运行卷积核为3×3的卷积运算时,效率最高,那么可以设置规则:卷积运算的卷积核为3×3。另一种可选的方式中,可以使硬件设备运行不同的算法,根据不同算法的运行效率来设置规则。例如,若硬件设备运行反卷积运算的效率要高于运行上采样运算的效率,则可以设置规则:运行反卷积算法而非上采样算法。
需要说明的是,本申请实施例中,上述采用硬件设备的说明书设置规则库的方案,以及预先通过测试来设置规则库的方案,以上两个方案可以分别单独实施,也可以组合实施例。比如,规则库中可以既包括根据说明书设置的规则,也包括预先通过测试确定的规则。
在一些实施例中,在基于规则库进行匹配以及进行计算深度学习模型的适配度之前,还可以基于深度学习模型的架构将深度学习模型进行拆分。可选地,可以基于不同的算法将深度学习模型拆分为多个网络层,使得任意两个网络层所采用的算法不同。例如,可以基于深度学习模型的架构将深度学习模型拆分为卷积层、池化层、激活层和反卷积层等网络层。或者,本申请还提供了另一种拆分深度模型的方式,在另一些实施例中,还可以基于不同的工作参数将深度学习模型进行拆分,使得拆分后得到的任意两个网络层所采用的算法包括的工作参数不相同。例如,可以基于深度学习模型的架构将深度学习模型拆分为卷积核为3×3的卷积层和卷积核为5×5的卷积层等网络层。
在一些场景下,在进行规则匹配时,可以基于每一条规则来进行规则匹配。可选地,下面以规则库中包括的第一规则与深度学习模型中包括的第一网络层的匹配过程为例来介绍规则匹配的过程。其中,第一网络层为深度学习模型中包括的多个网络层中的任意一个网络层,第一规则为硬件设备的规则库中包括的一条或者多条规则中的任意一条规则。
可选地,在进行规则匹配时,可以首先判断第一网络层与第一规则是否相关,即可以判断第一网络层所采用的算法与第一规则对应的算法是否相关。例如,第一规则为:深度学习模型包括的卷积运算中卷积核的大小是否为3×3,第一网络层所采用的算法为卷积运算,则可以确定第一网络层与第一规则相关。反之,若第一网络层采用的是上采样算法,则可以确定第一网络层与第一规则不相关。
在一些情况下,第一网络层与第一规则不相关时,则可以确定第一网络层与第一规则匹配失败。
在另一些情况下,在确定第一网络层与第一规则相关之后,可以进一步确定第一网络层所采用的算法是否符合第一规则的要求。若不符合,则可以确定第一网络层与第一规则匹配成功。继续上述的举例,第一规则为:深度学习模型包括的卷积运算中卷积核的大小是否为3×3,而第一网络层所采用的卷积运算的卷积核为5×5的,那么则可以确定第一网络层所采用的算法不符合第一规则的要求,从而可以确定第一网络层与第一规则匹配成功。反之,若第一网络层所采用的卷积运算的卷积核为3×3的,也就是说第一网络层符合第一规则的要求,则可以确定第一网络层与第一规则匹配失败。
可选地,在确定第一网络层与第一规则匹配成功之后,还可以进一步第一网络层采用的算法的工作参数与第一规则的对比结果,生成优化建议,并将优化建议发送到开发人员的设备,以供开发人员进行调整深度学习模型。举例来说,第一网络层为卷积层,卷积核为5×5,第一规则要求的卷积运算卷积核为3×3,基于此,可以生成优化建议:将深度学习模型中卷积层的卷积核从5×5调整为3×3。
为了更进一步地理解基于每一条规则进行匹配的场景下的规则匹配方案,下面结合具体的实施例进行介绍。参见图3,为本申请实施例提供的一种规则匹配方法流程图,具体包括:
301,获取第一规则和待部署的深度学习模型中的任意一个网络层。
其中,第一规则为硬件设备的规则库中的任意一条规则。
302,判断第一规则与获取的网络层是否相关。
具体地,可以判断获取的网络层所采用的算法与第一规则对应的算法是否相关。
若不相关,则继续步骤303。
若相关,则继续步骤304。
303,确定获取的网络层与第一规则匹配失败。
在确定匹配失败之后,再次获取待部署的深度学习模型未进行匹配的网络层,并返回执行步骤301。
304,判断获取的网络层采用的算法是否符合第一规则的要求。
若符合,则返回执行步骤303。
若不符合,则继续执行步骤305。
305,确定第一规则与获取的网络层匹配成功,生成优化建议。
306,将优化建议发送到开发人员的设备。
在另一些场景下,在进行规则匹配时,还可以基于深度学习模型中的每一个网络层进行规则匹配,下面继续以深度学习模型中包括的第一网络层的匹配过程为例进行介绍。可以随机获取规则库中的任意一条规则,将第一网络层与获取的规则进行匹配。例如,可以先确定第一网络层和获取的规则是否相关,若相关,则进一步确定第一网络层采用的算法是否符合获取的规则的要求,若符合,则匹配成功。匹配成功后,也可以生成相应的优化建议,具体地生成方式可以参见上一场景中的描述,在此不再进行赘述。
可选地,在采用上述两个场景提供的规则匹配方法将规则库中包括的每一条规则与深度学习模型中的每一个网络层全部匹配完成后,可以统计规则库中每一条规则匹配成功的网络层的数量,或者统计每一个网络层匹配成功的规则的数量,并基于统计的数量和规则的级别来计算深度学习模型与硬件设备的适配度。本申请对于计算深度学习模型适配度的算法不作限定,可选地,可以计算深度学习模型包括的每一个网络层的适配度,根据所有网络层的适配度来计算深度学习模型的适配度。为了便于理解,下面结合具体的举例说明计算深度学习模型适配度的过程:
以统计每一个网络层匹配成功的规则的数量为例,可以采用下方公式(1)来计算深度学习模型包括的任意一个网络层与硬件设备的适配度:
其中,p为任意一个网络层的适配度,xi为任意一个网络层匹配成功的第i条规则的级别,n为任意一个网络层匹配成功的网络层的数量。
进一步地,在计算得到所有的网络层的适配度之后,可以采用预设的算法计算得到的多个适配度,从而获得深度学习模型的适配度。比如可以将所有网络层的适配度的和、平均值或者加权和等作为深度学习模型的适配度。
为了更进一步地理解确定深度学习模型的适配度的过程,下面结合具体的实施例进行介绍。参见图4,为本申请实施例提供的一种深度学习模型适配度的确定方法流程图,具体包括:
401,获取待部署的深度学习模型和对应的硬件设备的规则库。
402,判断是否存在未进行匹配的网络层。
若是,则获取未进行匹配的网络层,并继续步骤403。
若否,则继续步骤405。
为了便于描述,后续将未进行匹配的网络层简称为第一网络层。
403,将第一网络层与规则库中的每一条规则进行匹配。
具体地匹配过程参见上述实施例中的介绍,在此不再进行赘述。
404,计算第一网络层的适配度。
计算完成后,返回执行步骤402。
405,计算深度学习模型的适配度。
可选地,步骤404和步骤405相关的计算过程可以参见上述实施例中的介绍,在此不再赘述。
在一些实施例中,本申请还提出了一种更新硬件设备规则库的方法。可选地,若在进行规则匹配的过程中发现存在于当前规则库中所有规则均不匹配的网络层,则可以根据该网络层采用的算法生成新的规则,并基于新的规则扩充规则库。
在一种可能实现的方式中,在生成新的规则时,可以采用如下的方式:
可选地,可以获取与所有规则均不匹配的网络层,为该网络层采用的算法设置不同的工作参数。例如,若该网络层采用的是卷积算法,则可以为该网络层的卷积算法配置不同的卷积核。进一步地,可以采用硬件设备逐个运行配置了不同工作参数的算法,检测每一个算法的运行效率。再进一步地,可以采用运行效率最高的算法的工作参数生成新的规则。比如,硬件设备在运行卷积核为3×3的卷积运算时的效率最高,则设置的新的规则可以为:卷积运算的卷积核为3×3。
在一些实施例中,本申请提出的深度学习模型适配度的确定方案可以应用于人工智能(Artificial Intelligence,AI)开放平台中。AI开放平台是一种涵盖数据标注、算法训练、算法部署以及方案验证等流程的平台。在进行算法部署时,需要将训练模型转换为硬件设备匹配的模型,该转换过程可以采用模型转换工具来实现,比如采用JINN NNX模型转换工具。可选地,模型转换工具在进行模型转换时,可以采用本申请提出的深度学习模型适配度的确定方法确定待部署的模型与硬件设备之间的适配度,确定待部署的模型是否为硬件设备友好型的模型,其中硬件设备友好型的模型表征可以充分发挥硬件设备计算能力,使得硬件设备运行速度更快的模型。
基于与上述方法的同一构思,参见图5,为本申请提供了一种深度学习模型是陪读的确定装置500。装置500用于实现上述方法中的各个步骤,为了避免重复,此处不再赘述。装置500包括:获取单元501、处理单元502和通信单元503。
获取单元501,用于获取用于部署深度学习模型的硬件设备的规则库;所述规则库包括的一条或多条规则是根据所述硬件设备支持运行的算法的工作参数设置的;
处理单元502,用于将所述一条或多条规则分别与所述深度学习模型包括的多个网络层进行匹配;所述多个网络层中任意两个网络层包括的参数不相同;
所述处理单元502,还用于根据每一个网络层匹配成功的规则的数量,以及所述匹配成功的规则的级别,确定所述深度学习模型与所述硬件设备的适配度;所述每一条规则的级别用于表征所述每一条规则的重要程度。
在一些实施例中,所述处理单元502,具体用于:
通过所述获取单元501获取所述一条或多条规则中的任意一条规则,以及获取所述多个网络层中的任意一个网络层;
在所述任意一个网络层采用的算法与所述任意一条规则相关,且所述任意一个网络层采用的算法不符合所述任意一条规则的要求时,确定所述任意一个网络层与所述任意一条规则匹配成功;
在所述任意一个网络层采用的算法与所述任意一条规则相关,且所述任意一个网络层采用的算法符合所述任意一条规则的要求时,确定所述任意一个网络层与所述任意一条规则匹配失败;
在所述任意一个网络层采用的算法与所述任意一条规则不相关时,确定所述任意一个网络层与所述任意一条规则匹配失败。
在一些实施例中,所述处理单元502,还用于:
在存在与所述规则库包括的每一条规则均不相关的网络层时,根据与每一条规则均不相关的网络层采用的算法生成新的规则;
采用所述新的规则扩充所述规则库。
在一些实施例中,所述处理单元502,具体用于:
为所述与每一条规则均不相关的网络层采用的算法设置不同的工作参数;
逐个检测包含不同工作参数的算法在所述硬件设备中的运行效率;
根据运行效率最高的算法的工作参数生成所述新的规则。
在一些实施例中,所述处理单元502,还用于:
根据每一个网络层匹配成功的规则,与所述匹配成功的规则的要求和所述每一个网络层采用的算法的工作参数的对比结果,以及所述适配度,生成深度学习模型的优化建议;
所述装置还包括通信单元503,用于将所述优化建议发送到开发人员的设备。
图6示出了本申请实施例提供的电子设备600结构示意图。本申请实施例中的电子设备600还可以包括通信接口603,该通信接口603例如是网口,电子设备可以通过该通信接口603传输数据,例如通信接口603可以实现上述实施例中介绍的通信单元503的功能。
在本申请实施例中,存储器602存储有可被至少一个控制器601执行的指令,至少一个控制器601通过执行存储器602存储的指令,可以用于执行上述方法中的各个步骤,例如,控制器601可以实现上述图5中的获取单元501和处理单元502的功能。
其中,控制器601是电子设备的控制中心,可以利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器602内的指令以及调用存储在存储器602内的数据。可选的,控制器601可包括一个或多个处理单元,控制器601可集成应用控制器和调制解调控制器,其中,应用控制器主要处理操作系统和应用程序等,调制解调控制器主要处理无线通信。可以理解的是,上述调制解调控制器也可以不集成到控制器601中。在一些实施例中,控制器601和存储器602可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
控制器601可以是通用控制器,例如中央控制器(英文:Central ProcessingUnit,简称:CPU)、数字信号控制器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用控制器可以是微控制器或者任何常规的控制器等。结合本申请实施例所公开的数据统计平台所执行的步骤可以直接由硬件控制器执行完成,或者用控制器中的硬件及软件模块组合执行完成。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器602可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(英文:Random AccessMemory,简称:RAM)、静态随机访问存储器(英文:Static Random Access Memory,简称:SRAM)、可编程只读存储器(英文:Programmable Read Only Memory,简称:PROM)、只读存储器(英文:Read Only Memory,简称:ROM)、带电可擦除可编程只读存储器(英文:Electrically Erasable Programmable Read-Only Memory,简称:EEPROM)、磁性存储器、磁盘、光盘等。存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器602还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对控制器601进行设计编程,例如,可以将前述实施例中介绍的神经网络模型的训练方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的神经网络模型训练方法的步骤,如何对控制器601进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的控制器以产生一个机器,使得通过计算机或其它可编程数据处理设备的控制器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种深度学习模型适配度的确定方法,其特征在于,包括:
获取用于部署深度学习模型的硬件设备的规则库;所述规则库包括的一条或多条规则是根据所述硬件设备支持运行的算法的工作参数设置的;
将所述一条或多条规则分别与所述深度学习模型包括的多个网络层进行匹配;所述多个网络层中任意两个网络层包括的参数不相同;
根据每一个网络层匹配成功的规则的数量,以及所述匹配成功的规则的级别,确定所述深度学习模型与所述硬件设备的适配度;所述每一条规则的级别用于表征所述每一条规则的重要程度。
2.根据权利要求1所述的方法,其特征在于,将所述一条或多条规则分别与所述深度学习模型包括的多个网络层进行匹配,包括:
获取所述一条或多条规则中的任意一条规则,以及获取所述多个网络层中的任意一个网络层;
在所述任意一个网络层采用的算法与所述任意一条规则相关,且所述任意一个网络层采用的算法不符合所述任意一条规则的要求时,确定所述任意一个网络层与所述任意一条规则匹配成功;
在所述任意一个网络层采用的算法与所述任意一条规则相关,且所述任意一个网络层采用的算法符合所述任意一条规则的要求时,确定所述任意一个网络层与所述任意一条规则匹配失败;
在所述任意一个网络层采用的算法与所述任意一条规则不相关时,确定所述任意一个网络层与所述任意一条规则匹配失败。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若存在与所述规则库包括的每一条规则均不相关的网络层,则根据与每一条规则均不相关的网络层采用的算法生成新的规则;
采用所述新的规则扩充所述规则库。
4.根据权利要求3所述的方法,其特征在于,所述根据与每一条规则均不相关的网络层采用的算法生成新的规则,包括:
为所述与每一条规则均不相关的网络层采用的算法设置不同的工作参数;
逐个检测包含不同工作参数的算法在所述硬件设备中的运行效率;
根据运行效率最高的算法的工作参数生成所述新的规则。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据每一个网络层匹配成功的规则,与所述匹配成功的规则的要求和所述每一个网络层采用的算法的工作参数的对比结果,以及所述适配度,生成深度学习模型的优化建议;
将所述优化建议发送到开发人员的设备。
6.一种深度学习模型适配度的确定装置,其特征在于,包括:
获取单元,用于获取用于部署深度学习模型的硬件设备的规则库;所述规则库包括的一条或多条规则是根据所述硬件设备支持运行的算法的工作参数设置的;
处理单元,用于将所述一条或多条规则分别与所述深度学习模型包括的多个网络层进行匹配;所述多个网络层中任意两个网络层包括的参数不相同;
所述处理单元,还用于根据每一个网络层匹配成功的规则的数量,以及所述匹配成功的规则的级别,确定所述深度学习模型与所述硬件设备的适配度;所述每一条规则的级别用于表征所述每一条规则的重要程度。
7.根据权利要求6所述的装置,其特征在于,所述处理单元,具体用于:
通过所述获取单元获取所述一条或多条规则中的任意一条规则,以及获取所述多个网络层中的任意一个网络层;
在所述任意一个网络层采用的算法与所述任意一条规则相关,且所述任意一个网络层采用的算法不符合所述任意一条规则的要求时,确定所述任意一个网络层与所述任意一条规则匹配成功;
在所述任意一个网络层采用的算法与所述任意一条规则相关,且所述任意一个网络层采用的算法符合所述任意一条规则的要求时,确定所述任意一个网络层与所述任意一条规则匹配失败;
在所述任意一个网络层采用的算法与所述任意一条规则不相关时,确定所述任意一个网络层与所述任意一条规则匹配失败。
8.根据权利要求6或7所述的装置,其特征在于,所述处理单元,还用于:
在存在与所述规则库包括的每一条规则均不相关的网络层时,根据与每一条规则均不相关的网络层采用的算法生成新的规则;
采用所述新的规则扩充所述规则库。
9.一种电子设备,其特征在于,包括:存储器以及控制器;
存储器,用于存储程序指令;
控制器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1-5中任一项所述的方法。
10.一种计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210971296.6A CN115081628B (zh) | 2022-08-15 | 2022-08-15 | 一种深度学习模型适配度的确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210971296.6A CN115081628B (zh) | 2022-08-15 | 2022-08-15 | 一种深度学习模型适配度的确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115081628A true CN115081628A (zh) | 2022-09-20 |
CN115081628B CN115081628B (zh) | 2022-12-09 |
Family
ID=83244197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210971296.6A Active CN115081628B (zh) | 2022-08-15 | 2022-08-15 | 一种深度学习模型适配度的确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115081628B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075884A (zh) * | 2007-06-29 | 2007-11-21 | 中国移动通信集团公司 | 业务内容计费方法 |
CN104410573A (zh) * | 2014-11-26 | 2015-03-11 | 中国电子科技集团公司第四十一研究所 | 一种基于tcam的包匹配方法 |
CN108449339A (zh) * | 2018-03-16 | 2018-08-24 | 南京东科优信网络安全技术研究院有限公司 | 一种基于设备物理指纹特征的有线网络接入安全防护系统及方法 |
CN109408351A (zh) * | 2018-11-01 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种ai环境检测和深度学习环境自动部署的方法和装置 |
CN109460827A (zh) * | 2018-11-01 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种深度学习环境的搭建与优化方法和系统 |
CN111506599A (zh) * | 2020-04-20 | 2020-08-07 | 广州大学 | 基于规则匹配和深度学习的工控设备识别方法及系统 |
CN111527501A (zh) * | 2018-08-28 | 2020-08-11 | 深圳鲲云信息科技有限公司 | 芯片适配确定方法及相关产品 |
CN111967568A (zh) * | 2020-06-29 | 2020-11-20 | 北京百度网讯科技有限公司 | 深度学习模型的适配方法、装置及电子设备 |
CN112116084A (zh) * | 2020-09-15 | 2020-12-22 | 中国科学技术大学 | 可重构平台上固化全网络层的卷积神经网络硬件加速器 |
CN112416599A (zh) * | 2020-12-03 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 一种资源调度方法、装置、设备及计算机可读存储介质 |
CN112633502A (zh) * | 2020-12-29 | 2021-04-09 | 北京百度网讯科技有限公司 | 一种深度学习模型的跨平台执行方法、装置及电子设备 |
CN113222121A (zh) * | 2021-05-31 | 2021-08-06 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置及设备 |
CN113420880A (zh) * | 2021-08-24 | 2021-09-21 | 苏州浪潮智能科技有限公司 | 网络模型训练方法、装置、电子设备及可读存储介质 |
CN114037063A (zh) * | 2021-11-15 | 2022-02-11 | 北京市商汤科技开发有限公司 | 网络模型处理方法、装置、设备、存储介质 |
CN114330692A (zh) * | 2021-12-30 | 2022-04-12 | 科大讯飞股份有限公司 | 神经网络模型的部署方法、装置、设备及存储介质 |
CN114430341A (zh) * | 2021-12-29 | 2022-05-03 | 武汉绿色网络信息服务有限责任公司 | 一种基于exact规则转mask规则的实现方法与装置 |
-
2022
- 2022-08-15 CN CN202210971296.6A patent/CN115081628B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075884A (zh) * | 2007-06-29 | 2007-11-21 | 中国移动通信集团公司 | 业务内容计费方法 |
CN104410573A (zh) * | 2014-11-26 | 2015-03-11 | 中国电子科技集团公司第四十一研究所 | 一种基于tcam的包匹配方法 |
CN108449339A (zh) * | 2018-03-16 | 2018-08-24 | 南京东科优信网络安全技术研究院有限公司 | 一种基于设备物理指纹特征的有线网络接入安全防护系统及方法 |
CN111527501A (zh) * | 2018-08-28 | 2020-08-11 | 深圳鲲云信息科技有限公司 | 芯片适配确定方法及相关产品 |
CN109408351A (zh) * | 2018-11-01 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种ai环境检测和深度学习环境自动部署的方法和装置 |
CN109460827A (zh) * | 2018-11-01 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种深度学习环境的搭建与优化方法和系统 |
CN111506599A (zh) * | 2020-04-20 | 2020-08-07 | 广州大学 | 基于规则匹配和深度学习的工控设备识别方法及系统 |
CN111967568A (zh) * | 2020-06-29 | 2020-11-20 | 北京百度网讯科技有限公司 | 深度学习模型的适配方法、装置及电子设备 |
CN112116084A (zh) * | 2020-09-15 | 2020-12-22 | 中国科学技术大学 | 可重构平台上固化全网络层的卷积神经网络硬件加速器 |
CN112416599A (zh) * | 2020-12-03 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 一种资源调度方法、装置、设备及计算机可读存储介质 |
CN112633502A (zh) * | 2020-12-29 | 2021-04-09 | 北京百度网讯科技有限公司 | 一种深度学习模型的跨平台执行方法、装置及电子设备 |
CN113222121A (zh) * | 2021-05-31 | 2021-08-06 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置及设备 |
CN113420880A (zh) * | 2021-08-24 | 2021-09-21 | 苏州浪潮智能科技有限公司 | 网络模型训练方法、装置、电子设备及可读存储介质 |
CN114037063A (zh) * | 2021-11-15 | 2022-02-11 | 北京市商汤科技开发有限公司 | 网络模型处理方法、装置、设备、存储介质 |
CN114430341A (zh) * | 2021-12-29 | 2022-05-03 | 武汉绿色网络信息服务有限责任公司 | 一种基于exact规则转mask规则的实现方法与装置 |
CN114330692A (zh) * | 2021-12-30 | 2022-04-12 | 科大讯飞股份有限公司 | 神经网络模型的部署方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
MARKUS BORSCHBACH等: "An Evolutionary Solution for Cross Layer Ad Hoc Connectivity Selection", 《FIFTH ANNUAL CONFERENCE ON COMMUNICATION NETWORKS AND SERVICES RESEARCH (CNSR "07)》 * |
曹士杰: "基于算法-硬件协同设计的高性能人工智能计算", 《中国博士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115081628B (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11741361B2 (en) | Machine learning-based network model building method and apparatus | |
WO2018171717A1 (zh) | 面向神经网络处理器的自动化设计方法和系统 | |
US10438118B2 (en) | Verification by metamorphic testing of applications that utilize artificial intelligence | |
EP3467662A1 (en) | Verification of applications that utilize artificial intelligence | |
CN108491302B (zh) | 一种检测spark集群节点状态的方法 | |
US11694075B2 (en) | Partitioning control dependency edge in computation graph | |
CN112541310B (zh) | 逻辑综合控制方法及装置 | |
CN114626552A (zh) | 机器学习模型的切分方法和装置 | |
CN112418416A (zh) | 神经网络计算系统、神经网络计算方法和计算机系统 | |
CN115081628B (zh) | 一种深度学习模型适配度的确定方法及装置 | |
CN112416301A (zh) | 深度学习模型开发方法及装置、计算机可读存储介质 | |
CN116057543A (zh) | 自动化机器学习方法及其装置 | |
KR102255470B1 (ko) | 인공신경망 모델의 검증 방법 및 장치 | |
CN114008636A (zh) | 优化机器学习模型性能 | |
US20220222927A1 (en) | Apparatus, system, and method of generating a multi-model machine learning (ml) architecture | |
CN116069603B (zh) | 应用的性能测试方法、建立性能测试模型的方法及装置 | |
CN116306879A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
US20190325294A1 (en) | Recurrent neural network model compaction | |
CN113705813B (zh) | 基于遗传算法的变异规则补充方法及装置 | |
CN113392957B (zh) | 卷积运算的处理方法、电子设备、移动终端及存储介质 | |
JP7107797B2 (ja) | 情報処理方法及び情報処理システム | |
CN110969259B (zh) | 具有数据关联自适应舍入的处理核心 | |
CN113485848A (zh) | 深度神经网络部署方法、装置、计算机设备和存储介质 | |
CN114298329A (zh) | 一种模型训练方法、装置、设备及存储介质 | |
US12026487B2 (en) | Method for optimizing program using reinforcement learning |
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 |