CN116341634B - 神经结构搜索模型的训练方法、装置及电子设备 - Google Patents
神经结构搜索模型的训练方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116341634B CN116341634B CN202211447618.3A CN202211447618A CN116341634B CN 116341634 B CN116341634 B CN 116341634B CN 202211447618 A CN202211447618 A CN 202211447618A CN 116341634 B CN116341634 B CN 116341634B
- Authority
- CN
- China
- Prior art keywords
- neural network
- network element
- element structure
- reasoning
- neural
- 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.)
- Active
Links
- 230000001537 neural effect Effects 0.000 title claims abstract description 102
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012549 training Methods 0.000 title claims abstract description 56
- 238000013528 artificial neural network Methods 0.000 claims abstract description 218
- 238000012545 processing Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 12
- 230000002040 relaxant effect Effects 0.000 claims description 5
- 210000005036 nerve Anatomy 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了神经结构搜索模型的训练方法及装置、电子设备和存储介质,主要技术方案包括:将不同参数组合的神经网络元结构输入神经结构搜索模型,编译器模型包含多种编译器的硬件配置;获取神经网络元结构加载至编译器模型,确定不同的编译器硬件配置推理不同参数组合的神经网络元结构的推理时间,并获得神经网络元结构与推理时间的关联数据;根据神经网络元结构与推理时间的关联数据对神经结构搜索模型进行训练,以得到目标神经结构搜索模型。本申请在神经结构搜索模型中引入编译器模型,确定编译器模型中不同硬件配置编译器推理神经网络元结构的推理时间,更准确的获得神经网络元结构和推理速度(推理时间)之间的关系。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种神经结构搜索模型的训练方法、装置、电子设备和存储介质。
背景技术
神经结构搜索(Neural architecture search,NAS)旨在以一种自动化的方式,解决高难度的复杂神经网络设计问题,应用中根据专家预先定义的搜索空间(searchspace),基于神经结构搜索算法在一个庞大的神经网络集合中评估结构性能并寻找到表现最佳的网络结构。
原始的NAS过程非常耗时,通常需要数千个图形处理器(Graphic ProcessingUnit)来进行训练和验证,并且对于大型数据集的可扩展性很差。为了降低计算成本,可通过权重共享的方式实现,即训练一个大型的“超级网络”或简称超网络,它涵盖了多个选项,而不是并行训练数千个不同的网络。通过不断放宽搜索空间以采用基于梯度的优化方法,继续完善其适用性。
上述方法从搜索速度和适用性对NAS进行优化,但该些方法都没有针对神经网络的推理时间进行相应的优化,因此,完善NAS的推理时间的优化是目前亟需解决的问题。
发明内容
本申请提供了一种神经结构搜索模型的训练方法、装置、电子设备和存储介质。主要目的在于引入编译器模型,更准确的获得神经网络元结构和推理时间之间的关系,根据推理时间对神经结构搜索模型进行训练,以更准确的获取神经网络元结构和推理速度之间的关系。
根据本申请的第一方面,提供了一种神经结构搜索模型的训练方法,其中,包括:
将不同参数组合的神经网络元结构输入神经结构搜索模型,所述神经结构搜索模型根据编译器模型及神经网络元结构建立,所述编译器模型包含多种编译器的硬件配置;
获取所述神经网络元结构加载至所述编译器模型,确定不同的编译器硬件配置推理所述不同参数组合的神经网络元结构的推理时间,并获得神经网络元结构与所述推理时间的关联数据;
根据所述神经网络元结构与推理时间的关联数据对所述神经结构搜索模型进行训练,以得到目标神经结构搜索模型。
在本实施例一种可能的实现方式中,在将不同参数组合的神经网络元结构输入神经结构搜索模型之后,所述方法还包括:
对所述神经网络元结构中的各个神经网络层进行编码处理;
对所述神经网络元结构进行编码处理,得到目标神经网络元结构。
在本实施例一种可能的实现方式中,所述获取所述神经网络元结构加载至所述编译器模型,确定不同的编译器硬件配置推理所述不同参数组合的神经网络元结构的推理时间包括:
将所述目标神经网络元结构输入所述编译器模型,由所述编译器模型根据接收到的目标神经网络元结构的不同参数组合与不同的硬件配置进行排列组合;
根据排列组合的结果,依次将所述神经网络元结构加载至所述不同硬件配置的编译器中;
记录运行所述神经网络元结构的推理开始时间,以及记录运行所述神经网络元结构的推理结束时间;
根据所述推理开始时间及所述推理结束时间,获取完成推理的所述推理时间。
在本实施例一种可能的实现方式中,所述获得神经网络元结构与所述推理时间的关联数据包括:
建立所述推理时间与所述神经网络元结构之间的关联关系,得到所述神经网络元结构与所述推理时间的关联数据。
在本实施例一种可能的实现方式中,所述方法还包括:
基于神经网络元结构和编译器模型构建所述神经结构搜索模型,以获得神经网络和推理速度之间的非线性关系。
在本实施例一种可能的实现方式中,所述根据所述神经网络元结构与推理时间的关联数据对所述神经结构搜索模型进行训练,以得到目标神经结构搜索模型包括:
在搜索空间中定义基础单元,所述基础单元中包含预设数量的节点;
获取所述神经结构元结构与所述推理时间的关联数据的特征向量;
基于所述特征向量对所述搜索空间连续松弛化,对所述预设数量的节点之间的路径子操作进行混合;
对所述路径子操作混合概率的路径参数和无关的网络参数进行优化;
基于预设损失函数对所述特征向量进行损失处理,并根据损失处理的结果获取概率最大的路径子操作,所述预设损失函数包含针对所述神经网络元结构的损失函数,以及编译器的精度损失函数。
根据本申请的第二方面,提供了一种神经结构搜索模型的训练装置,包括:
输入单元,用于将不同参数组合的神经网络元结构输入神经结构搜索模型,所述神经结构搜索模型根据编译器模型及神经网络元结构建立,所述编译器模型包含多种编译器的硬件配置;
第一获取单元,用于获取所述神经网络元结构加载至所述编译器模型,确定不同的编译器硬件配置推理所述不同参数组合的神经网络元结构的推理时间;
第二获取单元,用于获得神经网络元结构与所述推理时间的关联数据;
训练单元,用于根据所述神经网络元结构与推理时间的关联数据对所述神经结构搜索模型进行训练,以得到目标神经结构搜索模型。
在本实施例一种可能的实现方式中,所述装置还包括:
编码单元,用于在将不同参数组合的神经网络元结构输入神经结构搜索模型之后,对所述神经网络元结构中的各个神经网络层进行编码处理;
所述编码单元,还用于对所述神经网络元结构进行编码处理,得到目标神经网络元结构。
在本实施例一种可能的实现方式中,所述第一获取单元包括:
输入模块,用于将所述目标神经网络元结构输入所述编译器模型,由所述编译器模型根据接收到的目标神经网络元结构的不同参数组合与不同的硬件配置进行排列组合;
加载模块,用于根据排列组合的结果,依次将所述神经网络元结构加载至所述不同硬件配置的编译器中;
记录模块,用于记录运行所述神经网络元结构的推理开始时间,以及记录运行所述神经网络元结构的推理结束时间;
获取模块,用于根据所述推理开始时间及所述推理结束时间,获取完成推理的所述推理时间。
在本实施例一种可能的实现方式中,所述第二获取单元,还用于建立所述推理时间与所述神经网络元结构之间的关联关系,得到所述神经网络元结构与所述推理时间的关联数据。
在本实施例一种可能的实现方式中,所述装置还包括:
搭建单元,用于基于神经网络元结构和编译器模型构建所述神经结构搜索模型,以获得神经网络和推理时间之间的非线性关系。
在本实施例一种可能的实现方式中,所述训练单元包括:
定义模块,用于在搜索空间中定义基础单元,所述基础单元中包含预设数量的节点;
获取模块,用于获取所述神经结构元结构与所述推理时间的关联数据的特征向量;
处理模块,用于基于所述特征向量对所述搜索空间连续松弛化,对所述预设数量的节点之间的路径子操作进行混合;
优化模块,用于对所述路径子操作混合概率的路径参数和无关的网络参数进行优化;
训练模块,用于基于预设损失函数对所述特征向量进行损失处理,并根据损失处理的结果获取概率最大的路径子操作,所述预设损失函数包含针对所述神经网络元结构的损失函数,以及编译器的精度损失函数。
根据本申请的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面所述的方法。
根据本申请的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行前述第一方面所述的方法。
根据本申请的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如前述第一方面所述的方法。
本申请提供的神经结构搜索模型的训练方法、装置、电子设备和存储介质,将不同参数组合的神经网络元结构输入神经结构搜索模型,所述神经结构搜索模型根据编译器模型及神经网络元结构建立,所述编译器模型包含多种编译器的硬件配置;获取所述神经网络元结构加载至所述编译器模型,确定不同的编译器硬件配置推理所述不同参数组合的神经网络元结构的推理时间,并获得神经网络元结构与所述推理时间的关联数据;根据所述神经网络元结构与推理时间的关联数据对所述神经结构搜索模型进行训练,以得到目标神经结构搜索模型。与相关技术相比,本申请实施例在神经结构搜索模型中引入编译器模型,确定编译器模型中不同硬件配置编译器推理神经网络元结构的推理时间,更准确的获得神经网络元结构和推理速度(推理时间)之间的关系。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例所提供的一种神经结构搜索模型的训练方法的流程示意图;
图2为本申请实施例所提供的一种神经结构搜索模型的结构示意图;
图3为本申请实施例所提供的一种元结构与编译器的硬件配置的组合的结构示意图;
图4为本申请实施例所提供的一种获取推理时间的方法流程示意图;
图5为本申请实施例所提供的一种根据元结构与推理时间的关联数据进行神经网络搜索方法的流程示意图;
图6为本申请实施例提供的一种神经结构搜索模型的训练装置的结构示意图;
图7为本申请实施例提供的另一种神经结构搜索模型的训练装置的结构示意图;
图8为本申请实施例提供的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本申请实施例的神经结构搜索模型的训练方法、装置、电子设备和存储介质。
图1为本申请实施例所提供的一种神经结构搜索模型的训练方法的流程示意图。
如图1所示,该方法包含以下步骤:
步骤101,将不同参数组合的神经网络元结构输入神经结构搜索模型,所述神经结构搜索模型根据编译器模型及神经网络元结构建立,所述编译器模型中包含多种编译器的硬件配置。
本申请实施例提供一种新型的神经结构搜索方法,该方法应用于神经结构搜索模型中,以针对神经网络元结构的推理时间和编译器进行相应的优化。
为了便于对神经结构搜索模型进行理解,图2为本申请实施例所提供的一种神经结构搜索模型的结构示意图,该神经结构搜索模型基于神经网络元结构及编译器模型建模,用以建模编译器的硬件配置与神经网络元结构的推理速度之间的关系。
在搭建神经结构搜索模型完成后,使用多个预训练模型并通过增减其中卷积层、最大池化层、批处理层等标准神经网络微结构的尺度来获得大量神经网络元结构,将获取的神经网络元结构输入神经结构搜索模型中进行训练。
在不同硬件配置的编译器上进行推理运行,从而获得不同参数组合的神经网络元结构与推理时间之间的关联数据。在推理时需通过Log日志的方式获得神经网络元结构在编译器的运行时间,基于这些数据我们进行数据建模。
步骤102,获取所述神经网络元结构加载至所述编译器模型,确定不同的编译器硬件配置推理所述不同参数组合的神经网络元结构的推理时间,并获得神经网络元结构与所述推理时间的关联数据。
编译器模型中包含多种编译器的硬件配置,将神经网络元结构加载至所述编译器模型的目的在于,确定神经网络元结构分别与不同编译器的硬件配置进行组合时,进而确定神经网络元结构在不同编译器的硬件配置的编译器上推理运行的推理时间。为了便于对神经网络元结构与编译器的硬件配置的组合进行理解,如图3所示,图3为本申请实施例所提供的一种元结构与编译器的硬件配置的组合的结构示意图,假设,元结构包含3个,分别为元结构1、元结构2及元结构,编译器模型中包含3种硬件配置,分别为硬件配置A、硬件配置B及硬件配置C,其组合方式有元结构1分别与硬件配置A、硬件配置B及硬件配置C进行组合,元结构2分别与硬件配置A、硬件配置B及硬件配置C,元结构3分别与硬件配置A、硬件配置B及硬件配置C进行组合,共得到9中组合方式。具体的,本申请实施例对神经网络元结构与编译器的硬件配置的组合不做限定。
基于上述神经网络元结构与编译器的硬件配置的组合,将神经网络元结构输入到组合后的编译器上进行推理,得到在该编译器上的推理时间;实际应用中不同参数组合神经网络元结构与编译器的硬件配置的组合数量较多,因此需要依次执行依次推理时间的确认,并获得每个参数组合的神经网络元结构推理时间的关联关系。
步骤103,根据所述神经网络元结构与推理时间的关联数据对所述神经结构搜索模型进行训练,以得到目标神经结构搜索模型。
执行神经结构搜索模型训练的过程,就是执行神经网络搜索的过程,执行中采用类似于先前工作的分层搜索,具体来说,它由三个阶段组成:微架构搜索、宏架构搜索和所选架构的训练。本申请实施例涉及前两个阶段,第一阶段使用单个单元的模型搜索层类型和连接和固定的通道尺寸;在得到最优候选单元格后,宏观架构阶段构建具有k个顺序单元的模型并使用Dmasking NAS方式进行搜索,逐个搜索最佳通道尺寸方法。在这两个阶段,每个架构决策由概率建模维数m的单纯形等于选择的数量,参数化为Gumbel-Softmax,有关Dmasking NAS、Gumbel-Softmax参数化的实现过程,可参阅相关技术的说明,本申请实施例对此不再进行限定。
需要说明的是,在训练过程中还在损失中加入了硬件使用效率,提升了搜索出的神经网络元结构的实用性。
本申请提供的神经结构搜索模型的训练方法,将不同参数组合的神经网络元结构输入神经结构搜索模型,所述神经结构搜索模型根据编译器模型及神经网络元结构建立,所述编译器模型包含多种编译器的硬件配置;获取所述神经网络元结构加载至所述编译器模型,确定不同的编译器硬件配置推理所述不同参数组合的神经网络元结构的推理时间,并获得神经网络元结构与所述推理时间的关联数据;根据所述神经网络元结构与推理时间的关联数据对所述神经结构搜索模型进行训练,以得到目标神经结构搜索模型。与相关技术相比,本申请实施例在神经结构搜索模型中引入编译器模型,确定编译器模型中不同硬件配置编译器推理神经网络元结构的推理时间,更准确的获得神经网络元结构和推理速度(推理时间)之间的关系。
由上述实施例可知,神经结构搜索模型中引入编译器模型,为了将神经网络元结构与编译器进行融合,在
在本实施例一种可能的实现方式中,将神经网络元结构输入神经结构搜索模型之后,对所述神经网络元结构中的各个神经网络层进行编码处理,对所述神经网络元结构进行编码处理,得到目标神经网络元结构。在对神经网络元结构的各个层进行编码处理时,可以采用任意形式的编码,本申请实施例采用0/1编码的方式。同样的,在对神经网络元结构进行编码时也采用同样的编码方式。具体的,本申请实施例对编码方式不进行限定,具体可参阅芯片编译器中所支持的编译类型。
本申请实施例除了对神经网络元结构中的各个神经网络层及神经网络元结构编码外,还需要对编译器的不同硬件配置的配列组合进行编码,即对于编译器的矩阵平铺大小和循环展开,对编译器硬件配置进行排列组合,并对组合出的结果进行0/1编码。需要说明的是,对各个神经网络层、神经网络元结构及编译器硬件配置进行编码时,需采用同一种编码方式,具体的编码方式本申请实施例不做限定。
图4为本申请实施例所提供的一种获取推理时间的方法流程示意图,包括:
步骤201,将所述目标神经网络元结构输入所述编译器模型,由所述编译器模型根据接收到的目标神经网络元结构的不同参数组合与不同的硬件配置进行排列组合。
有关编译器模型的说明,请参阅图3相关的说明,本申请实施例在此不再进行赘述。
步骤202,根据排列组合的结果,依次将所述神经网络元结构加载至所述不同硬件配置的编译器中。
呈由图3的示例,在获取神经网络元结构加载至编译器模型,完成推理运行的推理时间时,要依次计算9次推理时间,例如,获取元结构1运行与编译器的硬件配置A的推理运行的推理时间,获取元结构1运行与编译器的硬件配置B的推理运行的推理时间,以此类推,得到(元结构/编译器硬件配置->推理时间)的一系列数据,该数据为元结构与推理时间的关联数据。
需要说明的是,以上示例仅为便于理解给出的示例性说明,并不代表对神经网络元结构、编译器模型及硬件配置的限定,本申请实施例可针对不同的应用场景或训练需求对神经网络元结构、编译器模型及硬件配置进行按需配置。
步骤203,记录运行所述神经网络元结构的推理开始时间,以及记录运行所述神经网络元结构的推理结束时间。
在记录神经网络编译器的运行时间时,可以采用但不限于通过Log日志的方式,所述Log日志是指在运行一个元结构在特定编译器硬件配置下,通过脚本的方式,自动记录运行推理的开始时间、中间的硬件处理信息和结束时间。
步骤204,根据所述推理开始时间及所述推理结束时间,获取完成推理运行的所述推理时间。
通过计算步骤203记录得到的开始和结束时间的差值,可获得推理时间。
进一步地,在本实施例一种可能的实现方式中,在基于图4所示的方法获得推理时间后,建立推理时间与神经网络元结构之间的关联关系,通过该关联关系得到神经网络元结构与推理时间的关联数据,该关联数据可作为神经网络搜索的搜索策略在搜索空间执行神经网络搜索。
进一步地,在本实施例一种可能的实现方式中,基于神经网络元结构和编译器模型构建所述神经结构搜索模型,以获得神经网络和推理速度之间的非线性关系。在具体应用过程中,神经结构搜索模型中除了包含神经网络元结构和编译器模型外,建模使用一个两层的多层感知器(Multi-Layer Perception,MLP),后接50%的dropout层和回归层,以建模硬件配置与推理速度之间的关系。具体的,本申请实施例对神经结构搜索模型层数设定不进行限定。
图5为本申请实施例所提供的一种根据元结构与推理时间的关联数据进行神经网络搜索方法的流程示意图,所述方法包括:
步骤301,在搜索空间中定义基础单元,所述基础单元中包含预设数量的节点。
在神经结构搜索模型的搜索空间内定义了一个基础单元,示例性的,该基础单元可看成有向无环图,里面N个节点,节点与节点之间的路径子操作代表可能的操作(示例性的:3*3卷积),需要说明的是上述基础单元仅为示例性的距离,具体有关基础单元的定义需结合实际需求进行设定。
步骤302,获取所述元结构与推理时间的关联数据的特征向量;
步骤303,基于所述特征向量对所述搜索空间连续松弛化,对预设数量的节点之间的路径子操作进行混合。
把步骤302的搜索空间连续松弛化,每个路径子操作看成是所有子操作的混合,每个路径子操作对应不同权值。
步骤304,对路径子操作混合概率的路径参数和无关的网络参数进行优化。
对路径子操作混合概率的路径参数和无关的网络参数进行联合优化,更新子操作混合概率上的路径超参和架构无关的网络参数,该优化过程为一迭代优化的过程,具体优化次数根据训练的具体场景进行设定,本申请实施例对此不进行限定。
步骤305,基于预设损失函数对所述特征向量进行损失处理,并根据损失处理的结果获取概率最大的路径子操作,所述预设损失函数包含针对所述神经网络元结构的损失函数,以及编译器的精度损失函数。
本申请实施例所述的预设损失函数如下:
L(x,y,α)=Lclassification(fα(x),y)+β·Lcompiler(α)
其中,Lclassification以Classification分类为示例任务,可替换为其他任务的损失。分类任务可选用交叉熵损失,β为基于经验设计的函数,可以调整编译器损失对于网络搜索的影响强度;α代表候选的神经网络,Lcompiler为编译器的精度损失函数。
与上述的神经结构搜索模型的训练方法相对应,本发明还提出一种神经结构搜索模型的训练装置。由于本发明的装置实施例与上述的方法实施例相对应,对于装置实施例中未披露的细节可参照上述的方法实施例,本发明中不再进行赘述。
图6为本申请实施例提供的一种神经结构搜索模型的训练装置的结构示意图,如图6所示,包括:
输入单元41,用于将不同参数组合的神经网络元结构输入神经结构搜索模型,所述神经结构搜索模型根据编译器模型及神经网络元结构建立,所述编译器模型包含多种编译器的硬件配置;
第一获取单元42,用于获取所述神经网络元结构加载至所述编译器模型,确定不同的编译器硬件配置推理所述不同参数组合的神经网络元结构的推理时间;
第二获取单元43,用于获得神经网络元结构与所述推理时间的关联数据;
训练单元44,用于根据所述神经网络元结构与推理时间的关联数据对所述神经结构搜索模型进行训练,以得到目标神经结构搜索模型。
本申请提供的神经结构搜索模型的训练装置,将不同参数组合的神经网络元结构输入神经结构搜索模型,所述神经结构搜索模型根据编译器模型及神经网络元结构建立,所述编译器模型包含多种编译器的硬件配置;获取所述神经网络元结构加载至所述编译器模型,确定不同的编译器硬件配置推理所述不同参数组合的神经网络元结构的推理时间,并获得神经网络元结构与所述推理时间的关联数据;根据所述神经网络元结构与推理时间的关联数据对所述神经结构搜索模型进行训练,以得到目标神经结构搜索模型。与相关技术相比,本申请实施例在神经结构搜索模型中引入编译器模型,确定编译器模型中不同硬件配置编译器推理神经网络元结构的推理时间,更准确的获得神经网络元结构和推理速度(推理时间)之间的关系。
进一步地,在本实施例一种可能的实现方式中,如图7所示,所述装置还包括:
编码单元45,用于在将不同参数组合的神经网络元结构输入神经结构搜索模型之后,对所述神经网络元结构中的各个神经网络层进行编码处理;
所述编码单元45,还用于对所述神经网络元结构进行编码处理,得到目标神经网络元结构。
进一步地,在本实施例一种可能的实现方式中,如图7所示,所述第一获取单元42包括:
输入模块421,用于将所述目标神经网络元结构输入所述编译器模型,由所述编译器模型根据接收到的目标神经网络元结构的不同参数组合与不同的硬件配置进行排列组合;
加载模块422,用于根据排列组合的结果,依次将所述神经网络元结构加载至所述不同硬件配置的编译器中;
记录模块423,用于记录运行所述神经网络元结构的推理开始时间,以及记录运行所述神经网络元结构的推理结束时间;
获取模块424,用于根据所述推理开始时间及所述推理结束时间,获取完成推理的所述推理时间。
进一步地,在本实施例一种可能的实现方式中,所述第二获取单元43,还用于建立所述推理时间与所述神经网络元结构之间的关联关系,得到所述神经网络元结构与所述推理时间的关联数据。
进一步地,在本实施例一种可能的实现方式中,如图7所示,所述装置还包括:
搭建单元46,用于基于神经网络元结构和编译器模型构建所述神经结构搜索模型,以获得神经网络和推理时间之间的非线性关系。
进一步地,在本实施例一种可能的实现方式中,如图7所示,所述训练单元44包括:
定义模块441,用于在搜索空间中定义基础单元,所述基础单元中包含预设数量的节点;
获取模块442,用于获取所述神经网络元结构与所述推理时间的关联数据的特征向量;
处理模块443,用于基于所述特征向量对所述搜索空间连续松弛化,对预设数量的节点之间的路径子操作进行混合;
优化模块444,用于对路径子操作混合概率的路径参数和无关的网络参数进行优化;
训练模块445,用于基于预设损失函数对所述特征向量进行损失处理,并根据损失处理的结果获取概率最大的路径子操作,所述预设损失函数包含针对所述神经网络元结构的损失函数,以及编译器的精度损失函数。
需要说明的是,前述对方法实施例的解释说明,也适用于本实施例的装置,原理相同,本实施例中不再限定。
根据本申请的实施例,本申请还提供了一种电子设备、一种芯片、一种可读存储介质和一种计算机程序产品。
本申请还提供了一种芯片,包括一个或多个接口电路和一个或多个处理器;所述接口电路用于从电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括存储器中存储的计算机指令,当所述处理器执行所述计算机指令时,使得所述电子设备执行上述实施例所述的神经结构搜索模型的训练方法。
图8示出了可以用来实施本申请的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,设备500包括计算单元501,其可以根据存储在ROM(Read-OnlyMemory,只读存储器)502中的计算机程序或者从存储单元508加载到RAM(Random AccessMemory,随机访问/存取存储器)503中的计算机程序,来执行各种适当的动作和处理。在RAM503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。I/O(Input/Output,输入/输出)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于CPU(Central Processing Unit,中央处理单元)、GPU(Graphic Processing Units,图形处理单元)、各种专用的AI(Artificial Intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、DSP(Digital SignalProcessor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如神经结构搜索模型的训练方法。例如,在一些实施例中,神经结构搜索模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行前述神经结构搜索模型的训练方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application-Specific Integrated Circuit,专用集成电路)、ASSP(Application Specific StandardProduct,专用标准产品)、SOC(System On Chip,芯片上系统的系统)、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM(Electrically Programmable Read-Only-Memory,可擦除可编程只读存储器)或快闪存储器、光纤、CD-ROM(Compact Disc Read-Only Memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode-Ray Tube,阴极射线管)或者LCD(Liquid Crystal Display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:LAN(LocalArea Network,局域网)、WAN(Wide Area Network,广域网)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (11)
1.一种神经结构搜索模型的训练方法,其特征在于,包括:
将不同参数组合的神经网络元结构输入神经结构搜索模型,所述神经结构搜索模型根据编译器模型及神经网络元结构建立,所述编译器模型包含多种编译器的硬件配置;
基于神经网络元结构和编译器模型构建所述神经结构搜索模型,以获得神经网络和推理速度之间的非线性关系;
获取所述神经网络元结构加载至所述编译器模型,确定不同的编译器硬件配置推理所述不同参数组合的神经网络元结构的推理时间,并获得神经网络元结构与所述推理时间的关联数据;
根据所述神经网络元结构与推理时间的关联数据对所述神经结构搜索模型进行训练,以得到目标神经结构搜索模型;
所述获取所述神经网络元结构加载至所述编译器模型,确定不同的编译器硬件配置推理所述不同参数组合的神经网络元结构的推理时间包括:
将所述目标神经网络元结构输入所述编译器模型,由所述编译器模型根据接收到的目标神经网络元结构的不同参数组合与不同的硬件配置进行排列组合;
根据排列组合的结果,依次将所述神经网络元结构加载至所述不同硬件配置的编译器中;
记录运行所述神经网络元结构的推理开始时间,以及记录运行所述神经网络元结构的推理结束时间;
根据所述推理开始时间及所述推理结束时间,获取完成推理的所述推理时间。
2.根据权利要求1所述的方法,其特征在于,在将不同参数组合的神经网络元结构输入神经结构搜索模型之后,所述方法还包括:
对所述神经网络元结构中的各个神经网络层进行编码处理;
对所述神经网络元结构进行编码处理,得到目标神经网络元结构。
3.根据权利要求1所述的方法,其特征在于,所述获得神经网络元结构与所述推理时间的关联数据包括:
建立所述推理时间与所述神经网络元结构之间的关联关系,得到所述神经网络元结构与所述推理时间的关联数据。
4.根据权利要求1所述的方法,其特征在于,根据所述神经网络元结构与推理时间的关联数据对所述神经结构搜索模型进行训练,以得到目标神经结构搜索模型包括:
在搜索空间中定义基础单元,所述基础单元中包含预设数量的节点;
获取所述神经结构元结构与所述推理时间的关联数据的特征向量;
基于所述特征向量对所述搜索空间连续松弛化,对所述预设数量的节点之间的路径子操作进行混合;
对所述路径子操作混合概率的路径参数和无关的网络参数进行优化;
基于预设损失函数对所述特征向量进行损失处理,并根据损失处理的结果获取概率最大的路径子操作,所述预设损失函数包含针对所述神经网络元结构的损失函数,以及编译器的精度损失函数。
5.一种神经结构搜索模型的训练装置,其特征在于,包括:
输入单元,用于将不同参数组合的神经网络元结构输入神经结构搜索模型,所述神经结构搜索模型根据编译器模型及神经网络元结构建立,所述编译器模型包含多种编译器的硬件配置;
搭建单元,用于基于神经网络元结构和编译器模型构建所述神经结构搜索模型,以获得神经网络和推理时间之间的非线性关系;
第一获取单元,用于获取所述神经网络元结构加载至所述编译器模型,确定不同的编译器硬件配置推理所述不同参数组合的神经网络元结构的推理时间;
第二获取单元,用于获得神经网络元结构与所述推理时间的关联数据;
训练单元,用于根据所述神经网络元结构与推理时间的关联数据对所述神经结构搜索模型进行训练,以得到目标神经结构搜索模型;
所述第一获取单元包括:
输入模块,用于将所述目标神经网络元结构输入所述编译器模型,由所述编译器模型根据接收到的目标神经网络元结构的不同参数组合与不同的硬件配置进行排列组合;
加载模块,用于根据排列组合的结果,依次将所述神经网络元结构加载至所述不同硬件配置的编译器中;
记录模块,用于记录运行所述神经网络元结构的推理开始时间,以及记录运行所述神经网络元结构的推理结束时间;
获取模块,用于根据所述推理开始时间及所述推理结束时间,获取完成推理的所述推理时间。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
编码单元,用于在将不同参数组合的神经网络元结构输入神经结构搜索模型之后,对所述神经网络元结构中的各个神经网络层进行编码处理;
所述编码单元,还用于对所述神经网络元结构进行编码处理,得到目标神经网络元结构。
7.根据权利要求5所述的装置,其特征在于,所述第二获取单元,还用于建立所述推理时间与所述神经网络元结构之间的关联关系,得到所述神经网络元结构与所述推理时间的关联数据。
8.根据权利要求5所述的装置,其特征在于,所述训练单元包括:
定义模块,用于在搜索空间中定义基础单元,所述基础单元中包含预设数量的节点;
获取模块,用于获取所述神经结构元结构与所述推理时间的关联数据的特征向量;
处理模块,用于基于所述特征向量对所述搜索空间连续松弛化,对所述预设数量的节点之间的路径子操作进行混合;
优化模块,用于对所述路径子操作混合概率的路径参数和无关的网络参数进行优化;
训练模块,用于基于预设损失函数对所述特征向量进行损失处理,并根据损失处理的结果获取概率最大的路径子操作,所述预设损失函数包含针对所述神经网络元结构的损失函数,以及编译器的精度损失函数。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-4中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211447618.3A CN116341634B (zh) | 2022-11-18 | 2022-11-18 | 神经结构搜索模型的训练方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211447618.3A CN116341634B (zh) | 2022-11-18 | 2022-11-18 | 神经结构搜索模型的训练方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116341634A CN116341634A (zh) | 2023-06-27 |
CN116341634B true CN116341634B (zh) | 2024-07-09 |
Family
ID=86886327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211447618.3A Active CN116341634B (zh) | 2022-11-18 | 2022-11-18 | 神经结构搜索模型的训练方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116341634B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991429B (zh) * | 2023-09-28 | 2024-01-16 | 之江实验室 | 计算机程序的编译调优方法、装置和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111667056A (zh) * | 2020-06-05 | 2020-09-15 | 北京百度网讯科技有限公司 | 用于搜索模型结构的方法和装置 |
CN112116090A (zh) * | 2020-09-28 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 神经网络结构搜索方法、装置、计算机设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112381079A (zh) * | 2019-07-29 | 2021-02-19 | 富士通株式会社 | 图像处理方法和信息处理设备 |
CN113706290A (zh) * | 2021-08-30 | 2021-11-26 | 西安交通大学 | 在区块链上采用神经架构搜索的信用评估模型构建方法、系统、设备及存储介质 |
CN113988267A (zh) * | 2021-11-03 | 2022-01-28 | 携程旅游信息技术(上海)有限公司 | 用户意图识别模型的生成方法、用户意图识别方法和设备 |
-
2022
- 2022-11-18 CN CN202211447618.3A patent/CN116341634B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111667056A (zh) * | 2020-06-05 | 2020-09-15 | 北京百度网讯科技有限公司 | 用于搜索模型结构的方法和装置 |
CN112116090A (zh) * | 2020-09-28 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 神经网络结构搜索方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116341634A (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200097810A1 (en) | Automated window based feature generation for time-series forecasting and anomaly detection | |
CN111406267A (zh) | 使用性能预测神经网络的神经架构搜索 | |
KR20190117713A (ko) | 신경망 아키텍처 최적화 | |
CN110807515A (zh) | 模型生成方法和装置 | |
CN113361680B (zh) | 一种神经网络架构搜索方法、装置、设备及介质 | |
CN111667057B (zh) | 用于搜索模型结构的方法和装置 | |
CN114357105B (zh) | 地理预训练模型的预训练方法及模型微调方法 | |
US20190138929A1 (en) | System and method for automatic building of learning machines using learning machines | |
US11861469B2 (en) | Code generation for Auto-AI | |
KR102613367B1 (ko) | 딥러닝 모델 서빙 최적화를 위한 모델 자동 경량화 방법 및 장치, 이를 이용한 클라우드 추론 서비스 제공 방법 | |
CN112187554A (zh) | 一种基于蒙特卡洛树搜索的运维系统故障定位方法和系统 | |
CN111639753A (zh) | 用于训练超网络的方法、装置、设备以及存储介质 | |
JP2022160590A (ja) | 事前訓練済みモデルの決定方法及びその決定装置、電子機器並びに記憶媒体 | |
CN116341634B (zh) | 神经结构搜索模型的训练方法、装置及电子设备 | |
CN111966361A (zh) | 用于确定待部署模型的方法、装置、设备及其存储介质 | |
CN111652354B (zh) | 用于训练超网络的方法、装置、设备以及存储介质 | |
CN112580733A (zh) | 分类模型的训练方法、装置、设备以及存储介质 | |
CN113961765A (zh) | 基于神经网络模型的搜索方法、装置、设备和介质 | |
CN117371508A (zh) | 模型压缩方法、装置、电子设备以及存储介质 | |
CN114841282A (zh) | 预训练模型的训练方法、求解模型的生成方法及装置 | |
CN115222046A (zh) | 神经网络结构搜索方法、装置、电子设备及存储介质 | |
CN112580723B (zh) | 多模型融合方法、装置、电子设备和存储介质 | |
CN110782016A (zh) | 用于优化神经网络架构搜索的方法和装置 | |
CN110569973A (zh) | 网络结构的搜索方法、装置以及电子设备 | |
CN113657468A (zh) | 预训练模型的生成方法、装置、电子设备和存储介质 |
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 |