CN112529207A - 模型优化方法、装置、存储介质及设备 - Google Patents

模型优化方法、装置、存储介质及设备 Download PDF

Info

Publication number
CN112529207A
CN112529207A CN202010423371.6A CN202010423371A CN112529207A CN 112529207 A CN112529207 A CN 112529207A CN 202010423371 A CN202010423371 A CN 202010423371A CN 112529207 A CN112529207 A CN 112529207A
Authority
CN
China
Prior art keywords
search
model
optimization
operator
configuration information
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.)
Pending
Application number
CN202010423371.6A
Other languages
English (en)
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP20864854.3A priority Critical patent/EP4012630A4/en
Priority to PCT/CN2020/097973 priority patent/WO2021051920A1/zh
Publication of CN112529207A publication Critical patent/CN112529207A/zh
Priority to US17/694,970 priority patent/US20220197901A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种模型优化方法、装置、存储介质及设备,属于AI领域。在本申请实施例中,可以同时获取包含有多个搜索项的搜索配置信息,进而根据该搜索配置信息对多个搜索项分别对应的搜索算子进行编排,得到组合算子。这样,就可以根据该组合算子,对该原模型同时进行多个搜索项对应的优化。也即,本申请实施例可以实现同时对原模型的多个维度的联合优化,从而得到综合空间内的优化后的模型,提高了模型的性能。

Description

