CN116737334A - 任务调度及数据集标签更新方法、装置和电子设备 - Google Patents
任务调度及数据集标签更新方法、装置和电子设备 Download PDFInfo
- Publication number
- CN116737334A CN116737334A CN202310639161.4A CN202310639161A CN116737334A CN 116737334 A CN116737334 A CN 116737334A CN 202310639161 A CN202310639161 A CN 202310639161A CN 116737334 A CN116737334 A CN 116737334A
- Authority
- CN
- China
- Prior art keywords
- target
- determining
- model
- index
- data set
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004364 calculation method Methods 0.000 claims abstract description 37
- 238000003066 decision tree Methods 0.000 claims description 42
- 238000012549 training Methods 0.000 claims description 33
- 238000005457 optimization Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 18
- 238000012360 testing method Methods 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 13
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 15
- 238000013135 deep learning Methods 0.000 description 13
- 238000000605 extraction Methods 0.000 description 12
- 238000013136 deep learning model Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种任务调度及数据集标签更新方法、装置和电子设备。其中,该方法包括:确定与目标计算任务对应的第一数据集,其中,第一数据集中包括多个目标样本,以及与多个目标样本对应的第一标签值;依据第一代价模型的模型结构信息,分别确定多个目标样本的各个目标特征的目标重要性指标;依据目标重要性指标,确定目标样本对应的第二标签值,并将第一数据集中的第一标签值替换为第二标签值,得到第二数据集;依据第二数据集,重新训练第一代价模型,得到第二代价模型,并依据第二代价模型对目标计算任务进行调度。本申请解决了由于相关技术的自动调度过程中数据集不平衡,造成的自动调度效率低下的技术问题。
Description
技术领域
本申请涉及人工智能技术领域,具体而言,涉及一种任务调度及数据集标签更新方法、装置和电子设备。
背景技术
随着深度学习及硬件架构的不断发展,随之而来的是目前深度学习模型落地部署的困难,针对这一问题目前已经有众多的硬件厂商设计了专用的深度学习加速优化库,但是这些加速优化库仅针对专有硬件提供优化部署。
因此,深度学习编译器的发展是解决模型部署困难的重要发展方向,尽管当前深度学习编译器已经实现从最初的半自动优化到全自动代码优化的实现,并且可以与部分优化库相媲美,但是由于自动调度需要搜索巨大的搜索空间,需要对庞大的搜索样本进行模型训练及预测,同时需要对预测的部分样本进行编译测试,导致目前的自动调度时间过长。
目前,大部分优化工作集中在优化搜索空间及替换代价模型来加速模型的训练,进而减少自动调度带来的巨大时间开销。然而,对深度学习模型而言,一个数据集的好坏往往决定这些模型优化的上限,目前的深度学习框架中自动调度中存在着大量数据不平衡的情况,影响编译寻优过程中调度的性能,进而造成自动调度效率低下的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种任务调度及数据集标签更新方法、装置和电子设备,以至少解决由于相关技术的自动调度过程中数据集不平衡,造成的自动调度效率低下的技术问题。
根据本申请实施例的一个方面,提供了一种任务调度方法,包括:确定与目标计算任务对应的第一数据集,其中,第一数据集中包括多个目标样本,以及与多个目标样本对应的第一标签值,多个目标样本对应的第一标签值用于表征目标硬件执行对应的目标样本所在的调度策略所需的时间代价;依据第一代价模型的模型结构信息,分别确定多个目标样本的各个目标特征的目标重要性指标,其中,第一代价模型通过第一数据集训练得到,用于预测目标硬件执行目标样本所需的时间代价,目标重要性指标用于表征各个目标特征对第一代价模型预测准确率的影响程度;依据目标重要性指标,确定目标样本对应的第二标签值,并将第一数据集中的第一标签值替换为第二标签值,得到第二数据集,其中,第二标签值用于表征目标硬件执行目标样本所需的时间代价;依据第二数据集,重新训练第一代价模型,得到第二代价模型,并依据第二代价模型对目标计算任务进行调度。
可选地,目标重要性指标包括:第一重要性指标、第二重要性指标和第三重要性指标;依据第一代价模型的模型结构信息,确定目标样本的各个目标特征的目标重要性指标包括:在第一数据集中随机选择不同的目标样本组成样本集合,其中,样本集合中目标样本的数量相同;依据第一类第一代价模型的模型结构信息,确定目标特征的第一重要性指标,其中,第一类第一代价模型为通过第一集合训练得到的第一代价模型,第一集合为任一样本集合;依据第二类第一代价模型的模型结构信息,确定目标特征的第二重要性指标,其中,第二类第一代价模型为通过第二集合训练得到的第一代价模型,第二集合为与第一集合不同的样本集合;依据第三类第一代价模型的模型结构信息,确定目标特征的第三重要性指标,其中,第三类第一代价模型为通过第三集合训练得到的第一代价模型,第三集合为与第一集合和第二集合均不同的样本集合。
可选地,依据第一类第一代价模型的模型结构信息,确定目标特征的第一重要性指标包括:确定第一类第一代价模型中的第一决策树,其中,第一决策树至少用于表征第一类第一代价模型的模型结构信息;统计目标特征在第一决策树中所对应的分裂节点的数量,并依据数量确定目标特征的第一重要性指标,其中,每一个分裂节点对应一个目标特征。
可选地,依据第二类第一代价模型的模型结构信息,确定目标特征的第二重要性指标包括:确定第二类第一代价模型中的第二决策树,其中,第二决策树至少用于表征第二类第一代价模型的模型结构信息;确定目标特征在第二决策树中所对应的分裂节点的第一基尼系数,其中,第一基尼系数用于表征分裂节点对应的目标样本集合的不确定性;确定在第二决策树中分裂节点分裂后的子节点的第二基尼系数;计算第一基尼系数与第二基尼系数的目标差值,并依据目标差值,确定目标特征的第二重要性指标。
可选地,依据第三类第一代价模型的模型结构信息,确定目标特征的第三重要性指标包括:确定第三类第一代价模型中的第三决策树,其中,第三决策树至少用于表征第三类第一代价模型的模型结构信息,在第三决策树中,每个分裂节点依据其对应的目标特征,将其对应的目标样本划分至分裂节点分裂后的子节点中;统计在第三决策树中,目标特征对应的分裂节点的第一数量,以及目标特征对应的分裂节点所对应的目标样本的第二数量;依据第一数量和第二数量,确定目标特征的第三重要性指标。
可选地,依据目标重要性指标,确定目标样本对应的第二标签值包括:确定每个目标特征对应的目标系数,其中,目标系数中包括:正系数和负系数;依据目标特征对应的第一重要性指标、第二重要性指标、第三重要性指标、以及目标系数,确定每个目标特征的目标重要性系数;依据目标样本对应的全部目标特征的特征值,以及对应的目标重要性系数,确定目标样本的第二标签值。
可选地,依据目标特征对应的第一重要性指标、第二重要性指标、第三重要性指标、以及目标系数,确定每个目标特征的目标重要性系数包括:将各个目标特征对应的第一重要性指标与目标系数的乘积确定为第一指标,得到第一指标集合,以及将各个目标特征对应的第二重要性指标与目标系数的乘积确定为第二指标,得到第二指标集合,以及将各个目标特征对应的第三重要性指标与目标系数的乘积确定为第三指标,得到第三指标集合;依据第一指标集合中的最大值和最小值,对第一指标集合中的各个第一指标进行归一化处理,以及依据第二指标集合中的最大值和最小值,对第二指标集合中的各个第二指标进行归一化处理,以及依据第三指标集合中的最大值和最小值,对第三指标集合中的各个第三指标进行归一化处理;依据目标特征对应的经过归一化处理的第一指标、经过归一化处理的第二指标、以及经过归一化处理的第三指标,确定目标重要性系数。
可选地,确定与目标计算任务对应的第一数据集包括:将待部署模型划分为多个目标子图,其中,待部署模型为计划部署于目标硬件上的算法模型,待部署模型中存在多个计算环节,每个计算环节对应一个目标子图,目标子图用于表征计算环节计划实现的目标计算任务;依据目标子图对应的目标语法树,确定多个调度策略,其中,目标语法树用于表征目标子图对应的目标计算任务的计算逻辑,调度策略为在目标硬件上实现计算逻辑的计算方式;确定调度策略中的计算操作,并将计算操作确定为目标样本;将每个目标子图所对应的多个调度策略中的全部目标样本,集合为第一数据集,其中,每个目标子图对应一个第一数据集。
可选地,依据第二代价模型对目标计算任务进行调度还包括:依据第二代价模型,确定目标硬件执行目标样本所需的估计时间代价;通过目标硬件,对估计时间代价最小的前预设数量个目标样本进行编译测试,得到实际时间代价;依据估计时间代价和实际时间代价,确定误差参数,并在误差参数超出预设误差阈值的情况下,依据误差参数对第二代价模型进行优化调整,其中,误差参数用于表征第二代价模型预测的精确程度。
根据本申请实施例的另一个方面,还提供了一种数据集标签更新方法,包括:确定与目标计算任务对应的第一数据集,其中,第一数据集中包括多个目标样本,以及与多个目标样本对应的第一标签值,多个目标样本对应的第一标签值用于表征目标硬件执行对应的目标样本所在的调度策略所需的时间代价;依据第一代价模型的模型结构信息,分别确定多个目标样本的各个目标特征的目标重要性指标,其中,第一代价模型通过第一数据集训练得到,用于预测目标硬件执行目标样本所需的时间代价,目标重要性指标用于表征各个目标特征对第一代价模型预测准确率的影响程度;依据目标重要性指标,确定目标样本对应的第二标签值,并将第一数据集中的第一标签值替换为第二标签值,得到第二数据集,其中,第二标签值用于表征目标硬件执行目标样本所需的时间代价。
根据本申请实施例的又一个方面,还提供了一种任务调度装置,包括:数据集确定模块,用于确定与目标计算任务对应的第一数据集,其中,第一数据集中包括多个目标样本,以及与多个目标样本对应的第一标签值,多个目标样本对应的第一标签值用于表征目标硬件执行对应的目标样本所在的调度策略所需的时间代价;特征选择模块,用于依据第一代价模型的模型结构信息,分别确定多个目标样本的各个目标特征的目标重要性指标,其中,第一代价模型通过第一数据集训练得到,用于预测目标硬件执行目标样本所需的时间代价,目标重要性指标用于表征各个目标特征对第一代价模型预测准确率的影响程度;数据集优化模块,用于依据目标重要性指标,确定目标样本对应的第二标签值,并将第一数据集中的第一标签值替换为第二标签值,得到第二数据集,其中,第二标签值用于表征目标硬件执行目标样本所需的时间代价;自由调度模块,用于依据第二数据集,重新训练第一代价模型,得到第二代价模型,并依据第二代价模型对目标计算任务进行调度。
根据本申请实施例的再一方面,还提供了一种电子设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行任务调度方法或者数据集标签更新方法。
根据本申请实施例的再一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的计算机程序,其中,非易失性存储介质所在设备通过运行计算机程序执行任务调度方法或者数据集标签更新方法。
在本申请实施例中,采用确定与目标计算任务对应的第一数据集,其中,第一数据集中包括多个目标样本,以及与多个目标样本对应的第一标签值,多个目标样本对应的第一标签值用于表征目标硬件执行对应的目标样本所在的调度策略所需的时间代价;依据第一代价模型的模型结构信息,分别确定多个目标样本的各个目标特征的目标重要性指标,其中,第一代价模型通过第一数据集训练得到,用于预测目标硬件执行目标样本所需的时间代价,目标重要性指标用于表征各个目标特征对第一代价模型预测准确率的影响程度;依据目标重要性指标,确定目标样本对应的第二标签值,并将第一数据集中的第一标签值替换为第二标签值,得到第二数据集,其中,第二标签值用于表征目标硬件执行目标样本所需的时间代价;依据第二数据集,重新训练第一代价模型,得到第二代价模型,并依据第二代价模型对目标计算任务进行调度的方式,通过对特征重要性进行分析,根据特征的重要性打分并设计相关系数,提出基于特征重要性系数的标签分配法对数据集进行优化,重新设计代价模型,达到了减少了特征提取和模型训练带来的开销的目的,进而解决了由于相关技术的自动调度过程中数据集不平衡,造成的自动调度效率低下技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种自动调度时间开销分布的示意图;
图2是根据本申请实施例提供的一种标签分配的示意图;
图3是根据本申请实施例提供的一种用于实现任务调度方法或者数据集标签更新方法的计算机终端(或电子设备)的硬件结构框图;
图4是根据本申请实施例提供的一种任务调度的方法流程的示意图;
图5是根据本申请实施例提供的一种确定数据集的流程的示意图;
图6是根据本申请实施例提供的一种优化策略的流程的示意图;
图7是根据本申请实施例提供的一种数据集标签更新的方法流程的示意图;
图8是根据本申请实施例提供的一种任务调度装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着深度学习及硬件架构的不断发展,随之而来的是目前深度学习模型落地部署的困难,针对这一问题目前已经有众多的硬件厂商设计了专用的深度学习优化库,如NVIDIA的cuDNN和TensorRT,Intel针对自身CPU和GPU设计的深度学习MKLDNN加速库以实现高性能部署。同时也有一些专用库以实现加速部署。即便已经有众多的高性能优化加速库,但是这些加速优化库只针对专有硬件提供优化部署。因此,深度学习编译器的发展是解决模型部署困难的重要发展方向,其主要目标是自动实现能与手工优化库相媲美的性能优化。目前已出现众多主流的深度学习编译器,如TVM,FlexTensor,Glow,XLA等。
尽管当前深度学习编译器已经实现从最初的半自动优化到全自动代码优化的实现,并且可以与部分优化库相媲美,但是由于自动调度需要搜索巨大的搜索空间,需要代价模型对庞大的搜索样本进行模型训练及预测,同时需要对预测的部分样本进行编译测试,对一个深度学习模型的优化往往需要几个甚至十几个小时。针对目前调度时间过长的问题,大部分优化工作集中在优化搜索空间及替换代价模型来加速模型的训练进而减少自动调度带来的巨大时间开销。对深度学习模型而言,一个数据集的好坏往往决定这些模型优化的上限,目前的深度学习框架中自动调度中存在着大量数据不平衡问题,导致影响编译寻优过程中调度的性能,现有的研究聚焦于模型而非数据,仅通过更换代价模型并不能真正意义上解决当前存在的问题。
为了分析自动调度带来的时间开销,对自动调度期间中的各个模块进行了测试,选取3种深度学习模型作为测试网络模型(例如,ResNet-50、MoblieNetv、SqueezeNet),分别对重要的模块时间进行了相关测试,测试结果如图1所示。对于自动调度Ansor来说,模型训练和特征提取带来的时间开销占比在40%左右,而硬件测试模块带来的开销在55%左右,其他时间开销包括子图划分、搜索空间、模型预测所带来的时间开销仅占比5%左右。如图1所示,代价模型作为自动调度的关键部分,对整个调度结果以及调度时间都会产生巨大的影响,但是目前的自动调度模块中样本集存着标签值分配不均衡的问题。
图2是一个包含矩阵乘和计算最大值的子图调度方案的标签分配的示意图,经过自动调度搜索空间搜索完成之后,会生成大量待测试调度方案,例如,图2中最左侧方框中所示的代码段即为该子图(子任务)对应的一种调度策略,因此需要通过有监督学习模型进行性能评估。由于自动调度每轮迭代是对整个子任务(子图)进行调度生成调度方案,在硬件上测量真实值是对整个调度方案进行真实时间性能测量,然而在样本特征提取的过程中需要对调度方案中的每个最内层计算进行特征提取,现有的标签分配是对每一个样本(调度策略中的一个内层计算即为一个样本)共用总体的测试值,通过这种方式并不能给每一个样本分配有效的标签值,而且会使数据集存在大量不平衡数据,特别是当一个调度方案中存在多个内层计算,会对代价模型产生较大的影响,进而影响调度结果。
为了解决上述问题,本申请实施例中提供了相关的解决方案,以下详细说明。
根据本申请实施例,提供了一种任务调度方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图3示出了一种用于实现任务调度方法或者数据集标签更新方法的计算机终端(或电子设备)的硬件结构框图。如图3所示,计算机终端30(或电子设备30)可以包括一个或多个(图中采用302a、302b,……,302n来示出)处理器302(处理器302可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器304、以及用于通信功能的传输装置306。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端30还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
应当注意到的是上述一个或多个处理器302和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端30(或电子设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器304可用于存储应用软件的软件程序以及模块,如本申请实施例中的任务调度方法或者数据集标签更新方法对应的程序指令/数据存储装置,处理器302通过运行存储在存储器304内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述任务调度方法或者数据集标签更新方法。存储器304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器304可进一步包括相对于处理器302远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端30。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端30的通信供应商提供的无线网络。在一个实例中,传输装置306包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置306可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端30(或电子设备)的用户界面进行交互。
在上述运行环境下,本申请实施例提供了一种任务调度方法,图4是根据本申请实施例提供的一种任务调度的方法流程的示意图,如图4所示,该方法包括如下步骤:
步骤S402,确定与目标计算任务对应的第一数据集,其中,第一数据集中包括多个目标样本,以及与多个目标样本对应的第一标签值,多个目标样本对应的第一标签值用于表征目标硬件执行对应的目标样本所在的调度策略所需的时间代价;
在步骤S402所提供的技术方案中,确定与目标计算任务对应的第一数据集包括以下步骤:将待部署模型划分为多个目标子图,其中,待部署模型为计划部署于目标硬件上的算法模型,待部署模型中存在多个计算环节,每个计算环节对应一个目标子图,目标子图用于表征计算环节计划实现的目标计算任务;依据目标子图对应的目标语法树,确定多个调度策略,其中,目标语法树用于表征目标子图对应的目标计算任务的计算逻辑,调度策略为在目标硬件上实现计算逻辑的计算方式;确定调度策略中的计算操作,并将计算操作确定为目标样本;将每个目标子图所对应的多个调度策略中的全部目标样本,集合为第一数据集,其中,每个目标子图对应一个第一数据集。
具体地,在深度学习模型(即上述待部署模型)中,存在多个计算环节。一个计算环节(计算任务)在实施计算时可以有多种计算实施方案方式,每种计算方式方案可以称为一种调度策略,不同的调度策略虽然执行的结果相同,但是执行起来耗费的时间存在着差异不同。具体而言,目标硬件在执行深度学习模型的计算任务时,会根据计算任务来确定其对应的调度策略。
图5是根据本申请实施例提供的一种确定数据集的流程的示意图,如图5所示,在确定数据集时,首先获取随机注册的Tenset记录数据,通过遍历深度学习模型中各个目标子图对应的TIR语法树(即上述目标语法树),并依据Tenset记录数据,确定该目标子图所对应的多个调度策略。对调度策略进行样本提取,即确定调度策略中的内层计算(即上述计算操作),得到数据不平衡的第一数据集。后续再对第一数据集进行组内打分和优化等操作,得到数据平衡的第二数据集。其中Tesnset是一个公开数据记录,数据记录包括由120个深度学习网络模型在6个硬件平台上组成的5200万条历史数据记录。由于Tenset提供的是保存每个子图调度记录的json文件,因此首先需要先注册记录中的所有的子图到自动调度Ansor,然后利用历史记录json文件,对子图进行变换,对变换后的子图遍历语法树,进行特征提取才能获得能够用于模型训练的数据集。
图6是根据本申请实施例提供的一种优化策略的流程的示意图,如图6所示,首先每次从Tenset数据记录随机选择等量的样本进行特征提取,然后用非平衡数据集(即第一数据集)进行模型(即第一代价模型)训练,并基于特征重要性为每个目标特征设计相应的权重(即目标重要性指标),进行多轮特征提取模型训练求均值作为相应的目标重要性系数,再基于目标重要性系数去除无用特征,基于计算出的目标重要性系数重新设计数据标签,使用平衡后的数据集(即第二数据集)重新训练新的模型(即第二代价模型)以集成到自动调度Ansor中进行相关实验分析。
在自动调度样本评估过程对样本的特征提取会提取到大量无用特征,并且数百万甚至上千万样本特征提取带来的时间开销也是巨大的,此外由于每一轮迭代都会加入新的数据集重新训练代价模型,剔除无用的特征会减少模型训练的开销。而且基于特征重要性对标签重分配能有效解决数据不平衡的问题,提高代价模型的精度。
在本实施例中,为了对巨大搜索空间的样本进行测试,本方法使用xgboost梯度提升树训练代价模型,通过遍历语法树提取相关目标特征,这些目标特征主要包括计算量相关的特征、优化粒度、内存访问量相关的特征。部分特征如下表所示:
步骤S404,依据第一代价模型的模型结构信息,分别确定多个目标样本的各个目标特征的目标重要性指标,其中,第一代价模型通过第一数据集训练得到,用于预测目标硬件执行目标样本所需的时间代价,目标重要性指标用于表征各个目标特征对第一代价模型预测准确率的影响程度;
在步骤S404所提供的技术方案中,目标重要性指标包括:第一重要性指标、第二重要性指标和第三重要性指标;依据第一代价模型的模型结构信息,确定目标样本的各个目标特征的目标重要性指标包括以下步骤:在第一数据集中随机选择不同的目标样本组成样本集合,其中,样本集合中目标样本的数量相同;依据第一类第一代价模型的模型结构信息,确定目标特征的第一重要性指标,其中,第一类第一代价模型为通过第一集合训练得到的第一代价模型,第一集合为任一样本集合;依据第二类第一代价模型的模型结构信息,确定目标特征的第二重要性指标,其中,第二类第一代价模型为通过第二集合训练得到的第一代价模型,第二集合为与第一集合不同的样本集合;依据第三类第一代价模型的模型结构信息,确定目标特征的第三重要性指标,其中,第三类第一代价模型为通过第三集合训练得到的第一代价模型,第三集合为与第一集合和第二集合均不同的样本集合。
本申请方案将基于xgboost的特征重要性的三种度量方法作为指标(即上述目标重要性指标包)。每次选择不同的等量数据集(包括上述第一集合、第二集合和第三集合)训练代价模型,分别用三种度量方式进行评估求均值,得到最终的特征重要性得分,下面对三种度量方式进行进一步介绍。
在本申请的一些实例中,依据第一类第一代价模型的模型结构信息,确定目标特征的第一重要性指标包括以下步骤:确定第一类第一代价模型中的第一决策树,其中,第一决策树至少用于表征第一类第一代价模型的模型结构信息;统计目标特征在第一决策树中所对应的分裂节点的数量,并依据数量确定目标特征的第一重要性指标,其中,每一个分裂节点对应一个目标特征。
具体地,基于权重(Weight)的特征选择,主要是遍历决策树(即上述第一决策树)中的每一个目标特征作为分裂节点的次数,即统计目标特征在第一决策树中所对应的分裂节点的数量,分裂次数越多的目标特征越重要,以分裂次数作为特征重要度量。
基于权重的特征重要性的公式如下所示:
其中,Hi代表第i个特征基于权重的特征重要性(即上述第一重要性指标),T代表决策树的数量,nk代表第k棵树的节点数量,xi代表第i个目标特征,表示遍历的特征与当前特征是否相等,相等返回1,不等返回0。
在本申请的一些实例中,依据第二类第一代价模型的模型结构信息,确定目标特征的第二重要性指标包括以下步骤:确定第二类第一代价模型中的第二决策树,其中,第二决策树至少用于表征第二类第一代价模型的模型结构信息;确定目标特征在第二决策树中所对应的分裂节点的第一基尼系数,其中,第一基尼系数用于表征分裂节点对应的目标样本集合的不确定性;确定在第二决策树中分裂节点分裂后的子节点的第二基尼系数;计算第一基尼系数与第二基尼系数的目标差值,并依据目标差值,确定目标特征的第二重要性指标。
具体地,基于增益(Gain)的特征选择,遍历已训练的决策树(第二决策树)结构中的每个目标特征作为分裂节点后带来的增益的均值作为每个特征的重要性。基于增益的特征重要性如下.
其中,Gi表示第i个目标特征基于基尼系数的特征重要性(即上述第二重要性指标),Tkj,分别代表遍历的树节点和树分裂后的左右节点的损失,例如,Tkj代表目标特征在第二决策树中所对应的分裂节点的第一基尼系数,/>代表分裂节点分裂后的子节点(左右节点)的第二基尼系数。
在本申请的一些实例中,依据第三类第一代价模型的模型结构信息,确定目标特征的第三重要性指标包括以下步骤:确定第三类第一代价模型中的第三决策树,其中,第三决策树至少用于表征第三类第一代价模型的模型结构信息,在第三决策树中,每个分裂节点依据其对应的目标特征,将其对应的目标样本划分至分裂节点分裂后的子节点中;统计在第三决策树中,目标特征对应的分裂节点的第一数量,以及目标特征对应的分裂节点所对应的目标样本的第二数量;依据第一数量和第二数量,确定目标特征的第三重要性指标。
具体地,基于覆盖(Coverage)的特征选择,同样是对已完成训练的决策树(第三决策树)进行遍历,覆盖度量方法关注目标特征在分裂节点中涉及的样本数量。覆盖值较大意味着特征涉及的样本较多,可能对整体预测有更大的贡献。基于覆盖的特征重要性的公式如下所示:
其中,Okj代表代表分裂节点kj覆盖的样本的数量。Ci表示基于覆盖的特征重要性(即上述第三重要性指标)。
步骤S406,依据目标重要性指标,确定目标样本对应的第二标签值,并将第一数据集中的第一标签值替换为第二标签值,得到第二数据集,其中,第二标签值用于表征目标硬件执行目标样本所需的时间代价;
在本申请的一些实例中,依据目标重要性指标,确定目标样本对应的第二标签值包括以下步骤:确定每个目标特征对应的目标系数,其中,目标系数中包括:正系数和负系数;依据目标特征对应的第一重要性指标、第二重要性指标、第三重要性指标、以及目标系数,确定每个目标特征的目标重要性系数;依据目标样本对应的全部目标特征的特征值,以及对应的目标重要性系数,确定目标样本的第二标签值。
在本申请的一些实例中,依据目标特征对应的第一重要性指标、第二重要性指标、第三重要性指标、以及目标系数,确定每个目标特征的目标重要性系数包括以下步骤:将各个目标特征对应的第一重要性指标与目标系数的乘积确定为第一指标,得到第一指标集合,以及将各个目标特征对应的第二重要性指标与目标系数的乘积确定为第二指标,得到第二指标集合,以及将各个目标特征对应的第三重要性指标与目标系数的乘积确定为第三指标,得到第三指标集合;依据第一指标集合中的最大值和最小值,对第一指标集合中的各个第一指标进行归一化处理,以及依据第二指标集合中的最大值和最小值,对第二指标集合中的各个第二指标进行归一化处理,以及依据第三指标集合中的最大值和最小值,对第三指标集合中的各个第三指标进行归一化处理;依据目标特征对应的经过归一化处理的第一指标、经过归一化处理的第二指标、以及经过归一化处理的第三指标,确定目标重要性系数。
具体地,为了防止不同度量方式间的差异性,对每个种度量的特征重要性指标进行线性归一化后求均值作为标签重分配的权重系数(即上述目标重要性系数)。由于不同的目标特征会对调度的时间产生不同的影响,如特征float_mul表示浮点乘的运算量,会增加调度的运行时间,如parallel_len表示并行的粒度,会减小调度的运行时间,因此为每一个特征进行分析,赋予正负系数αi(即上述目标系数),如下所示。
H=(α1H1,α2H2…αmHm),其中,H为m个目标特征基于权重的重要性分数集合(即上述第一指标集合),G=(α1G1,α2G2…αmGm),其中,G为m个特征基于增益的重要性分数集合(即上述第二指标集合),C=(α1C1,α2C2…αmCm),其中,C为m个特征基于覆盖的重要性分数集合(即上述第一指标集合),求得的其目标重要性系数的公式如下所示:
其中,Wi为得到的第i个目标特征的目标重要性系数,用于表征目标特征的重要程度。本文基于特征重要度剔除不重要的特征,通过线性回归,以特征重要性为权重,样本相应特征值为真实数据,为每一个目标样本进行近似打分,对属于相同调度策略下的目标样本按分数比值重新进行标签划分,可以有效的平衡数据集。划分后的第二标签值的公式为:
其中,表示第n个调度策略中的第k个目标样本的标签值(即上述第二标签值),costn表示第n个调度的代价开销,Tn表示第n个调度中的目标样本的集合,/>为第n个调度策略下的第k个目标样本的第i个特征值,/>为第j个目标样本的第i个特征值,m为目标特征的数量。
步骤S408,依据第二数据集,重新训练第一代价模型,得到第二代价模型,并依据第二代价模型对目标计算任务进行调度。
在本申请的一些实施例中,依据第二代价模型对目标计算任务进行调度还包括以下步骤:依据第二代价模型,确定目标硬件执行目标样本所需的估计时间代价;通过目标硬件,对估计时间代价最小的前预设数量个目标样本进行编译测试,得到实际时间代价;依据估计时间代价和实际时间代价,确定误差参数,并在误差参数超出预设误差阈值的情况下,依据误差参数对第二代价模型进行优化调整,其中,误差参数用于表征第二代价模型预测的精确程度。
具体地,TOP_K是一种专门用于评估自动调度的评估指标,由于自动调度期间每轮迭代会对一批样本进行预测,对预测性能最好的前k个目标样本进行目标硬件性能测试,将测试的样本加入遗传种群中指导下一轮迭代,因此自动调度的代价模型本质上是一个排序模型,关注的不是代价模型对样本准确性的预测,而是关注是否能预测出性能最好(即时间代价最小)的前k个目标样本,使用新的评估标准TOP_K提高模型的精度。使用的评估标准(即上述误差参数)包括但不限于:
(1)真实值与预测值的平均绝对误差MAE,公式如下:
(2)真实值与预测值的均方误差RMSE。公式如下:
(3)TOP_K预测出的最优的K个调度的真实值与最大真实值的偏差。公式如下:
其中m为预测调度数量,n为调度方案的总数,Tn为组成第n个调度的样本集合,yi、分别代表样本i的真实值与测试值。max(Y)表示需要预测的全部调度中最优的调度真实值。
本申请方案将相关技术中只聚焦于模型的调度方法转为聚焦于数据的方法,通过特征重要性的标签重分配来优化数据集,解决数据不平衡问题,提高代价模型的精度,特征降维剔除无用特征,减少特征提取。减少了无用特征提取带来的时间开销,同时使用更低维度的特征加快模型的训练。
通过上述步骤,通过对特征重要性进行分析,根据特征的重要性打分并设计相关系数,提出基于特征重要性系数的标签分配法对数据集进行优化,重新设计代价模型,达到了减少了特征提取和模型训练带来的开销的目的,进而解决了由于相关技术的自动调度过程中数据集不平衡,造成的自动调度效率低下技术问题。
根据本申请实施例,还提供了一种数据集标签更新方法的实施例。图7是根据本申请实施例提供的一种数据集标签更新的方法流程的示意图。如图7所示,该方法包括如下步骤:
步骤702,确定与目标计算任务对应的第一数据集,其中,第一数据集中包括多个目标样本,以及与多个目标样本对应的第一标签值,多个目标样本对应的第一标签值用于表征目标硬件执行对应的目标样本所在的调度策略所需的时间代价;
步骤704,依据第一代价模型的模型结构信息,分别确定多个目标样本的各个目标特征的目标重要性指标,其中,第一代价模型通过第一数据集训练得到,用于预测目标硬件执行目标样本所需的时间代价,目标重要性指标用于表征各个目标特征对第一代价模型预测准确率的影响程度;
步骤706,依据目标重要性指标,确定目标样本对应的第二标签值,并将第一数据集中的第一标签值替换为第二标签值,得到第二数据集,其中,第二标签值用于表征目标硬件执行目标样本所需的时间代价。
需要说明的是,本实施例中所提供的数据集标签更新方法与图4所示的任务调度方法相互对应,因此,对上述任务调度方法的相关解释说明也适用于本申请实施例中,在此不再赘述。
根据本申请实施例,还提供了一种任务调度装置的实施例。图8是根据本申请实施例提供的一种任务调度装置的结构示意图。如图8所示,该装置包括:
数据集确定模块80,用于确定与目标计算任务对应的第一数据集,其中,第一数据集中包括多个目标样本,以及与多个目标样本对应的第一标签值,多个目标样本对应的第一标签值用于表征目标硬件执行对应的目标样本所在的调度策略所需的时间代价;
特征选择模块82,用于依据第一代价模型的模型结构信息,分别确定多个目标样本的各个目标特征的目标重要性指标,其中,第一代价模型通过第一数据集训练得到,用于预测目标硬件执行目标样本所需的时间代价,目标重要性指标用于表征各个目标特征对第一代价模型预测准确率的影响程度;
数据集优化模块84,用于依据目标重要性指标,确定目标样本对应的第二标签值,并将第一数据集中的第一标签值替换为第二标签值,得到第二数据集,其中,第二标签值用于表征目标硬件执行目标样本所需的时间代价;
自由调度模块86,用于依据第二数据集,重新训练第一代价模型,得到第二代价模型,并依据第二代价模型对目标计算任务进行调度。
需要说明的是,上述任务调度装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
需要说明的是,本实施例中所提供的任务调度装置可用于执行图4所示的任务调度方法,因此,对上述任务调度方法的相关解释说明也适用于本申请实施例中,在此不再赘述。
本申请实施例还提供了一种非易失性存储介质,非易失性存储介质包括存储的计算机程序,其中,非易失性存储介质所在设备通过运行计算机程序执行以下任务调度方法:确定与目标计算任务对应的第一数据集,其中,第一数据集中包括多个目标样本,以及与多个目标样本对应的第一标签值,多个目标样本对应的第一标签值用于表征目标硬件执行对应的目标样本所在的调度策略所需的时间代价;依据第一代价模型的模型结构信息,分别确定多个目标样本的各个目标特征的目标重要性指标,其中,第一代价模型通过第一数据集训练得到,用于预测目标硬件执行目标样本所需的时间代价,目标重要性指标用于表征各个目标特征对第一代价模型预测准确率的影响程度;依据目标重要性指标,确定目标样本对应的第二标签值,并将第一数据集中的第一标签值替换为第二标签值,得到第二数据集,其中,第二标签值用于表征目标硬件执行目标样本所需的时间代价;依据第二数据集,重新训练第一代价模型,得到第二代价模型,并依据第二代价模型对目标计算任务进行调度。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (13)
1.一种任务调度方法,其特征在于,包括:
确定与目标计算任务对应的第一数据集,其中,所述第一数据集中包括多个目标样本,以及与所述多个目标样本对应的第一标签值,所述多个目标样本对应的第一标签值用于表征目标硬件执行对应的目标样本所在的调度策略所需的时间代价;
依据第一代价模型的模型结构信息,分别确定所述多个目标样本的各个目标特征的目标重要性指标,其中,所述第一代价模型通过所述第一数据集训练得到,用于预测所述目标硬件执行所述目标样本所需的时间代价,所述目标重要性指标用于表征所述各个目标特征对所述第一代价模型预测准确率的影响程度;
依据所述目标重要性指标,确定所述目标样本对应的第二标签值,并将所述第一数据集中的所述第一标签值替换为所述第二标签值,得到第二数据集,其中,所述第二标签值用于表征所述目标硬件执行所述目标样本所需的时间代价;
依据所述第二数据集,重新训练所述第一代价模型,得到第二代价模型,并依据所述第二代价模型对所述目标计算任务进行调度。
2.根据权利要求1所述的任务调度方法,其特征在于,所述目标重要性指标包括:第一重要性指标、第二重要性指标和第三重要性指标;依据第一代价模型的模型结构信息,确定所述目标样本的各个目标特征的目标重要性指标包括:
在所述第一数据集中随机选择不同的目标样本组成样本集合,其中,所述样本集合中目标样本的数量相同;
依据第一类第一代价模型的模型结构信息,确定所述目标特征的所述第一重要性指标,其中,所述第一类第一代价模型为通过第一集合训练得到的所述第一代价模型,所述第一集合为任一样本集合;
依据第二类第一代价模型的模型结构信息,确定所述目标特征的所述第二重要性指标,其中,所述第二类第一代价模型为通过第二集合训练得到的所述第一代价模型,所述第二集合为与所述第一集合不同的样本集合;
依据第三类第一代价模型的模型结构信息,确定所述目标特征的所述第三重要性指标,其中,所述第三类第一代价模型为通过第三集合训练得到的所述第一代价模型,所述第三集合为与所述第一集合和所述第二集合均不同的样本集合。
3.根据权利要求2所述的任务调度方法,其特征在于,依据第一类第一代价模型的模型结构信息,确定所述目标特征的所述第一重要性指标包括:
确定所述第一类第一代价模型中的第一决策树,其中,第一决策树至少用于表征所述第一类第一代价模型的模型结构信息;
统计所述目标特征在所述第一决策树中所对应的分裂节点的数量,并依据所述数量确定所述目标特征的所述第一重要性指标,其中,每一个所述分裂节点对应一个所述目标特征。
4.根据权利要求2所述的任务调度方法,其特征在于,依据第二类第一代价模型的模型结构信息,确定所述目标特征的所述第二重要性指标包括:
确定所述第二类第一代价模型中的第二决策树,其中,所述第二决策树至少用于表征所述第二类第一代价模型的模型结构信息;
确定所述目标特征在所述第二决策树中所对应的分裂节点的第一基尼系数,其中,所述第一基尼系数用于表征所述分裂节点对应的目标样本集合的不确定性;
确定在所述第二决策树中所述分裂节点分裂后的子节点的第二基尼系数;
计算所述第一基尼系数与所述第二基尼系数的目标差值,并依据所述目标差值,确定所述目标特征的所述第二重要性指标。
5.根据权利要求2所述的任务调度方法,其特征在于,依据第三类第一代价模型的模型结构信息,确定所述目标特征的所述第三重要性指标包括:
确定所述第三类第一代价模型中的第三决策树,其中,所述第三决策树至少用于表征所述第三类第一代价模型的模型结构信息,在所述第三决策树中,每个分裂节点依据其对应的所述目标特征,将其对应的目标样本划分至所述分裂节点分裂后的子节点中;
统计在所述第三决策树中,所述目标特征对应的所述分裂节点的第一数量,以及所述目标特征对应的所述分裂节点所对应的所述目标样本的第二数量;
依据所述第一数量和所述第二数量,确定所述目标特征的所述第三重要性指标。
6.根据权利要求2所述的任务调度方法,其特征在于,依据所述目标重要性指标,确定所述目标样本对应的第二标签值包括:
确定每个所述目标特征对应的目标系数,其中,所述目标系数中包括:正系数和负系数;
依据所述目标特征对应的所述第一重要性指标、所述第二重要性指标、所述第三重要性指标、以及所述目标系数,确定每个所述目标特征的目标重要性系数;
依据所述目标样本对应的全部所述目标特征的特征值,以及对应的所述目标重要性系数,确定所述目标样本的所述第二标签值。
7.根据权利要求6所述的任务调度方法,其特征在于,依据所述目标特征对应的所述第一重要性指标、所述第二重要性指标、所述第三重要性指标、以及所述目标系数,确定每个所述目标特征的目标重要性系数包括:
将各个所述目标特征对应的所述第一重要性指标与所述目标系数的乘积确定为第一指标,得到第一指标集合,以及将各个所述目标特征对应的所述第二重要性指标与所述目标系数的乘积确定为第二指标,得到第二指标集合,以及将各个所述目标特征对应的所述第三重要性指标与所述目标系数的乘积确定为第三指标,得到第三指标集合;
依据所述第一指标集合中的最大值和最小值,对所述第一指标集合中的各个所述第一指标进行归一化处理,以及依据所述第二指标集合中的最大值和最小值,对所述第二指标集合中的各个所述第二指标进行归一化处理,以及依据所述第三指标集合中的最大值和最小值,对所述第三指标集合中的各个所述第三指标进行归一化处理;
依据所述目标特征对应的经过所述归一化处理的所述第一指标、经过所述归一化处理的所述第二指标、以及经过所述归一化处理的所述第三指标,确定所述目标重要性系数。
8.根据权利要求1所述的任务调度方法,其特征在于,确定与目标计算任务对应的第一数据集包括:
将待部署模型划分为多个目标子图,其中,所述待部署模型为计划部署于所述目标硬件上的算法模型,所述待部署模型中存在多个计算环节,每个所述计算环节对应一个所述目标子图,所述目标子图用于表征所述计算环节计划实现的所述目标计算任务;
依据所述目标子图对应的目标语法树,确定多个所述调度策略,其中,所述目标语法树用于表征所述目标子图对应的所述目标计算任务的计算逻辑,所述调度策略为在所述目标硬件上实现所述计算逻辑的计算方式;
确定所述调度策略中的计算操作,并将所述计算操作确定为所述目标样本;
将每个所述目标子图所对应的多个所述调度策略中的全部所述目标样本,集合为所述第一数据集,其中,每个所述目标子图对应一个所述第一数据集。
9.根据权利要求1所述的任务调度方法,其特征在于,依据所述第二代价模型对所述目标计算任务进行调度还包括:
依据所述第二代价模型,确定所述目标硬件执行所述目标样本所需的估计时间代价;
通过所述目标硬件,对所述估计时间代价最小的前预设数量个所述目标样本进行编译测试,得到实际时间代价;
依据所述估计时间代价和所述实际时间代价,确定误差参数,并在所述误差参数超出预设误差阈值的情况下,依据所述误差参数对所述第二代价模型进行优化调整,其中,所述误差参数用于表征所述第二代价模型预测的精确程度。
10.一种数据集标签更新方法,其特征在于,包括:
确定与目标计算任务对应的第一数据集,其中,所述第一数据集中包括多个目标样本,以及与所述多个目标样本对应的第一标签值,所述多个目标样本对应的第一标签值用于表征目标硬件执行对应的目标样本所在的调度策略所需的时间代价;
依据第一代价模型的模型结构信息,分别确定所述多个目标样本的各个目标特征的目标重要性指标,其中,所述第一代价模型通过所述第一数据集训练得到,用于预测所述目标硬件执行所述目标样本所需的时间代价,所述目标重要性指标用于表征所述各个目标特征对所述第一代价模型预测准确率的影响程度;
依据所述目标重要性指标,确定所述目标样本对应的第二标签值,并将所述第一数据集中的所述第一标签值替换为所述第二标签值,得到第二数据集,其中,所述第二标签值用于表征所述目标硬件执行所述目标样本所需的时间代价。
11.一种任务调度装置,其特征在于,包括:
数据集确定模块,用于确定与目标计算任务对应的第一数据集,其中,所述第一数据集中包括多个目标样本,以及与所述多个目标样本对应的第一标签值,所述多个目标样本对应的第一标签值用于表征目标硬件执行对应的目标样本所在的调度策略所需的时间代价;
特征选择模块,用于依据第一代价模型的模型结构信息,分别确定所述多个目标样本的各个目标特征的目标重要性指标,其中,所述第一代价模型通过所述第一数据集训练得到,用于预测所述目标硬件执行所述目标样本所需的时间代价,所述目标重要性指标用于表征所述各个目标特征对所述第一代价模型预测准确率的影响程度;
数据集优化模块,用于依据所述目标重要性指标,确定所述目标样本对应的第二标签值,并将所述第一数据集中的所述第一标签值替换为所述第二标签值,得到第二数据集,其中,所述第二标签值用于表征所述目标硬件执行所述目标样本所需的时间代价;
自由调度模块,用于依据所述第二数据集,重新训练所述第一代价模型,得到第二代价模型,并依据所述第二代价模型对所述目标计算任务进行调度。
12.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至9中任意一项所述的任务调度方法或权利要求10中所述的数据集标签更新方法。
13.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的计算机程序,其中,所述非易失性存储介质所在设备通过运行所述计算机程序执行权利要求1至9中任意一项所述任务调度方法或权利要求10中所述的数据集标签更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310639161.4A CN116737334A (zh) | 2023-05-31 | 2023-05-31 | 任务调度及数据集标签更新方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310639161.4A CN116737334A (zh) | 2023-05-31 | 2023-05-31 | 任务调度及数据集标签更新方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116737334A true CN116737334A (zh) | 2023-09-12 |
Family
ID=87916091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310639161.4A Pending CN116737334A (zh) | 2023-05-31 | 2023-05-31 | 任务调度及数据集标签更新方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737334A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117252665A (zh) * | 2023-11-14 | 2023-12-19 | 苏州元脑智能科技有限公司 | 业务推荐方法、装置、电子设备及存储介质 |
-
2023
- 2023-05-31 CN CN202310639161.4A patent/CN116737334A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117252665A (zh) * | 2023-11-14 | 2023-12-19 | 苏州元脑智能科技有限公司 | 业务推荐方法、装置、电子设备及存储介质 |
CN117252665B (zh) * | 2023-11-14 | 2024-02-20 | 苏州元脑智能科技有限公司 | 业务推荐方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shang et al. | Democratizing data science through interactive curation of ml pipelines | |
US20210174246A1 (en) | Adaptive learning system utilizing reinforcement learning to tune hyperparameters in machine learning techniques | |
CN104834479A (zh) | 面向云平台的自动优化存储系统配置的方法及系统 | |
CN111327655A (zh) | 多租户容器资源配额预测方法、装置及电子设备 | |
US10719639B2 (en) | Massively accelerated Bayesian machine | |
CN116737334A (zh) | 任务调度及数据集标签更新方法、装置和电子设备 | |
CN111309577B (zh) | 一种面向Spark的批处理应用执行时间预测模型构建方法 | |
CN116432570A (zh) | 一种芯片的测试用例生成方法、装置及存储介质 | |
CN116151319A (zh) | 搜索神经网络集成模型的方法、装置和电子设备 | |
CN110222824B (zh) | 智能算法模型自主生成及进化方法、系统、装置 | |
CN110263136B (zh) | 基于强化学习模型向用户推送对象的方法和装置 | |
CN117094535B (zh) | 基于人工智能的能源补给管理方法及系统 | |
CN112463532B (zh) | 构建snn工作负载自动映射器的方法及自动映射器 | |
Hoffmann et al. | Improving automated hyperparameter optimization with case-based reasoning | |
CN111026661B (zh) | 一种软件易用性全面测试方法及系统 | |
CN115239122A (zh) | 数字电网软件项目测试人员推荐方法及装置 | |
CN113935407A (zh) | 一种异常行为识别模型确定方法及装置 | |
CN113393023A (zh) | 模具质量评估方法、装置、设备及存储介质 | |
CN117608809B (zh) | 基于梯度提升决策树的多任务计划进度预测系统 | |
CN112926611B (zh) | 特征提取方法、装置及计算机可读存储介质 | |
CN117688881B (zh) | 基于人工智能的集成电路验证方法、装置及存储介质 | |
CN113435655B (zh) | 扇区动态管理决策方法、服务器及系统 | |
Öhl et al. | Algorithm Configuration for Hypergraph Partitioning | |
CN118036920A (zh) | 一种基于光伏需求的供应商竞争型匹配方法及系统 | |
CN112926611A (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 |