机器学习模型的搜索方法及相关装置、设备制造方法及图纸

技术编号:24208931 阅读:42 留言:0更新日期:2020-05-20 15:56
本发明专利技术实施例公开了一种机器学习模型的搜索方法及相关装置、设备,具体涉及人工智能技术领域,该方法在进行模型的搜索和量化之前,根据待量化模型生成多个纯比特模型,进而获取到多个纯比特模型中每一层层结构的评价参数,进而,在从候选集中选择一个候选模型进行训练和测试,得到目标模型之后,可以基于目标模型的网络结构和目标模型中每一层层结构的评价参数确定出该目标模型中每一层层结构的量化权重,从而对目标模型中量化权重最大的层结构进行量化,将量化得到的模型添加进候选集,可以减少与终端的频繁信息交互,提高模型搜索和模型量化的效率。

Search method of machine learning model and related devices and equipment

【技术实现步骤摘要】
机器学习模型的搜索方法及相关装置、设备
本专利技术涉及终端
,尤其涉及一种机器学习模型的搜索方法及相关装置、设备。
技术介绍
随着深度学习的高速发展,深度神经网络在图像、语音、文本的分类、识别等领域广泛应用。深度神经网络的网络结构通常复杂、推理时间长、运行需要占用大量的内存。由于移动终端的处理器计算能力和存储器存储资源的限制,导致,深度神经网络无法应用到移动终端。因此,如何将计算量与日俱增的深度学习模型部署在移动终端上是目前亟待解决的难题。对深度神经网络进行混合比特量化是解决这一问题的一种高效解决方案。混合比特量化是指,将原本用32bit的浮点存储的模型参数通过成不同低比特(包括1bit,2bit,4bit等等)的定点存储,进而减少深度神经网络在移动终端运行的内存大小,推理时间和功耗等。现有技术提出了一种将混合比特量化和神经网络架构搜索(neuralarchitecturesearch,NAS)结合对模型进行加速的方法,其原理是:步骤S1,从待量化模型的第一层开始逐层利用强化学习决策器预测出每一层的量化方式(可选方案为1至8bit,实际使用2至8bit);步骤S2,当其预测确定第k层的量化方案后,会在硬件上计算当前量化模型的推理时间(ROM大小或者功耗)。如果不满足要求,则从第一层往后顺序减少已量化层的bit数(比如第一层是7bit量化方案,则减少为6bit),直至满足要求;步骤S3,将步骤S2得到的模型进行训练,得到基于准确率的回报函数,放入步骤S1中的强化学习决策器中,进行下一层的量化方案选择,直到模型全部量化,得到最终混合比特量化模型。然而,上述对待量化模型的量化和搜索过程中,设备需要在训练过程中不断与移动终端通讯,获取当前模型性能,且量化是逐层进行,这样会增加模型搜索的耗时,导致模型的量化和搜索效率低。
技术实现思路
本专利技术实施例提供一种机器学习模型的搜索方法及相关装置、设备,以解决模型的量化和搜索过程中效率低的问题。第一方面,本专利技术实施例提供了一种机器学习模型的搜索方法,包括:计算设备根据待量化模型生成M个纯比特模型,获取所述M个纯比特模型中每一层层结构的N个评价参数,该M个纯比特模型中每一层层结构的N个评价参数是由移动终端在运行所述M个纯比特模型时测量得到的;进而,执行至少一次模型搜索,输出所述N个评价参数和所述准确率都满足要求的模型;其中,模型搜索的过程包括:通过第一数据集对从候选集中选择出的候选模型进行训练和测试,得到目标模型和该目标模型的准确率;在目标模型的N个评价参数中存在至少一个评价参数不满足要求且该目标模型的准确率大于目标阈值的情况下,根据M个纯比特模型中每一层层结构的N个评价参数获取该目标模型中每一层层结构的N个评价参数,根据目标模型的网络结构和目标模型中每一层层结构的N个评价参数确定该目标模型中每一层层结构的量化权重,进而,对该目标模型中量化权重最大的层结构进行量化,将量化得到的模型添加至候选集中。其中,上述纯比特模型和待量化模型为网络结构相同的深度神经网络,M为大于1的正整数;候选集包括至少一个候选模型;候选模型是与待量化模型的网络结构相同的混合比特模型;第一数据集包括多个样本,用于训练和测试所述候选集中的候选模型。应理解,上述计算设备可以是服务器、云端或分布式计算系统等。上述方法,在对模型量化和模型搜索之前,根据待量化模型生成多个纯比特模型,进而获取到多个纯比特模型中每一层层结构的评价参数,进而,在从候选集中选择一个候选模型进行训练和测试,得到目标模型之后,可以基于目标模型的网络结构和目标模型中每一层层结构的评价参数确定出该目标模型中每一层层结构的量化权重,从而对目标模型中量化权重最大的层结构进行量化,将量化得到的模型添加进候选集,可以减少与终端的频繁信息交互,提高模型搜索和模型量化的效率。结合第一方面,在一种可能的实现方式中,该N个评价参数包括推理时间和参数量,计算设备根据所述目标模型的网络结构和目标模型中每一层层结构的N个评价参数,确定目标模型中每一层层结构的量化权重的一种实现方式可以是:若目标模型的推理时间大于目标推理时间且目标模型的参数量不大于目标参数量,则根据目标模型中的层结构i的推理时间和层结构i的权重确定目标模型中的层结构i的量化权重;若目标模型的推理时间不大于目标推理时间且目标模型的参数量大于目标参数量,则根据目标模型中的层结构i的参数量和层结构i的权重确定目标模型中的层结构i的量化权重;若目标模型的推理时间大于目标推理时间且目标模型的参数量大于目标参数量,则根据目标模型中的层结构i的推理时间、目标模型中的层结构i的参数量和层结构i的权重确定所述目标模型中的层结构i的量化权重。应理解,i为目标模型中层结构的索引,i为正整数,i不大于目标模型中层结构的总层数,目标模型中层结构的总层数与待评估模型中的层结构的总层数相同。上述方法,在目标模型的推理时间不满足要求且参数量满足要求的情况下,在确定目标模型的层结构的量化权重时主要考虑其层结构的推理时间;在目标模型的推理时间满足要求且参数量不满足要求的情况下,在确定目标模型的层结构的量化权重时主要考虑其层结构的参数量;而在目标模型的推理时间和推理时间都不满足要求的情况下,在确定目标模型的层结构的量化权重时同时考虑其层结构的推理时间和推理时间,进而,使得量化可以向推理时间和参数量都满足要求的方向进行,进一步提高搜索和量化的效率。可选地,目标模型中层结构i的量化权重Pi为:其中,α、β分别为推理时间和参数量的权重;Oi为层结构i的权重,Li为层结构i的推理时间或为层结构i的推理时间与目标模型的推理时间的比值;Ri为层结构i的参数量或层结构i的参数量与目标模型的参数量的比值;T为目标模型的推理时间与目标推理时间的比值,M为目标模型的参数量与目标参数量的比值。其中,目标模型的推理时间为目标模型中的每一层层结构的推理时间之和;目标模型的参数量为目标模型中的每一层层结构的参数量之和。可选地,层结构i的权重与层结构i在目标模型中的位置有关,越靠近目标模型的输入层的层结构具有较小的权重,而越靠近目标模型的输出层的层结构具有较大的权重。上述方法,在确定目标模型中层结构的量化权重时,考虑了层结构在模型中的位置对模型的准确度的重要性,尽量避免对靠近输入层的层结构进行更低比特的量化,保证模型的准确度,提高搜索和量化的效率。结合第一方面,在又一种可能的实现方式中,在通过第一数据集对从候选集中选择出的候选模型进行训练和测试之前,还可以从候选集中选择一个模型,从候选集中选择一个模型的具体实现方式可以是:计算设备通过第二数据集对候选集中每一个候选模型进行训练和测试,得到候选集中每一个候选模型的测验准确率,第二数据集中的样本的数量小于第一数据集中的样本的数量;进而,根据每一个候选模型的测验准确率和每一个候选模型的权重从所述候选集中选择一个候选模型。可选地,候选模型的权重是根据候选模型被添加到候选集时模型搜索的总本文档来自技高网
...