模型优化方法、装置、存储介质及设备
本申请要求于2019年9月17日提交的申请号为201910877331.6、申请名称为“一种自动搜索AI模型的方法及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及人工智能(artificial intelligence,AI)领域,特别涉及一种模型优化方法、装置、存储介质及设备。
背景技术
随着AI模型的应用越来越广泛,不同的应用场景对AI模型的性能要求也不相同,例如:对于应用于智能手机解锁的人脸识别模型,需要该人脸识别模型达到99.2%的准确度,以及较小的推理时延;对于应用于物体分类的模型,需要该分类模型准确率高于95%即可。AI模型的性能与AI模型的结构、模型的超参数、训练数据或推理数据、损失函数等具有强相关关系。
为了获得符合应用需求的AI模型,目前,相关技术中提供了各种AI平台,这些AI平台可以根据用户的需求,对生成的初始网络或者用户提供的原模型进行超参数搜索或网络结构调优等优化方式,以输出满足用户需求的AI模型。然而,这些AI平台在进行AI模型优化时,每次优化只提供单一的优化功能,即仅从一个方面进行模型的优化。
发明内容
本申请提供了一种模型优化方法,可以对初始的AI模型进行多个维度的联合优化,从而得到综合空间内的优化模型,提高了模型性能。所述技术方案如下:
第一方面,提供了一种模型优化方法,所述方法包括:获取用户的原模型和搜索配置信息,所述搜索配置信息包括多个搜索项,不同搜索项表示对所述原模型进行优化信息搜索的不同搜索类别;根据所述搜索配置信息,对多个搜索算子进行编排,得到组合算子,每个被编排的搜索算子与一个搜索项对应,搜索算子表示执行对应的搜索项使用的算法;根据所述组合算子,对所述原模型进行优化,获得优化后的模型。
在本申请实施例中,可以同时获取包含有多个搜索项的搜索配置信息,进而根据该搜索配置信息对多个搜索项分别对应的搜索算子进行编排,得到组合算子。这样,就可以根据该组合算子,对该原模型同时进行多个搜索项对应的优化。也即,本申请实施例可以实现同时对原模型的多个维度的联合优化,从而得到综合空间内的优化模型,提高了模型的性能。
可选地,上述搜索配置信息中的多个搜索项可以包括超参搜索、网络架构搜索、数据增强搜索、损失函数搜索、优化器搜索、模型压缩策略搜索中的至少两种。
其中,超参搜索是指通过超参搜索算法在一定的搜索空间内搜索符合原模型的超参。超参也称为超参数,是AI模型(例如:神经网络模型)中一些无法通过模型训练得到的参数,例如:超参包括学习率、迭代次数等参数。网络架构搜索是指基于演化算法、强化学习、可微分网络等算法,在给定的搜索空间中,搜索满足用户要求的网络架构,网络架构表示AI模型的基本结构。数据增强搜索是指根据指定的数据集搜索符合用户要求的数据增强策略,进而通过该数据增强策略对该数据集中的样本进行处理,数据增强策略是用于对训练数据、测试数据或者推理数据进行预处理的算法。通过处理后的数据集中的样本对AI模型进行训练、测试或推理,可以使得AI模型性能更优。损失函数搜索是指在给定的搜索空间内搜索符合用户需求的损失函数,损失函数用于对原模型进行训练时的模型优化。优化器搜索是指在给定的搜索空间内搜索符合要求的优化器,后续,通过该优化器进行模型参数的学习,可以使得AI模型的性能更优。模型压缩策略搜索是指在给定的搜索空间内搜索用于进行模型压缩的策略,以实现对AI模型的压缩裁剪。
可选地,根据所述搜索配置信息,对多个搜索算子进行编排,得到组合算子的实现过程可以为:根据所述搜索配置信息,确定所述多个搜索算子的运算顺序、运算次数或每次运算时的综合搜索空间;根据所述多个搜索算子的运算顺序、运算次数或每次运算时的综合搜索空间,生成所述组合算子。
其中,综合搜索空间是指将不同搜索项对应的搜索空间进行融合得到的搜索空间,也可以是指不同搜索项对应的搜索空间彼此相互影响后得到的各自的搜索空间。在本申请实施例中,通过确定多个搜索算子的运算顺序、运算次数和每次运算时的综合搜索空间得到最终的组合算子,这样,在根据该组合算子对原模型进行优化时,就可以在综合搜索空间内搜素该原模型的优化信息。也即,本申请实施例并不是在某个搜索项对应的单一搜索空间内进行搜索,而是根据组合算子在综合搜索空间内进行搜索,相当于是在综合搜索空间内寻求模型的优化信息,这样,根据得到的优化信息优化后的模型也是综合搜索空间内的优化模型,提高了优化后的模型的性能。
可选地,所述搜索配置信息还包括:搜索项信息和搜索模式,其中,每个搜索项对应各自的搜索项信息,所述搜索模式用于表示对所述原模型进行优化时所遵循的原则。
其中,该搜索项信息包括进行相应搜索项的搜索时所用到的一些信息,例如,该搜索项信息中可以包括相应搜索项的搜索算法和搜索空间等,该搜索空间限定了进行相应搜索时的搜索范围。所述搜索模式包括精度模式、速度模式、经济模式和资源模式中的任一种。
在本申请实施例中,通过搜索配置信息和搜索模式来限定选用的组合算子,从而使得模型的优化结果或过程更符合用户要求。
可选地,所述搜索配置信息由用户在图形用户界面GUI上进行输入或选择得到。
可选地,在根据所述组合算子,对所述原模型进行优化之前,还可以根据所述组合算子,预估对所述原模型进行优化的资源消耗;根据所述资源消耗,为执行对所述原模型进行优化的操作进行资源调度。
也即,本申请实施例根据组合算子进行运算时的资源消耗情况以及自身的资源使用情况,可以实现资源的自动调度。
可选地,在获取搜索配置信息的同时,本申请还可以获取评价指标,所述评价指标表示对所述原模型进行优化后应达到的性能目标;相应地,在根据所述组合算子,对所述原模型进行优化时,可以根据所述组合算子在综合搜索空间进行优化信息搜索,根据所述优化信息对所述原模型进行优化,获得优化后的模型,所述优化后的模型的性能满足所述评价指标。
在本申请实施例中,通过设定评价指标,可以输出性能符合要求的优化模型。其中,评价指标可以包括以下指标中的任意一种或多种:模型的准确率、模型的损失、模型的精确度、模型的召回率。当然,还可以为其他的评价指标,例如可以为用户自定义的指标,本申请实施例对此不作限定。
第二方面,本申请还提供了另一种模型优化方法,该方法包括:向用户提供配置界面,所述配置界面包括供所述用户选择的搜索项列表;获取原模型和搜索配置信息,所述搜索配置信息包括所述用户在所述搜索项列表中选择的多个搜索项,不同搜索项表示对所述原模型进行优化信息搜索的不同搜索类别;根据所述搜索配置信息对所述原模型进行优化;向所述用户提供优化后的模型。
在本申请实施例中,根据多个搜索项进行联合搜索,实现了同时对原模型的多个维度的联合优化,提高了模型的性能。另外,可以向用户提供配置界面,由用户来选择所要搜索的多个搜索项,以满足用户对于不同搜索项的联合搜索的需求。
可选地,所述用户在所述搜索项列表中选择的多个搜索项包括超参搜索、网络架构搜索、数据增强搜索、损失函数搜索、优化器搜索、模型压缩策略搜索中的至少两种。其中,各个搜索项所代表的含义可以参考前述第一方面中的相关介绍,本申请实施例在此不做赘述。
可选地,所述配置界面还包括搜索项信息配置页和搜索模式配置页,所述搜索配置信息还包括所述用户在所述配置界面配置的搜索项信息和搜索模式。
可选地,所述搜索模式用于表示对所述原模型进行优化时遵循的原则,所述搜索模式包括精度模式、速度模式、经济模式和资源模式中的任一种。
可选地,在根据所述搜索配置信息对所述原模型进行优化时,首先可以根据所述搜索配置信息,对多个搜索算子进行编排,得到组合算子;之后,根据所述组合算子,对所述原模型进行优化。
其中,组合算子表示对多个搜索算子之间或者每个搜索算子中每部分的运算顺序、运算次数以及每次运算时的综合搜索空间进行确定后生成的算子。综合搜索空间是指将不同搜索项对应的搜索空间进行融合得到的搜索空间,也可以是指不同搜索项对应的搜索空间彼此相互影响后得到的各自的搜索空间。根据组合算子对原模型进行优化可以实现在综合搜索空间内对原模型的优化信息的搜索,从而得到综合空间内的较优解,提高模型性能。
可选地,根据所述搜索配置信息,对多个搜索算子进行编排,得到组合算子的实现过程可以为:根据所述搜索配置信息,确定所述多个搜索算子的运算顺序、运算次数或每次运算时的综合搜索空间;根据所述多个搜索算子的运算顺序、运算次数或每次运算时的综合搜索空间,生成所述组合算子。
可选地,在根据所述组合算子,对所述原模型进行优化之前,还可以根据所述组合算子,预估对所述原模型进行优化的资源消耗;根据所述资源消耗,为执行对所述原模型进行优化的操作进行资源调度。
第三方面,本申请还提供了一种模型优化装置,该模型优化装置包括:配置模块,用于获取用户的原模型和搜索配置信息,所述搜索配置信息包括多个搜索项,不同搜索项表示对所述原模型进行优化信息搜索的不同搜索类别;算子编排模块,用于根据所述搜索配置信息,对多个搜索算子进行编排,得到组合算子,每个被编排的搜索算子对应一个搜索项,搜索算子表示执行对应的搜索项使用的算法;多元搜索模块,用于根据所述组合算子,对所述原模型进行优化,获得优化后的模型。
可选地,所述多个搜索项包括超参搜索、网络架构搜索、数据增强搜索、损失函数搜索、优化器搜索、模型压缩策略搜索中的至少两种。
可选地,所述算子编排模块具体用于:根据所述搜索配置信息,确定所述多个搜索算子的运算顺序、运算次数以及每次运算时的综合搜索空间;根据所述多个搜索算子的运算顺序、运算次数以及每次运算时的综合搜索空间,生成所述组合算子。
可选地,所述搜索配置信息还包括:搜索项信息和搜索模式,其中,每个搜索项对应各自的搜索项信息,所述搜索模式用于表示对所述原模型进行优化时遵循的原则。
可选地,所述搜索模式包括精度模式、速度模式、经济模式和资源模式中的任一种。
可选地,所述搜索配置信息由用户在图形用户界面GUI上进行输入或选择得到。
可选地,所述模型优化装置还包括:资源管理模块,所述资源管理模块用于:根据所述组合算子,预估对所述原模型进行优化的资源消耗;根据所述资源消耗,为执行对所述原模型进行优化的操作进行资源调度。
可选地,所述模型优化装置的配置模块还用于获取评价指标,所述评价指标表示对所述原模型进行优化后应达到的性能目标;所述多元搜索模块具体还用于根据所述组合算子在综合搜索空间进行优化信息搜索,根据所述优化信息对所述原模型进行优化,获得优化后的模型,所述优化后的的模型的性能满足所述评价指标。
可选地,所述评价指标包括以下指标中的任意一种或多种:模型的准确率、模型的损失、模型的精确度、模型的召回率。
第四方面,本申请还提供了另一种模型优化装置,该装置包括:配置模块,用于向用户提供配置界面,所述配置界面包括供所述用户选择的搜索项列表;获取原模型和搜索配置信息,所述搜索配置信息包括所述用户在所述搜索项列表中选择的多个搜索项,不同搜索项表示对所述原模型进行优化信息搜索的不同搜索类别;多元搜索模块,用于根据所述搜索配置信息对所述原模型进行优化;反馈模块,用于向所述用户提供优化后的模型。
可选地,所述用户在所述搜索项列表中选择的多个搜索项包括超参搜索、网络架构搜索、数据增强搜索、损失函数搜索、优化器搜索、模型压缩策略搜索中的至少两种。
可选地,所述配置界面还包括搜索项信息配置页和搜索模式配置页,所述搜索配置信息还包括所述用户在所述配置界面配置的搜索项信息和搜索模式。
可选地,所述搜索模式用于表示对所述原模型进行优化时遵循的原则,所述搜索模式包括精度模式、速度模式、经济模式和资源模式中的任一种。
可选地,所述多元搜索模块具体用于:根据所述搜索配置信息,对多个搜索算子进行编排,得到组合算子;根据所述组合算子,对所述原模型进行优化。
可选地,所述多元搜索模块具体用于:根据所述搜索配置信息,确定所述多个搜索算子的运算顺序、运算次数或每次运算时的综合搜索空间;根据所述多个搜索算子的运算顺序、运算次数或每次运算时的综合搜索空间,生成所述组合算子。
可选地,所述模型优化装置还包括:资源管理模块,所述资源管理模块用于:根据所述组合算子,预估对所述原模型进行优化的资源消耗;根据所述资源消耗,为执行对所述原模型进行优化的操作进行资源调度。
第五方面,本申请还提供了一种计算设备,所述计算设备的结构中包括处理器和存储器,所述存储器用于存储支持计算设备执行上述第一方面或第二方面所提供的模型优化方法的程序,以及存储用于实现上述第一方面或第二方面所提供的模型优化方法所涉及的数据。所述处理器执行所述存储器中存储的程序执行前述第一方面或第二方面及其可选的实现方式提供的方法。所述计算设备还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第六方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面及其可选的实现方式所述的模型优化方法。
第七方面,本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的模型优化方法。
上述第二方面、第三方面、第四方面、第五方面、第六方面和第七方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本申请提供的技术方案带来的有益效果至少包括:
在本申请实施例中,可以同时获取包含有多个搜索项的搜索配置信息,进而根据该搜索配置信息对多个搜索项分别对应的搜索算子进行编排,得到组合算子。这样,就可以根据该组合算子,对该原模型同时进行多个搜索项对应的优化。也即,本申请实施例可以实现对原模型的多个维度的联合优化,从而得到综合空间内的优化模型,提高了模型的性能。
附图说明
图1是本申请实施例提供的一种模型优化装置的结构示意图;
图2是本申请实施例提供的一种模型优化装置的部署示意图;
图3是本申请实施例提供的一种模型优化装置的应用示意图;
图4是本申请实施例提供的另一种模型优化装置的部署示意图;
图5是本申请实施例提供的一种计算设备的结构示意图;
图6是本申请实施例提供的一种模型优化方法流程图;
图7是本申请实施例提供的一种配置界面的示意图;
图8是本申请实施例提供的另一种配置界面的示意图;
图9是本申请实施例提供的一种优化后的模型的输出界面的示意图;
图10是本申请实施例提供的根据组合算子进行资源自动调度的流程图;
图11是本申请实施例提供的另一种模型优化方法的流程图;
图12是本申请实施例提供的一种计算机系统的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行详细的解释说明之前,先对本申请实施例涉及的应用场景予以介绍。
当前,AI模型已经被广泛地应用于诸如图像识别、视频分析、语音识别、自然语言翻译、自动驾驶控制等领域中。AI模型表示一种可以通过被训练完成对数据特征的学习,进而可以用于进行推理的数学算法。业界存在多种不同类型的AI模型,例如:神经网络模型是一种典型的AI模型。神经网络模型是一类模仿生物神经网络(动物的中枢神经系统)的结构和功能的数学计算模型。一个神经网络模型可以包括多种不同功能的计算层,每层包括参数和计算公式。根据计算公式的不同或功能的不同,神经网络模型中不同的计算层有不同的名称,例如:进行卷积计算的层称为卷积层,可以用于对输入图像进行特征提取。为简洁起见,本申请实施例中一些表述中将AI模型简称为模型。
随着AI模型的应用越来越广泛,对AI模型的性能要求也越来越高。例如:神经网络模型的性能与神经网络模型的超参选择、网络架构设计、训练样本等息息相关。如何从多方面对原始AI模型进行优化,以获得一个性能更高的AI模型是行业关注的重点。
基于此,为了提高AI模型的性能,开发人员在编写好最初的原模型之后,可以采用本申请实施例提供的优化方法,针对该原模型进行超参搜索、网络架构搜索、数据增强搜索等联合搜索,以得到该原模型的优化信息,进而根据该优化信息对原模型进行超参、网络架构、训练样本、损失函数、优化器、模型压缩策略等方面的优化。其中,原模型是指还未进行性能优化的初始AI模型,并且,该原模型可以通过代码的形式表示。
另外,需要说明的是,超参搜索是指通过超参搜索算法在一定的搜索空间内搜索符合原模型的超参。应理解,超参也称为超参数,是AI模型(例如:神经网络模型)中一些无法通过模型训练得到的参数,例如:超参包括学习率、迭代次数等参数。超参的设定对于AI模型的性能影响较大。网络架构搜索是指基于演化算法、强化学习、可微分网络等算法,在给定的搜索空间中,搜索满足用户要求的网络架构,网络架构表示AI模型的基本结构。数据增强搜索是指根据指定的数据集搜索符合用户要求的数据增强策略,进而通过该数据增强策略对该数据集中的样本进行处理,数据增强策略是用于对训练数据、测试数据或者推理数据进行预处理的算法。通过处理后的数据集中的样本对AI模型进行训练、测试或推理,可以使得AI模型性能更优。损失函数搜索是指在给定的搜索空间内搜索符合用户需求的损失函数,损失函数用于对原模型进行训练时的模型优化。优化器搜索是指在给定的搜索空间内搜索符合要求的优化器,后续,通过该优化器进行模型参数的学习,可以使得AI模型的性能更优。模型压缩策略搜索是指在给定的搜索空间内搜索用于进行模型压缩的策略,以实现对AI模型的压缩裁剪。
本申请实施例提供了一种模型优化方法,该方法由模型优化装置来执行。模型优化装置的功能可以由软件系统实现,也可以由硬件设备实现,还可以由软件系统和硬件设备结合来实现。
当模型优化装置为软件装置时,参见图1,该模型优化装置100可以在逻辑上分成多个模块,每个模块可以具有不同的功能,每个模块的功能由计算设备中的处理器读取并执行存储器中的指令来实现,该计算设备结构可以如下文中图5所示的计算设备500。示例性的,该模型优化装置可以包括配置模块101、算子编排模块102、多元搜索模块103和存储模块104。在一种具体实现方式中,模型优化装置100可以执行下文描述的步骤601-603和步骤1001-1002中描述的内容,或者,执行下文描述的步骤1101-1104和步骤1001-1002中描述的内容。需要说明的是,本申请实施例仅对模型优化装置100的结构和功能模块进行示例性划分,但是并不对其具体划分做任何限定。
配置模块101,用于获取用户的原模型和搜索配置信息。其中,用户的原模型可以是用户上传的,也可以是存储在其他装置或设备上的。搜索配置信息可以包括用户配置的多个搜索项,每个搜索项表示一种搜索原模型的优化信息的类别。例如,多个搜索项可以为超参搜索和网络架构搜索,此时,则表示搜索原模型的超参优化信息和网络架构优化信息。可选地,多个搜索项还可以包括数据增强搜索、损失函数搜索、优化器搜索、模型压缩策略搜索等等,本申请实施例在此不做限定。在一些可能的实现方式中,搜索配置信息还可以包括搜索项信息和搜索模式,每个搜索项信息与每个搜索项对应,每个搜索项信息包括对应的搜索项所对应的搜索空间。搜索模式可以包括精度模式、速度模式、经济模式和资源模式中的任一种。
算子编排模块102,用于与配置模块101、存储模块104以及多元搜索模块103进行通信连接,接收配置模块101发送的搜索配置信息,以及接收存储模块104发送的多个搜索算子。根据该搜索配置信息,对多个搜索算子进行编排,得到组合算子。
需要说明的是,存储模块104中可以存储有多种搜索算子,例如,超参搜索算子、网络架构搜索算子、数据增强搜索算子、损失函数搜索算子、优化器搜索算子、模型压缩策略搜索算子以及用户自定义搜索算子等。其中,搜索算子是指实现相应搜索的算法,或者说,搜索算子是对相应搜索项对应的优化信息进行搜索的方法。例如,超参搜索算子是指实现超参搜索的搜索算法,也即,是指搜索超参的方法;网络架构搜索算子是指实现网络架构搜索的搜索算法,也即,是指进行网络架构的搜索的方法。
算子编排模块102在接收到配置模块101发送的搜索配置信息之后,可以根据搜索配置信息包括的搜索项从存储模块104中获取每个搜索项对应的算子,例如,当搜索配置信息包括的多个搜索项为超参搜索和网络架构搜索时,则算子编排模块102可以根据搜索项从存储模块104中获取超参搜索算子和网络架构搜索算子。之后,算子编排模块102可以对获取到的算子进行编排,从而生成组合算子。组合算子表示对多个搜索算子之间或者每个搜索算子中每部分的运算顺序、运算次数以及每次运算时的综合搜索空间进行确定后生成的算子。在生成组合算子之后,算子编排模块102可以将该组合算子发送至多元搜索模块103。
可选的,存储模块104中可以包括每个搜索项对应的多个搜索算子,不同的搜索算子表示对同一个搜索项对应的优化信息的搜索方式不同,例如:对于搜索项为网络架构搜索,存储器104中可以存储有网络架构搜索算子A、网络架构搜索算子B、网络架构搜索算子C。对于同一搜索项对应多个搜索算子的情况,可以根据用户的原模型或者搜索项信息、搜索模式选择其中一个搜索算子。
多元搜索模块103,用于与算子编排模块102以及配置模块101进行通信连接。接收算子编排模块102发送的组合算子,以及接收配置模块101发送的用户的原模型。之后,多元搜索模块103可以根据组合算子,对用户的原模型进行优化。
可选地,该模型优化装置100还可以包括资源调度模块105。该资源调度模块105用于与算子编排模块102以及多元搜索模块103进行通信连接。该资源调度模块105可以接收算子编排模块102确定的组合算子,并根据该组合算子,预估对原模型进行优化的资源消耗,进而根据该资源消耗,为多元搜索模块103执行对原模型的优化的操作进行资源调度。
可选地,该模型优化装置100还可以包括反馈模块106。该反馈模块106用于与多元搜索模块103进行通信连接。该反馈模块106可以将多元搜索模块103的搜索结果以及优化后的模型反馈给用户。
另外,在一些可能的情况中,上述的该模型优化装置100包括的多个模块中的部分模块的也可以合并为一个模块,例如,上述的算子编排模块102和多元搜索模块103可以合并为优化模块,也即,该优化模块集合了算子编排模块102和多元搜索模块103的功能。
在本申请实施例中,上述介绍的模型优化装置100可以灵活的部署。例如,该模型优化装置100可以部署在云环境。云环境是云计算模式下利用基础资源向用户提供云服务的实体,云环境包括云数据中心和云服务平台。
云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的计算设备(例如服务器)。该模型优化装置100可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置可以用于进行AI模型的优化,该软件装置可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。例如,如图2所示,该模型优化装置100部署在云环境中。客户端110可以将用户上传的原模型发送至该模型优化装置100,或者是其他非客户端设备120可以将自身生成或存储的原模型发送至该模型优化装置100,该模型优化装置100在接收到原模型之后,可以根据搜索配置信息对多个搜索算子进行编排,得到组合算子,进而根据组合算子对原模型进行优化,获得优化后的模型,将优化后的模型反馈给客户端110或者是其他非客户端设备120。
示例性地,图3为本申请中的模型优化装置100的一种应用示意图,如图3所示,模型优化装置100可以由云服务提供商部署在云数据中心,云服务提供商将模型优化装置提供的功能抽象成为一项云服务,云服务平台供用户咨询和购买这项云服务。用户购买这项云服务后即可使用云数据中心的该模型优化装置100提供的模型优化服务。该模型优化装置还可以由租户部署在租户租用的云数据中心的计算资源中,租户通过云服务平台购买云服务提供商提供的计算资源云服务,在购买的计算资源中运行该模型优化装置100,使得该模型优化装置100进行AI模型的优化。
可选地,该模型优化装置100还可以是边缘环境中运行在边缘计算设备上的软件装置或者是边缘环境中的一个或多个边缘计算设备。所谓边缘环境是指某个应用场景中包括一个或多个边缘计算设备在内的设备集合,其中,该一个或多个边缘计算设备可以是一个数据中心内的计算设备或者是多个数据中心的计算设备。当模型优化装置100为软件装置时,模型优化装置100可以分布式地部署在多台边缘计算设备,也可以集中地部署在一台边缘计算设备。示例性地,如图4所示,该模型优化装置100分布式地部署在某个企业的数据中心包括的边缘计算设备130中,该企业中的客户端140可以将原模型发送至该模型优化装置100,可选地,客户端140还可以将搜索配置信息发送至模型优化装置100。该模型优化装置100在接收到原模型之后,可以根据搜索配置信息对多个搜索算子进行编排,得到组合算子,进而根据组合算子对原模型进行优化,获得优化后的模型,将优化后的模型反馈给客户端140。
当该模型优化装置为硬件设备时,该模型优化装置可以为任意环境中的一个计算设备,例如,可以为前述介绍的边缘计算设备,也可以为前述介绍的云环境下的计算设备。图5是本申请实施例提供的一种计算设备500的结构示意图。该计算设备500包括处理器501,通信总线502,存储器503以及至少一个通信接口504。
处理器501可以是一个通用中央处理器(Central Processing Unit,CPU),特定应用集成电路(application-specific integrated circuit,ASIC),图形处理器(graphicsprocessing unit,GPU)或其任意组合。处理器501可以包括一个或多个芯片,处理器501可以包括AI加速器,例如:神经网络处理器(neural processing unit,NPU)。
通信总线502可包括在计算设备500各个部件(例如,处理器501、存储器503、通信接口504)之间传送信息的通路。
存储器503可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM))或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器503可以是独立存在,通过通信总线502与处理器501相连接。存储器503也可以和处理器501集成在一起。存储器503可以存储计算机指令,当存储器503中存储的计算机指令被处理器501执行时,可以实现本申请的模型优化方法。另外,存储器503中还可以存储有处理器在执行上述方法的过程中所需的数据以及所产生的中间数据和/或结果数据。
通信接口504,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
在具体实现中,作为一种实施例,处理器501可以包括一个或多个CPU。
在具体实现中,作为一种实施例,计算机设备可以包括多个处理器。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
接下来对本申请实施例提供的模型优化方法进行介绍。
图6是本申请实施例提供的一种模型优化方法的流程图。该模型优化方法可以由前述的模型优化装置100来执行,参见图6,该方法包括以下步骤:
步骤601:获取用户的原模型和搜索配置信息,搜索配置信息包括多个搜索项,不同搜索项表示对原模型进行优化信息搜索的不同类别。
在本申请实施例中,用户的原模型可以由用户以代码形式上传。也即,模型优化装置可以接收用户上传的代码形式的原模型。或者,该原模型也可以是模型优化装置根据指定的存储路径从其他装置中获取得到,或者,该原模型也可以是其他设备中存储的,由其他设备发送至该模型优化装置。另外,搜索配置信息可以由用户在GUI上进行输入或选择得到。
在一种可能的实现方式中,模型优化装置可以为用户提供一个配置界面,在该配置界面中可以包括原模型配置项和搜索配置信息选项,用户可以在该原模型配置项中输入原模型的存储路径,模型优化装置可以根据该存储路径获取原模型,并通过搜索配置信息选项配置搜索配置信息。
需要说明的是,搜索配置信息选项中可以包括搜索项列表。示例性地,如图7所示,搜索项列表中包括多个可被选择的搜索项,每个搜索项表示一种对原模型进行优化信息搜索的类别。示例性地,搜索项列表可以包括超参搜索、网络架构搜索、数据增强搜索、损失函数搜索、优化器搜索、模型压缩策略搜索等。其中,超参搜索是指在给定的搜索空间内搜索符合原模型的超参。网络架构搜索是指在给定的搜索空间内搜索符合用户要求的网络架构。数据增强搜索是指在指定的数据集上搜索符合用户要求的数据增强策略,进而通过该数据增强策略对该数据集中的样本进行处理,数据增强策略是用于对训练数据、测试数据或推理数据进行预处理的算法。通过处理后的数据集中的样本对AI模型进行训练、测试或者是推理,可以使得AI模型的性能更优。损失函数搜索是指在给定的搜索空间内搜索符合用户需求的损失函数。优化器搜索是指在给定的搜索空间内搜索符合要求的优化器,后续,通过该优化器进行模型参数的学习,可以使得AI模型的性能更优。模型压缩策略搜索是指在给定的搜索空间内搜索用于进行模型压缩的策略,以实现对模型的压缩裁剪。可选的,当用户在GUI界面上选择了搜索项列表中的多种搜索项后,界面还会提供搜索项信息配置列表,在该搜索项信息配置列表中,用户可以配置相应地搜索项对应的一个或多个搜索项信息,该搜索项信息包括进行相应搜索项的搜索时所用到的一些信息,例如,该一个或多个搜索项信息中可以包括相应搜索项的搜索算法和搜索空间等,该搜索空间限定了进行相应搜索时的搜索范围。例如,如图7所示,当选择了超参搜索和网络架构搜索之后,界面中可以显示超参搜索对应的搜索项信息配置列表和网络架构搜索对应的搜索项信息配置列表。其中,超参搜索对应的搜索项信息配置列表中包括超参搜索的搜索算法配置项、参数名称配置项以及参数范围配置项,该参数范围配置项即相当于是超参搜索对应的搜索空间配置项。网络架构搜索对应的搜索项信息配置列表中包括网络架构的默认结构配置项、搜索空间配置项以及延时设定配置项。需要说明的是,图7中仅是示例性的给出了几种可能的搜索项信息,在一些可能的实现方式中,选择的搜索项对应搜索项信息配置列表中可以包括更少或更多的搜索项信息。
可选地,参见图8,搜索配置信息项还可以包括搜索模式、评价指标。其中,搜索模式用于表示对原模型进行优化时遵循的原则。搜索模式可以包括精度模式、速度模式、经济模式和资源模式。其中,精度模式表示以模型精度为目标来进行模型优化。速度模式则表示以满足一定的优化速度为目标来进行模型优化。经济模式是指以用户所需耗费的费用最少为目标来进行模型优化。资源模式则是指以模型优化装置所消耗的资源最少为目标来进行模型优化。
评价指标主要是指优化后的模型所要达到的性能指标。当对原模型优化后的模型的指标达到设定的评价指标时,即可以停止优化。示例性的,评价指标可以为模型的准确率(accuracy)、模型的损失(loss)、模型的精确度(precision)、召回率(recall)等指标中的一种或多种,或者,该评价指标也可以为用户自定义的指标,本申请实施例对此不作限定。
评价指标通常可以单独作为停止模型优化以输出优化后的模型的条件来使用。例如,当评价指标为模型的精确度时,在优化原模型的过程中,如果优化后的模型的精确度达到了该评价指标,则可以停止继续优化,输出该优化后的模型。或者,评价指标也可能受到搜索模式的影响,模型优化装置可以结合搜索模式和评价指标来决定何时停止优化以输出优化后的模型。例如,假设用户设定的评价指标为模型的精确度下限值,如果用户还选择了精度模式,则在对原模型优化的过程中,当优化后的模型精确度达到模型的精确度下限值之后,由于用户还选择了精度模式,而精度模式追求的是模型精度越高越好,因此,模型优化装置还可以对模型继续进行优化,以寻求模型精确度的进一步提高。但是,如果用户选择的是速度模式,则出于对优化速度的追求,在优化得到第一个精确度大于评价指标的模型之后,即可以停止优化,立即输出该优化后的模型。
当用户配置完成之后,模型优化装置可以获取用户上传的原模型以及配置的搜索配置信息。
需要说明的是,上述仅是本申请实施例中给出的一些可能的搜索配置信息选项,并且,在上述搜索配置信息选项中,对于用户而言,有些搜索配置信息是可选地,例如,搜索模式和评价指标。另外,根据实际需要,该配置界面中还可以包括更多或更少的搜索配置信息选项,例如,该配置界面中可以不包括评价指标,而是由该模型优化装置给定默认评价指标。再例如,该配置界面还可以包括算子编排方式选项,该算子编排方式选项可以表示对多个搜索算子进行编排的方式。本申请实施例对此不作限定。
需要说明的是,用户上传的原模型可以是用户编写的未经过任何针对所述模型优化装置进行适应性修改的代码。用户只需通过上述配置界面进行简单的配置,模型优化装置即可以通过后续步骤来对原模型优化,而不需根据平台要求进行代码修改,降低了用户使用门槛。可选地,用户也可以在原模型的代码文件中添加声明信息,该声明信息可以指示出所要搜索的内容。可选地,该声明信息中还可以包括评价指标等其他配置信息。
在另一种可能的实现方式中,模型优化装置可以直接接收用户上传的代码形式的原模型以及配置文件,该配置文件中可以包括用户的搜索配置信息。
在该种实现方式中,用户可以直接将搜索配置信息写入配置文件中。模型优化装置在接收到该配置文件之后,可以通过对该配置文件进行解析来获取其中的搜索配置信息。其中,搜索配置信息包括的内容如前所述,本申请实施例在此不再赘述。配置文件可以支持多种文件格式,如yaml,xml,txt等,本申请实施例对此不作限定。
步骤602:根据搜索配置信息,对多个搜索算子进行编排,得到组合算子,每个被编排的搜索算子对应一个搜索项,搜索算子表示执行对应的搜索项使用的算法。
在本申请实施例中,模型优化装置中可以存储有不同搜索项对应的搜索算子。该搜索算子是搜索相应搜索项对应的优化信息的算法。例如,超参搜索对应的超参搜索算子、网络架构搜索对应的网络架构搜索算子、数据增强搜索对应的数据增强搜索算子等。
在一种可能的实现方式中,模型优化装置在获取到搜索配置信息之后,可以根据搜索配置信息中包括的多个搜索项,获取多个搜索项所对应的多个搜索算子,进而对多个搜索算子进行编排,所述对多个搜索算子进行编排即为确定多个搜索算子组合运行的方式。例如:模型优化装置可以根据搜索配置信息包括的搜索模式和每个搜索项对应的搜索项信息,确定多个搜索算子的运算顺序、运算次数和/或每次运算时的综合搜索空间,进而生成组合算子。
例如,当多个搜索项为超参搜索和网络架构搜索时,模型优化装置可以根据超参搜索获取超参搜索算子,根据网络架构搜索获取网络架构搜索算子。
在获取到多个搜索算子之后,模型优化装置可以根据该搜索配置信息包括的搜索模式和搜索项信息,确定多个搜索算子的运算顺序、运算次数以及每次运算时的搜索空间。其中,每次运算时的搜索空间可以不同,且这些搜索空间中包括综合搜索空间,该综合搜索空间可以是指将不同搜索项对应的搜索空间进行融合得到的搜索空间,也可以是指不同搜索项对应的搜索空间彼此相互影响后得到的各自的搜索空间。
作为一种示例,假设用户选择的搜索项为超参搜索和网络架构搜索,且选择的搜索模式为速度模式,则模型优化装置对超参搜索算子和网络架构搜索算子进行编排后得到的组合算子可以为:
(1)、通过网络架构搜索算子,根据用户以代码形式上传的原模型,生成多种可能的原模型的网络结构。
(2)、通过超参搜索算子,根据用户配置的超参搜索的搜索项信息中的搜索空间以及其他参数,对上述(1)中得到的多种原模型的网络结构中的每种网络结构进行超参搜索,得到搜索结果。该搜索结果包括针对每种网络结构搜索得到的对应的候选超参。
(3)通过网络架构搜索算子,对上述(2)得到的搜索结果进行评估,从中选出效果最好的目标结构。
(4)、通过超参搜索算子,在综合搜索空间上针对该目标结构再次进行超参搜索,得到评价指标符合参考评价指标的该目标结构对应的目标超参。其中,综合搜索空间是指综合网络架构搜索对应的搜索空间和超参搜索对应的搜索空间后得到的搜索空间,或者,综合搜索空间是指根据前述网络架构搜索结果以及超参搜索结果对超参搜索的搜索项信息包括的搜索空间进行调整后得到的搜索空间。其中,参考评价指标可以是前述的用户配置的评价指标,当然,在用户未配置的情况下,该评价指标可以是指默认的评价指标。
作为另一种示例,假设用户选择的搜索项为超参搜索、网络架构搜索和数据增强搜索,且选择的搜索模式为精度模式,则模型优化装置对超参搜索算子、网络架构搜索算子和数据增强搜索算子进行编排后得到的组合算子可以为:
(1)通过数据增强搜索算子,针对指定数据集在数据增强搜索所对应的搜索空间内搜索数据增强策略,通过搜索到的数据增强策略对指定数据集中的训练样本进行数据增强处理。
(2)外层调用超参搜索算子、内层调用网络架构搜索算子,通过双层循环,在指定的综合搜索空间内进行搜索,得到多组搜索结果,每组搜索结果包括一个网络架构和对应的超参。需要说明的是,搜索的过程中,指定的综合搜索空间是根据超参搜索的搜索空间和网络架构搜索的搜索空间综合得到的,并且,指定的综合搜索空间根据每层循环的结果不断变化。并且,在搜索的过程中,可以通过前述(1)中增强处理的数据集对模型进行训练和测试,得到每组搜索结果对应的评价指标。
(3)从上述(2)中得到的多组搜索结果中选择对应的评价指标排在前N个的结果输出。
由此可见,在本申请实施例中,在进行多种搜索项的搜索时,模型优化装置可以通过对搜索算子编排实现多个维度的联合优化,并且,在搜索过程中,多个搜索项的搜索空间彼此影响或者是综合,这样,根据编排得到的组合算子优化的模型将是多个搜索维度所构成的联合搜索空间内的优化模型,提高了优化后模型的性能。
需要说明的是,上述是本申请实施例给出的几种可能的组合算子的实现方式,用以说明对搜索项对应的多个搜索算子进行编排以得到组合算子的过程,根据搜索项的不同,搜索算子编排的方式也可以完全不同,本申请实施例对此不作限定。
在上述实现方式中,模型优化装置可以根据搜索配置信息对多个搜索算子进行实时的编排,以得到组合算子。可选地,在另一些可能的实现方式中,模型优化装置可以预先根据对不同搜索项对应的搜索算子进行编排,得到不同的组合算子,并测试不同的组合算子在优化模型时所存在的特性,例如,通过某个组合算子进行模型优化的精度比较高,通过另一个组合算子进行优化时速度比较快等。模型优化装置可以将组合的搜索项、对应的组合算子以及该组合算子的特性对应存储。例如,对于超参搜索和网络架构搜索这个组合搜索项,其对应有组合算子1,组合算子1对应的特性是精度高,另外,该组合搜索项还可以对应有组合算子2,该组合算子2对应的特性是速度快。在这种情况下,当模型优化装置获取到搜索配置信息时,首先可以根据搜索配置信息中包括的多个搜索项从上述对应关系中匹配相同的组合搜索项,之后,根据搜索配置信息中包括的搜索模式,从组合搜索项对应的组合算子中确定特性与该搜索模式相匹配的组合算子,在找到匹配的组合算子之后,可以根据搜索配置信息中的搜索项信息对该组合算子的各个运算操作中的搜索空间进行配置。
步骤603:根据组合算子,对原模型进行优化,获得优化后的模型。
模型优化装置在得到组合算子之后,可以通过该组合算子对原模型进行优化。
示例性的,模型优化装置可以根据该组合算子在综合搜索空间进行优化信息搜索,根据搜索到的优化信息对原模型进行优化,从而得到优化后的模型。其中,优化后的模型的性能满足用户设定的评价指标或者是默认的评价指标。
模型优化装置可以按照组合算子中各个算子执行的顺序依次执行各个算子,以在综和搜索空间内进行搜索,得到多个搜索项对应的原模型的优化信息。例如,当搜索项为超参搜索和网络架构搜索时,优化信息包括对原模型的超参优化信息和网络架构优化信息。其中,该优化信息可以是能够直接替换原模型中相应的内容的信息,例如,可以是直接替换原模型的超参的超参。或者,也可以是用于对原模型中相应的内容进行更改的差异信息,例如,可以为超参的差异数据,这样,可以在原模型的超参的基础上加上该差异数据,以实现对原模型的超参的优化。
在得到优化信息之后,模型优化装置可以根据该优化信息对原模型进行优化,获得优化后的模型。之后,模型优化装置可以输出优化后的模型,可选地,模型优化装置还可以输出各个搜索项所对应的优化信息以及优化后的模型所对应的性能指标,例如准确率、推理时延等。其中,模型优化装置可以以GUI的形式或者是接口文件的形式将上述内容输出。
例如,参见图9,当用户选择的搜索项为超参搜索和网络架构搜索时,在得到优化后的模型之后,可以在GUI上显示优化后的模型的存储路径、超参搜索对应的优化信息(也即搜索到的超参)、网络架构搜索对应的优化信息(也即搜索到的网络架构)以及该优化后的模型准确率和推理时延。
在一些可能的实现方式中,模型优化装置在搜索过程中可能会得到多个满足设定的评价指标的优化后的模型。在这种情况下,模型优化装置可以按照多个优化后的模型的性能指标从大到小进行排序,然后将性能指标排在前N位的优化后的模型输出。同样的,在输出优化后的模型的同时,还可以输出每个优化后的模型所对应的各个搜索项的优化信息以及性能指标。
在本申请实施例中,可以同时获取包含有多个搜索项的搜索配置信息,进而根据该搜索配置信息对多个搜索项分别对应的搜索算子进行编排,得到组合算子。这样,就可以根据该组合算子,在综合搜索空间内对该原模型同时进行多个搜索项对应的优化。也即,本申请实施例可以实现同时对原模型的多个维度的联合优化,从而得到综合空间内的优化模型,提高了模型的性能。
上述实施例中介绍了对模型进行优化的实现过程。可选地,在本申请实施例中,在对模型进行优化之前,模型优化装置还可以根据组合算子实现计算资源的自动调度。
示例性地,参见图10,其示出了根据组合算子进行资源自动调度的流程图,该过程包括以下步骤:
步骤1001:根据组合算子,预估对原模型进行优化的资源消耗。
其中,模型优化装置可以根据组合算子中各个算子运算时所需的运算资源,预估该组合算子运行时所需要消耗的资源总和、计算资源峰值、波动情况以及计算资源峰值持续时长等参数,该参数即可以反映对原模型进行优化的过程中的资源消耗。
可选地,在本申请实施例中,模型优化装置在获取到对原模型进行优化的过程中的资源消耗之外,还可以获取与该原模型的优化并行的其他优化作业的资源消耗。
步骤1002:根据资源消耗,为执行对原模型进行优化的操作进行资源调度。
在预估得到对原模型进行优化的资源消耗之后,模型优化装置可以获取当前的计算资源使用参数,例如,确定当前已使用的计算资源、剩余的计算资源以及在对原模型进行优化过程中可能释放的资源等。之后,模型优化装置可以根据对原模型进行优化的资源消耗和当前的计算资源使用参数,为原模型的优化过程中组合算子中每个算子的运算分配对应的计算资源。
需要说明的是,在本申请实施例中,模型优化装置上可以部署有用于进行资源分配的资源管理模型,该资源管理模型可以是采用深度学习算法,通过学习每次优化时的运行参数和资源运行反馈数据得到,并且,每次优化时的运行参数和资源运行反馈数据可以是由不同网络中的模型优化装置共享的。模型优化装置在获得对原模型进行优化时的资源消耗以及当前的计算资源使用参数之后,可以将这两部分参数作为该资源管理模型的输入,通过该资源管理模型获得资源分配数据,进而根据该资源分配数据为原模型的优化分配对应的计算资源。
可选地,当模型优化装置还获取到了与该原模型的优化并行的其他优化作业的资源消耗时,模型优化装置还可以根据原模型优化时的资源消耗和并行的其他优化作业的资源消耗,对计算资源进行进一步地优化。
其中,模型优化装置也可以根据原模型优化时的资源消耗和并行的其他优化作业的资源消耗,通过调整并发作业的步骤对计算资源进行优化。
示例性地,以前述步骤602中示出的第二种组合算子为例,假设以该种组合算子分别对两个不同的原模型进行并行优化。其中,该组合算子中步骤1和3的资源消耗相对较大,而其它步骤的资源消耗相对较少。当同时并发执行两个模型的优化作业时,根据搜索步骤中的资源消耗计算,进行时间错峰,把大资源消耗步骤与小资源消耗步骤搭配使用,将步骤进行调整,例如可以将其中一个作业中的步骤1和步骤2进行调换。
或者,模型优化装置也可以根据原模型优化时的资源消耗和并行的其他优化作业的资源消耗,通过调整对单个作业的步骤的资源消耗来对计算资源进行优化。
示例性地,当计算资源较少或者有多个请求同时发送给模型优化装置时,在满足用户需求的前提下,缩小单个作业的资源消耗,例如降低单个作业网络架构搜索或者超参搜索时并发训练的数量,也即,动态调整单个搜索步骤中子作业的资源配置。
由此可见,在本申请实施例中,模型优化装置根据组合算子进行运算时的资源消耗情况以及自身的资源使用情况,可以实现资源的自动调度,并且,根据同时并发的多个优化作业的资源消耗情况,模型优化装置通过调整并发作业的步骤或者是通过调整单个作业的资源消耗,实现了资源的优化。
上述实施例主要介绍了模型优化装置100对原模型进行优化的实现过程,接下来从用户与模型优化装置100进行交互的角度来介绍该模型优化方法的实现流程,示例性地,参见图11,该方法包括以下步骤:
步骤1101:向用户提供配置界面,该配置界面包括供用户选择的搜索项列表。
在本申请实施例中,模型优化装置可以向用户对应的客户端发送配置界面的相关信息,由该客户端显示该配置界面,以将该配置界面提供给用户进行相关信息的配置。
其中,配置界面的实现方式可以参考图6所示的实施例中所介绍的配置界面,本申请实施例在此不再赘述。
步骤1102:获取原模型和搜索配置信息,该搜索配置信息包括用户在搜索项列表中选择的多个搜索项,不同搜索项表示对原模型进行优化信息搜索的不同搜索类别。
在本申请实施例中,模型优化装置可以获取用户在配置界面中配置的诸如搜索项之类的配置信息,除此之外,对于用户未在配置界面中配置的信息,例如评价指标等,模型优化装置可以获取预先设置的默认配置。
另外,关于获取原模型的实现过程,模型优化装置可以根据用户在配置界面中配置的存储路径来获取原模型,或者是接收用户通过客户端直接上传的原模型,或者也可以是从其他设备获取原模型,具体的获取方式可以参考图6所示实施例中获取原模型的方法,并且,关于原模型的表示方式也可以参考图6所示实施例中的介绍,本申请实施例在此不再赘述。
步骤1103:根据搜索配置信息对原模型进行优化。
模型优化装置在获得搜索配置信息之后,可以根据搜索配置信息对多个搜索算子进行编排,得到组合算子,根据该组合算子,对原模型进行优化,从而得到优化后的模型。
其中,根据搜索配置信息对多个搜索算子进行编排,得到组合算子,根据该组合算子,对原模型进行优化的实现过程可以参考图6所示实施例中的步骤602和603的相关介绍,本申请实施例在此不再赘述。
步骤1104:向用户提供优化后的模型。
在得到优化后的模型之后,模型优化装置可以向客户端反馈优化后的模型,可选地,模型优化装置还可以向客户端反馈各个搜索项所对应的优化信息以及优化后的模型所对应的性能指标,例如准确率、推理时延等。其中,模型优化装置可以以GUI的形式或者是接口文件的形式将上述内容输出至客户端。例如,如图9所示。
在一些可能的实现方式中,模型优化装置在搜索过程中可能会得到多个满足设定的评价指标的优化后的模型。在这种情况下,模型优化装置可以按照多个优化后的模型的性能指标从大到小进行排序,然后将性能指标排在前N位的优化后的模型反馈给客户端。同样的,在反馈优化后的模型的同时,还可以反馈每个优化后的模型所对应的各个搜索项的优化信息以及性能指标。
在本申请实施例中,模型优化装置获取原模型和搜索配置信息,根据搜索配置信息包括的多个搜索项对原模型进行优化信息的联合搜索,从而实现对原模型的多个维度的联合优化,提高了模型的性能。其中,模型优化装置可以向用户提供配置界面,由用户根据自身需求在配置界面中进行诸如搜索项、搜索模式等搜索信息的配置,以满足用户不同的优化需求,灵活且操作简便,降低了用户的使用负担。
需要说明的是,在本申请实施例中,模型优化装置在对原模型进行优化之前,同样可以采用图10所示的实施例中的资源调度方法来实现资源自动调度和优化,本申请实施例对此不再赘述。
本申请实施例还提供了如图1中所示的模型优化装置100,该模型优化装置100包括的模块和功能如前文的描述,在此不再赘述。
在一些实施例中,模型优化装置100中的配置模块101用于执行前述实施例中的步骤601。算子编排模块102用于执行前述实施例中的步骤602。多元搜索模块103用于执行前述实施例中的步骤603。
可选地,该模型优化装置100还可以包括资源调度模块105,该资源调度模块105可以用于执行前述实施例中的步骤1001和步骤1002。
在另一些实施例中,模型优化装置100中的配置模块101用于执行前述实施例中的步骤1101和步骤1102,算子编排模块102和多元搜索模块103可以合并为一个优化模块,该优化模块可以用于执行前述实施例中的步骤1103,反馈模块106用于执行前述实施例中的步骤1104。
本申请实施例还提供了一种如图5所示的计算设备500。计算设备500中的处理器501读取存储器503中存储的一组计算机指令以执行前述的模型优化方法。
由于本申请实施例提供的模型优化装置100中的各个模块可以分布式的部署在同一环境或不同环境的多个计算机上,因此,本申请还提供了一种如图12所示的计算设备(也可以称为计算机系统),该计算机系统包括多个计算机1200,每个计算机1200的结构与前述图5中的计算设备500的结构相同或相似,在此不再赘述。
上述每个计算机1200间通过通信网络建立通信通路。每个计算机1200上运行前述配置模块101、算子编排模块102、多元搜索模块103、资源调度模块105和反馈模块106中的任意一个或多个。任一计算机1200可以为云数据中心中的计算机(例如:服务器),或边缘计算机,或终端计算设备。
上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。实现模型优化的计算机程序产品包括一个或多个进行模型优化的计算机指令,在计算机上加载和执行这些计算机程序指令时,全部或部分地产生按照本申请实施例图6和图10所述的流程或功能,或者,全部或部分的产生按照本申请实施例图11和图10所述的流程或功能。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如:固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (34)

