本发明专利技术公开了一种基于机器学习的GPU显存分配方法及系统,基于机器学习方法建立任务重要度排序模型,并以在任务执行过程中采集到的任务行为特征形成的样本集完成对任务重要度排序模型的训练,在任务执行过程中根据任务的紧急度、重要度及任务执行所需显存与待分配GPU显存之间的关系,动态确定GPU显存在任务中的分配方式,有效提高了GPU显存资源的利用率,解决了在一张卡或一台机器上同时承载更多的训练和预测任务的难题。训练和预测任务的难题。训练和预测任务的难题。
【技术实现步骤摘要】
一种基于机器学习的GPU显存分配方法及系统
[0001]本专利技术属于计算机软件开发
,具体涉及一种基于机器学习的GPU显存分配方法及系统。
技术介绍
[0002]随着计算机技术的不断发展与演变,人工智能逐渐成为主流技术,已经广泛应用于机器视觉、语音、自然语言处理、推荐系统等等各个方面,并且正在向各行各业发展。为了提高深度学习的训练以及预测速度,通常采用图形处理器GPU对深度学习进行加速计算。
[0003]然而实际使用过程中,由于成本控制或设备受限等原因,用户需要在一张GPU卡或一台机器上完成训练和预测任务,此时能否合理地分配GPU显存成为能否正常完成训练和预测任务的关键。由于单台设备上GPU显存是有限的,如果在训练和预测任务执行过程中不对其进行分配限制或分配不合理,都将会造成资源的浪费,进而降低任务的执行效率。
技术实现思路
[0004]有鉴于此,本专利技术提供了一种基于机器学习的GPU显存分配方法及系统,能够实现GPU显存有限条件下的多任务高效执行。
[0005]本专利技术提供的一种基于机器学习的GPU显存分配方法,具体包括以下步骤:步骤1、确定任务的任务类型、采集任务的行为特征,基于行为特征建立任务行为特征集;设定行为特征的权重,预处理所述任务行为特征集得到任务重要度排序样本集;所述任务类型采用任务执行方式及任务紧急度描述;步骤2、采用机器学习方法建立任务重要度排序模型,使用所述任务重要度排序样本集完成对所述任务重要度排序模型的训练;步骤3、实际使用中,若当前可分配GPU显存大于设定阈值,则执行步骤4;否则,等待可分配GPU显存大于设定阈值后执行步骤4;步骤4、提取待执行任务的行为特征,依次选取具有较高任务紧急度的待执行任务执行步骤6;若待执行任务的任务紧急度相同,则执行步骤5;步骤5、将待执行任务的行为特征输入步骤3得到的任务重要度排序模型中,得到待执行任务的重要度排序;若重要度排序中存在相同的重要度取值,则迭代微调步骤1中设定的行为特征的权重执行步骤2得到新的任务重要度排序模型,将待执行任务的行为特征输入新的任务重要度排序模型得到待执行任务的重要度排序,执行步骤6;若重要度排序中存在相同的重要度取值,执行步骤6;步骤6、计算待执行任务的任务必要显存;若所有待执行任务的任务必要显存之和等于可分配GPU显存,则优先为紧急度和重要度均较高的待执行任务分配显存;若所有待执行任务的任务必要显存之和小于可分配GPU显存,则优先为紧急度和重要度均较高的待执行任务分配显存,并将剩余的GPU显存分配给紧急度和重要度均最高的待执行任务;若所有待执行任务的任务必要显存之和大于可分配GPU显存,则按照紧急度及重要度由高到低的
顺序确定待执行任务组合,计算待执行任务组合的任务必要显存之和作为组合任务必要显存,若组合任务必要显存小于可分配GPU显存且差值小于相邻待执行任务的任务必要显存,则为待执行任务组合分配GPU显存后,将剩余显存分配给组合中紧急度最高的待执行任务;若组合任务必要显存小于可分配GPU显存且差值大于相邻待执行任务的任务必要显存,则为待执行任务组合及相邻待执行任务分配GPU显存。
[0006]进一步地,所述GPU显存分配方法还包括,在待执行任务执行完毕后,采用待执行任务的行为特征更新任务行为特征集。
[0007]进一步地,所述行为特征包括任务状态、开发语言、任务所使用平台的名称、网络深度、任务周期、任务使用显存及任务执行时间。
[0008]进一步地,所述步骤1中的设定行为特征的权重,预处理所述任务行为特征集得到任务重要度排序样本集的过程包括:步骤4.1、将任务行为特征集中的数据转换为字符分隔值文件,再根据行为特征的重要性设定行为特征的权重,形成任务行为特征文件;步骤4.2、将所述任务行为特征文件分割为训练样本集和测试样本集;步骤4.3、将所述训练样本集和测试样本集进行标准化处理后得到所述任务重要度排序样本集。
[0009]进一步地,所述步骤6中计算待执行任务的任务必要显存的方式为:根据待执行任务的任务模型的参数量计算任务必要显存。
[0010]本专利技术提供的一种GPU显存分配方法的基于机器学习的GPU显存分配系统,包括任务行为特征采集模块、任务行为特征预处理模块、任务重要度排序模块、GPU显存分配模块、GPU显存监控模块及任务运行模块;所述任务行为特征采集模块,用于确定任务类型采集任务的行为特征,建立任务行为特征集;所述任务行为特征预处理模块,用于设定所述任务行为特征采集模块输出的任务行为特征集中行为特征的权重,对所述任务行为特征集中的数据预处理得到任务重要度排序样本集;所述任务重要度排序模块,用于采用所述任务行为特征预处理模块输出的任务重要度排序样本集,完成对建立的任务重要度排序模型的训练;采用任务重要度排序模型,对输入的具有相同紧急度的待执行任务序列的行为特征进行处理,得到待执行任务的重要度排序;若重要度排序中存在相同的重要度,则通知任务行为特征预处理模块微调设定的行为特征的权重更新任务重要度排序样本集后,重新训练任务重要度排序模型,得到重要度排序;所述GPU显存分配模块,用于计算待执行任务的任务必要显存,根据任务必要显存、任务行为特征采集模块采集到的待执行任务的任务紧急度、任务重要度排序模块输出的重要度排序列表,为所有待执行任务分配显存;所述GPU显存监控模块,用于获取当前任务的行为特征及可分配GPU显存数据,将获取的行为特征和可分配GPU显存发送至所述任务行为特征采集模块;所述任务运行模块,用于根据所述GPU显存分配模块的分配结果完成待执行任务的执行。
[0011]进一步地,所述GPU显存分配模块为所有待执行任务分配显存的方式为:计算待执行任务的任务必要显存;若所有待执行任务的任务必要显存之和等于可
分配GPU显存,则优先为紧急度和重要度均较高的待执行任务分配显存;若所有待执行任务的任务必要显存之和小于可分配GPU显存,则优先为紧急度和重要度均较高的待执行任务分配显存,并将剩余的GPU显存分配给紧急度和重要度均最高的待执行任务;若所有待执行任务的任务必要显存之和大于可分配GPU显存,则按照紧急度及重要度由高到低的顺序确定待执行任务组合,计算待执行任务组合的任务必要显存之和作为组合任务必要显存,若组合任务必要显存小于可分配GPU显存且差值小于相邻待执行任务的任务必要显存,则为待执行任务组合分配GPU显存后,将剩余显存分配给组合中紧急度最高的待执行任务;若组合任务必要显存小于可分配GPU显存且差值大于相邻待执行任务的任务必要显存,则为待执行任务组合及相邻待执行任务分配GPU显存。
[0012]有益效果:本专利技术基于机器学习方法建立任务重要度排序模型,并以在任务执行过程中采集到的任务行为特征形成的样本集完成对任务重要度排序模型的训练,在任务执行过程中根据任务的紧急度、重要度及任务执行所需显存与待分配GPU显存之间的关系,动态确定GPU显存在任务中的分配方式,有效提高了GPU显存资源的利用率,解决了在一张卡或一台机器上同时承载更多的训练和预测任务的难题。
...
【技术保护点】
【技术特征摘要】
1.一种基于机器学习的GPU显存分配方法,其特征在于,具体包括以下步骤:步骤1、确定任务的任务类型、采集任务的行为特征,基于行为特征建立任务行为特征集;设定行为特征的权重,预处理所述任务行为特征集得到任务重要度排序样本集;所述任务类型采用任务执行方式及任务紧急度描述;步骤2、采用机器学习方法建立任务重要度排序模型,使用所述任务重要度排序样本集完成对所述任务重要度排序模型的训练;步骤3、实际使用中,若当前可分配GPU显存大于设定阈值,则执行步骤4;否则,等待可分配GPU显存大于设定阈值后执行步骤4;步骤4、提取待执行任务的行为特征,依次选取具有较高任务紧急度的待执行任务执行步骤6;若待执行任务的任务紧急度相同,则执行步骤5;步骤5、将待执行任务的行为特征输入步骤3得到的任务重要度排序模型中,得到待执行任务的重要度排序;若重要度排序中存在相同的重要度取值,则迭代微调步骤1中设定的行为特征的权重执行步骤2得到新的任务重要度排序模型,将待执行任务的行为特征输入新的任务重要度排序模型得到待执行任务的重要度排序,执行步骤6;若重要度排序中存在相同的重要度取值,执行步骤6;步骤6、计算待执行任务的任务必要显存;若所有待执行任务的任务必要显存之和等于可分配GPU显存,则优先为紧急度和重要度均较高的待执行任务分配显存;若所有待执行任务的任务必要显存之和小于可分配GPU显存,则优先为紧急度和重要度均较高的待执行任务分配显存,并将剩余的GPU显存分配给紧急度和重要度均最高的待执行任务;若所有待执行任务的任务必要显存之和大于可分配GPU显存,则按照紧急度及重要度由高到低的顺序确定待执行任务组合,计算待执行任务组合的任务必要显存之和作为组合任务必要显存,若组合任务必要显存小于可分配GPU显存且差值小于相邻待执行任务的任务必要显存,则为待执行任务组合分配GPU显存后,将剩余显存分配给组合中紧急度最高的待执行任务;若组合任务必要显存小于可分配GPU显存且差值大于相邻待执行任务的任务必要显存,则为待执行任务组合及相邻待执行任务分配GPU显存。2.根据权利要求1所述的GPU显存分配方法,其特征在于,所述GPU显存分配方法还包括,在待执行任务执行完毕后,采用待执行任务的行为特征更新任务行为特征集。3.根据权利要求1所述的GPU显存分配方法,其特征在于,所述行为特征包括任务状态、开发语言、任务所使用平台的名称、网络深度、任务周期、任务使用显存及任务执行时间。4.根据权利要求1所述的GPU显存分配方法,其特征在于,所述步骤1中的设定行为特征的权重,预处理所述任务行为特征集得到任务重要度排序样本集的过程包括:步骤4.1、将任务行为特征集中的数据转换为字符分隔值文件,再根据行为特征的重要性设定行为特征的权重,形成任务行为特征文件;步骤4.2、将所述任务行为特征文件分割为训练样本集和测试样本集;步骤...
【专利技术属性】
技术研发人员:温研,李贺,张毅,
申请(专利权)人:北京麟卓信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。