【技术保护点】
1.一种机器学习模型的搜索方法,其特征在于,包括:/n根据待量化模型生成M个纯比特模型,其中,所述纯比特模型和所述待量化模型为网络结构相同的深度神经网络,M为大于1的正整数;/n获取所述M个纯比特模型中每一层层结构的N个评价参数,所述M个纯比特模型中每一层层结构的N个评价参数是由移动终端在运行所述M个纯比特模型时测量得到的;/n执行至少一次模型搜索,输出所述N个评价参数和所述准确率都满足要求的模型;/n其中,所述模型搜索的过程包括:/n通过第一数据集对从候选集中选择出的候选模型进行训练和测试,得到目标模型和所述目标模型的准确率;所述候选集包括至少一个候选模型;所述候选模型是与所述待量化模型的网络结构相同的混合比特模型;所述第一数据集包括多个样本,用于训练和测试所述候选集中的候选模型;/n在所述目标模型的N个评价参数中存在至少一个评价参数不满足要求且所述目标模型的准确率大于目标阈值的情况下,根据所述M个纯比特模型中每一层层结构的N个评价参数获取所述目标模型中每一层层结构的N个评价参数,根据所述目标模型的网络结构和所述目标模型中每一层层结构的N个评价参数确定所述目标模型中每一层层结构的量化权重,对所述目标模型中量化权重最大的层结构进行量化,将量化得到的模型添加至所述候选集中。/n...

【技术特征摘要】
1.一种机器学习模型的搜索方法,其特征在于,包括:
根据待量化模型生成M个纯比特模型,其中,所述纯比特模型和所述待量化模型为网络结构相同的深度神经网络,M为大于1的正整数;
获取所述M个纯比特模型中每一层层结构的N个评价参数,所述M个纯比特模型中每一层层结构的N个评价参数是由移动终端在运行所述M个纯比特模型时测量得到的;
执行至少一次模型搜索,输出所述N个评价参数和所述准确率都满足要求的模型;
其中,所述模型搜索的过程包括:
通过第一数据集对从候选集中选择出的候选模型进行训练和测试,得到目标模型和所述目标模型的准确率;所述候选集包括至少一个候选模型;所述候选模型是与所述待量化模型的网络结构相同的混合比特模型;所述第一数据集包括多个样本,用于训练和测试所述候选集中的候选模型;
在所述目标模型的N个评价参数中存在至少一个评价参数不满足要求且所述目标模型的准确率大于目标阈值的情况下,根据所述M个纯比特模型中每一层层结构的N个评价参数获取所述目标模型中每一层层结构的N个评价参数,根据所述目标模型的网络结构和所述目标模型中每一层层结构的N个评价参数确定所述目标模型中每一层层结构的量化权重,对所述目标模型中量化权重最大的层结构进行量化,将量化得到的模型添加至所述候选集中。


2.如权利要求1所述的方法,其特征在于,所述N个评价参数包括推理时间和参数量,所述根据所述目标模型的网络结构和所述目标模型中每一层层结构的N个评价参数,确定所述目标模型中每一层层结构的量化权重,具体包括:
若所述目标模型的推理时间大于目标推理时间且所述目标模型的参数量不大于目标参数量,则根据所述目标模型中的层结构i的推理时间和所述层结构i的权重确定所述目标模型中的层结构i的量化权重,i为目标模型中层结构的索引,i为正整数;
若所述目标模型的推理时间不大于目标推理时间且所述目标模型的参数量大于目标参数量,则根据所述目标模型中的层结构i的参数量和所述层结构i的权重确定所述目标模型中的层结构i的量化权重;
若所述目标模型的推理时间大于目标推理时间且所述目标模型的参数量大于目标参数量,则根据所述目标模型中的层结构i的推理时间、所述目标模型中的层结构i的参数量和所述层结构i的权重确定所述目标模型中的层结构i的量化权重。


3.如权利要求1所述的方法,其特征在于,所述通过第一数据集对从候选集中选择出的候选模型进行训练和测试之前,所述模型搜索的过程还包括:
通过第二数据集对所述候选集中每一个候选模型进行训练和测试,得到所述候选集中每一个候选模型的测验准确率,所述第二数据集中的样本的数量小于所述第一数据集中的样本的数量;
根据所述每一个候选模型的测验准确率和所述每一个候选模型的权重从所述候选集中选择一个候选模型。


4.如权利要求3所述的方法,其特征在于,所述候选模型的权重是根据所述候选模型被添加到候选集时模型搜索的总次数和当前模型搜索的总次数确定的。


5.如权利要求1-4任一项所述的方法,其特征在于,所述对所述目标模型中量化权重最大的层结构进行量化,具体包括:
将所述目标模型中量化权重最大的层结构中模型参数分别转换由至少一个比特数表示的模型参数,所述至少一个比特数为比特数集合中比所述目标模型中量化权重最大的层结构的模型参数的当前比特数低的比特数,所述比特数集合包括M个数值,所述M个数值分别用于指示所述M个纯比特模型中模型参数的比特数。


6.如权利要求1-5任一项所述的方法,其特征在于,所述模型搜索的过程还包括:
在所述目标模型的准确率小于所述目标阈值的情况下,从所述候选集中重新选择一个模型,执行所述模型搜索。


7.如权利要求1-6任一项所述的方法,其特征在于,所述N个评价参数包括推理时间,所述获取所述M个纯比特模型中每一层层结构的N个评价参数,包括:
将所述M个纯比特模型发送至移动终端,以使所述移动终端运行所述M个纯比特模型和测量所述M个纯比特模型中每一层层结构的推理时间;
接收所述移动终端发送的所述M个纯比特模型中每一层层结构的推理时间。


8.如权利要求1-7任一项所述的方法,其特征在于,在第一次模型搜索时,所述候选集包括所述M个纯比特模型中比特数最高的纯比特模型。


9.一种机器学习模型的搜索装置,其特征在于,包括:
生成模块,用于根据待量化模型生成M个纯比特模型,其中,所述纯比特模型和所述待量化模型为网络结构相同的深度神经网络,M为大于1的正整数;
参数获取模块,用于获取所述M个纯比特模型中每一...

【专利技术属性】
技术研发人员:俞清华刘默翰隋志成周力白立勋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1