1.一种模型优化方法,其特征在于,所述方法包括:
获取原模型和搜索配置信息,所述搜索配置信息包括多个搜索项,不同搜索项表示对所述原模型进行优化信息搜索的不同搜索类别;
根据所述搜索配置信息,对多个搜索算子进行编排,得到组合算子,每个被编排的搜索算子与一个搜索项对应,搜索算子表示执行对应的搜索项使用的算法;
根据所述组合算子,对所述原模型进行优化,获得优化后的模型。
2.根据权利要求1所述的方法,其特征在于,所述多个搜索项包括超参搜索、网络架构搜索、数据增强搜索、损失函数搜索、优化器搜索、模型压缩策略搜索中的至少两种。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述搜索配置信息,对多个搜索算子进行编排,得到组合算子,包括:
根据所述搜索配置信息,确定所述多个搜索算子的运算顺序、运算次数或每次运算时的综合搜索空间;
根据所述多个搜索算子的运算顺序、运算次数或每次运算时的综合搜索空间,生成所述组合算子。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述搜索配置信息还包括:搜索项信息和搜索模式,其中,每个搜索项对应各自的搜索项信息,所述搜索模式用于表示对所述原模型进行优化时遵循的原则。
5.根据权利要求4所述的方法,其特征在于,所述搜索模式包括精度模式、速度模式、经济模式和资源模式中的任一种。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述搜索配置信息由用户在图形用户界面GUI上进行输入或选择得到。
7.根据权利要求1-6任一项所述的方法,其特征在于,在根据所述组合算子,对所述原模型进行优化之前,所述方法还包括:
根据所述组合算子,预估对所述原模型进行优化的资源消耗;
根据所述资源消耗,为执行对所述原模型进行优化的操作进行资源调度。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
获取评价指标,所述评价指标表示对所述原模型进行优化后应达到的性能目标;
所述根据所述组合算子,对所述原模型进行优化,获得优化后的模型,包括:
根据所述组合算子在综合搜索空间进行优化信息搜索,根据所述优化信息对所述原模型进行优化,获得优化后的模型,所述优化后的模型的性能满足所述评价指标。
9.根据权利要求8所述的方法,其特征在于,所述评价指标包括以下指标中的任意一种或多种:模型的准确率、模型的损失、模型的精确度、模型的召回率。
10.一种模型优化方法,其特征在于,所述方法包括:
向用户提供配置界面,所述配置界面包括供所述用户选择的搜索项列表;
获取原模型和搜索配置信息,所述搜索配置信息包括所述用户在所述搜索项列表中选择的多个搜索项,不同搜索项表示对所述原模型进行优化信息搜索的不同搜索类别;
根据所述搜索配置信息对所述原模型进行优化;
向所述用户提供优化后的模型。
11.根据权利要求10所述的方法,其特征在于,所述用户在所述搜索项列表中选择的多个搜索项包括超参搜索、网络架构搜索、数据增强搜索、损失函数搜索、优化器搜索、模型压缩策略搜索中的至少两种。
12.根据权利要求10或11所述的方法,其特征在于,所述配置界面还包括搜索项信息配置页和搜索模式配置页,所述搜索配置信息还包括所述用户在所述配置界面配置的搜索项信息和搜索模式。
13.根据权利要求12所述的方法,其特征在于,所述搜索模式用于表示对所述原模型进行优化时遵循的原则,所述搜索模式包括精度模式、速度模式、经济模式和资源模式中的任一种。
14.根据权利要求10-13任一项所述的方法,其特征在于,所述根据所述搜索配置信息对所述原模型进行优化,包括:
根据所述搜索配置信息,对多个搜索算子进行编排,得到组合算子;
根据所述组合算子,对所述原模型进行优化。
15.根据权利要求14所述的方法,其特征在于,所述根据所述搜索配置信息,对多个搜索算子进行编排,得到组合算子,包括:
根据所述搜索配置信息,确定所述多个搜索算子的运算顺序、运算次数或每次运算时的综合搜索空间;
根据所述多个搜索算子的运算顺序、运算次数或每次运算时的综合搜索空间,生成所述组合算子。
16.根据权利要求14或15所述的方法,其特征在于,在根据所述组合算子,对所述原模型进行优化之前,所述方法还包括:
根据所述组合算子,预估对所述原模型进行优化的资源消耗;
根据所述资源消耗,为执行对所述原模型进行优化的操作进行资源调度。
17.一种模型优化装置,其特征在于,所述装置包括:
配置模块,用于获取用户的原模型和搜索配置信息,所述搜索配置信息包括多个搜索项,不同搜索项表示对所述原模型进行优化信息搜索的不同搜索类别;
算子编排模块,用于根据所述搜索配置信息,对多个搜索算子进行编排,得到组合算子,每个被编排的搜索算子与一个搜索项对应,搜索算子表示执行对应的搜索项使用的算法;
多元搜索模块,用于根据所述组合算子,对所述原模型进行优化,获得优化后的模型。
18.根据权利要求17所述的装置,其特征在于,所述多个搜索项包括超参搜索、网络架构搜索、数据增强搜索、损失函数搜索、优化器搜索、模型压缩策略搜索中的至少两种。
19.根据权利要求17或18所述的装置,其特征在于,所述算子编排模块具体用于:
根据所述搜索配置信息,确定所述多个搜索算子的运算顺序、运算次数以及每次运算时的综合搜索空间;
根据所述多个搜索算子的运算顺序、运算次数以及每次运算时的综合搜索空间,生成所述组合算子。
20.根据权利要求17-19任一项所述的装置,其特征在于,所述搜索配置信息还包括:搜索项信息和搜索模式,其中,每个搜索项对应各自的搜索项信息,所述搜索模式用于表示对所述原模型进行优化时遵循的原则。
21.根据权利要求20所述的装置,其特征在于,所述搜索模式包括精度模式、速度模式、经济模式和资源模式中的任一种。
22.根据权利要求17-21任一项所述的装置,其特征在于,所述搜索配置信息由用户在图形用户界面GUI上进行输入或选择得到。
23.根据权利要求17-22任一项所述的装置,其特征在于,所述装置还包括:资源管理模块,所述资源管理模块用于:
根据所述组合算子,预估对所述原模型进行优化的资源消耗;
根据所述资源消耗,为执行对所述原模型进行优化的操作进行资源调度。
24.根据权利要求17-23任一项所述的装置,其特征在于,
所述配置模块,还用于获取评价指标,所述评价指标表示对所述原模型进行优化后应达到的性能目标;
所述多元搜索模块,具体还用于根据所述组合算子在综合搜索空间进行优化信息搜索,根据所述优化信息对所述原模型进行优化,获得优化后的模型,所述优化后的的模型的性能满足所述评价指标。
25.根据权利要求24所述的装置,其特征在于,所述评价指标包括以下指标中的任意一种或多种:模型的准确率、模型的损失、模型的精确度、模型的召回率。
26.一种模型优化装置,其特征在于,所述装置包括:
配置模块,用于向用户提供配置界面,所述配置界面包括供所述用户选择的搜索项列表;获取原模型和搜索配置信息,所述搜索配置信息包括所述用户在所述搜索项列表中选择的多个搜索项,不同搜索项表示对所述原模型进行优化信息搜索的不同搜索类别;
优化模块,用于根据所述搜索配置信息对所述原模型进行优化;
反馈模块,用于向所述用户提供优化后的模型。
27.根据权利要求26所述的装置,其特征在于,所述用户在所述搜索项列表中选择的多个搜索项包括超参搜索、网络架构搜索、数据增强搜索、损失函数搜索、优化器搜索、模型压缩策略搜索中的至少两种。
28.根据权利要求26或27所述的装置,其特征在于,所述配置界面还包括搜索项信息配置页和搜索模式配置页,所述搜索配置信息还包括所述用户在所述配置界面配置的搜索项信息和搜索模式。
29.根据权利要求28所述的装置,其特征在于,所述搜索模式用于表示对所述原模型进行优化时遵循的原则,所述搜索模式包括精度模式、速度模式、经济模式和资源模式中的任一种。
30.根据权利要求26-29任一项所述的装置,其特征在于,所述优化模块具体用于:
根据所述搜索配置信息,对多个搜索算子进行编排,得到组合算子;
根据所述组合算子,对所述原模型进行优化。
31.根据权利要求30所述的装置,其特征在于,所述优化模块具体用于:
根据所述搜索配置信息,确定所述多个搜索算子的运算顺序、运算次数或每次运算时的综合搜索空间;
根据所述多个搜索算子的运算顺序、运算次数或每次运算时的综合搜索空间,生成所述组合算子。
32.根据权利要求30或31所述的装置,其特征在于,所述装置还包括:资源管理模块,所述资源管理模块用于:
根据所述组合算子,预估对所述原模型进行优化的资源消耗;
根据所述资源消耗,为执行对所述原模型进行优化的操作进行资源调度。
33.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被计算设备执行时,所述计算设备执行上述权利要求1至9或10至16中任一项所述的方法。
34.一种计算设备,其特征在于,所述计算设备包括处理器和存储器,所述存储器用于存储一组计算机指令,当所述处理器执行所述一组计算机指令时,所述计算设备执行上述权利要求1至9或10至16中任一项所述的方法。
CN202010423371.6A 2019-09-17 2020-05-19 模型优化方法、装置、存储介质及设备 Pending CN112529207A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20864854.3A EP4012630A4 (en) 2019-09-17 2020-06-24 MODEL OPTIMIZATION METHOD AND APPARATUS, STORAGE MEDIA AND DEVICE
PCT/CN2020/097973 WO2021051920A1 (zh) 2019-09-17 2020-06-24 模型优化方法、装置、存储介质及设备
US17/694,970 US20220197901A1 (en) 2019-09-17 2022-03-15 Ai model optimization method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910877331 2019-09-17
CN2019108773316 2019-09-17

Publications (1)

Publication Number Publication Date
CN112529207A true CN112529207A (zh) 2021-03-19

Family

ID=74978658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010423371.6A Pending CN112529207A (zh) 2019-09-17 2020-05-19 模型优化方法、装置、存储介质及设备

Country Status (1)

Country Link
CN (1) CN112529207A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114494120A (zh) * 2021-12-20 2022-05-13 苏州镁伽科技有限公司 用于检测设备的算法编辑方法、装置及检测设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114494120A (zh) * 2021-12-20 2022-05-13 苏州镁伽科技有限公司 用于检测设备的算法编辑方法、装置及检测设备

Similar Documents

Publication Publication Date Title
She et al. QoS-aware cloud service composition: A systematic mapping study from the perspective of computational intelligence
US11507677B2 (en) Image classification modeling while maintaining data privacy compliance
WO2022252363A1 (zh) 数据处理方法、计算机设备以及可读存储介质
US11544502B2 (en) Management of indexed data to improve content retrieval processing
CN108121814B (zh) 搜索结果排序模型生成方法和装置
US20230206132A1 (en) Method and Apparatus for Training AI Model, Computing Device, and Storage Medium
CN111881358B (zh) 一种对象推荐系统、方法、装置、电子设备和存储介质
CN116057518A (zh) 使用机器学习模型的自动查询谓词选择性预测
CN116868202A (zh) 一种数据处理方法、装置、设备及介质
Markov et al. Looper: An end-to-end ml platform for product decisions
US20220197901A1 (en) Ai model optimization method and apparatus
US20230334325A1 (en) Model Training Method and Apparatus, Storage Medium, and Device
CN113742578A (zh) 一种数据推荐方法、装置、电子设备及存储介质
CN112529207A (zh) 模型优化方法、装置、存储介质及设备
Li et al. Optimizing ml inference queries under constraints
CN116738081A (zh) 一种前端组件绑定方法、装置及存储介质
CN112990461A (zh) 构建神经网络模型的方法、装置、计算机设备和存储介质
WO2022252694A1 (zh) 神经网络优化方法及其装置
CN113570114B (zh) 一种资源服务智能匹配方法、系统和计算机设备
CN112734005B (zh) 预测模型的确定方法、装置、电子设备及存储介质
CN112818241B (zh) 一种内容推广方法、装置、计算机设备和存储介质
Dreuning et al. mCAP: Memory-Centric Partitioning for Large-Scale Pipeline-Parallel DNN Training
CN117217852B (zh) 一种基于行为识别购买意愿度预测方法及装置
CN114238778B (zh) 基于大数据的科技情报推荐方法、装置、介质及电子设备
Zhang et al. EAIBench: An Energy Efficiency Benchmark for AI Training

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20220215

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination