CN115437781B - 一种gpu资源管理方法及系统 - Google Patents

一种gpu资源管理方法及系统 Download PDF

Info

Publication number
CN115437781B
CN115437781B CN202210770481.9A CN202210770481A CN115437781B CN 115437781 B CN115437781 B CN 115437781B CN 202210770481 A CN202210770481 A CN 202210770481A CN 115437781 B CN115437781 B CN 115437781B
Authority
CN
China
Prior art keywords
gpu
model
reasoning
service
gpu resource
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
Application number
CN202210770481.9A
Other languages
English (en)
Other versions
CN115437781A (zh
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.)
Beijing Zetyun Tech Co ltd
Original Assignee
Beijing Zetyun Tech 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 Beijing Zetyun Tech Co ltd filed Critical Beijing Zetyun Tech Co ltd
Priority to CN202210770481.9A priority Critical patent/CN115437781B/zh
Publication of CN115437781A publication Critical patent/CN115437781A/zh
Application granted granted Critical
Publication of CN115437781B publication Critical patent/CN115437781B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 Physics & Mathematics (AREA)
  • General Engineering & Computer Science (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

本发明实施例提供一种GPU资源管理方法及系统。所述方法包括响应于模型推理服务,获取模型推理信息;根据所述模型推理信息,确定GPU资源调整方式;根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整。本发明实施例通过模型推理信息自动调整GPU资源,提高了GPU资源的资源利用率,降低了操作的复杂程度。

Description

一种GPU资源管理方法及系统
技术领域
本发明涉及存储技术领域,尤其涉及一种GPU资源管理方法及系统。
背景技术
随着人工智能和大数据的快速发展,使用机器学习技术训练业务模型,并使用训练好的业务模型实现大数据业务智能化处理也逐渐成为大数据行业的通用手段。针对具体的业务模型,在模型指定的训练环境中训练得到模型后,需要将其封装,再将模型部署为在线推理服务,当用户使用与训练环境相同的运行环境时,即可使用该推理服务。而AI推理正是基于训练好的业务模型完成一系列图像识别、文字识别、语音识别等技术的推理计算,因此AI推理的执行依赖于GPU资源。由于不同业务模型的计算时间和运行时长不同,各AI推理所需要的GPU资源会随着业务持续性及周期性变化而变化;而GPU资源配置通常是固定的,当出现突发情况时会出现无法应对的现象,需要工程师手动调整GPU资源配置,操作复杂,效率低,且GPU资源利用率低。
发明内容
本发明实施例提供一种GPU资源管理方法及系统,解决现有的现有技术中工程师手动调整GPU资源配置,操作复杂,效率低,且GPU资源利用率低的问题。
为解决上述技术问题,本发明提供一种GPU资源管理方法,所述方法包括:
响应于模型推理服务,获取模型推理信息;
根据所述模型推理信息,确定GPU资源调整方式;
根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整。
可选的,上述方法中,所述模型推理信息包括模型推理类型,所述模型推理类型包括在线推理和模型跑批推理;
所述根据所述模型推理信息,确定GPU资源调整方式的步骤包括:
若所述模型推理类型为所述在线推理,确定所述GPU资源调整方式为动态调整方式;
若所述模型推理类型为所述模型跑批推理,确定所述GPU资源调整方式为静态调整方式。
可选的,上述方法中,所述模型推理信息包括待处理的数据量,若所述GPU资源调整方式为动态调整方式,所述方法还包括:
在当前模型推理服务的待处理的数据量在预设数量范围内时,确定所述动态调整方式为实例横向伸缩;
在当前模型推理服务的待处理的数据量未在预设数量范围内时,确定所述动态调整方式为实例中的GPU资源伸缩。
可选的,上述方法中,所述预设数量范围由用户预先设置;或者,
所述预设数量范围根据推理模型大小、推理模型的数据处理能力、业务响应速度中的至少一项确定。
可选的,上述方法中,当所述GPU资源调整方式为实例横向伸缩时,所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整的步骤包括:
根据所述模型推理信息,得到与所述模型推理服务对应的目标并发度;
根据所述目标并发度以及执行所述模型推理服务系统的当前并发度,确定实例横向伸/缩的调整数量;
根据所述实例横向伸/缩的调整数量,增加或减少执行所述模型推理服务的实例。
可选的,上述方法中,当所述GPU资源调整方式为实例中的GPU资源伸缩时,所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整的步骤包括:
根据模型推理信息包括的待处理的数据量以及当前模型推理服务使用的当前GPU资源确定当前模型推理服务需要调整的GPU资源;
根据所述当前模型推理服务需要调整的GPU资源调整所述当前模型推理服务的实例的GPU资源。
可选的,上述方法中,在所述GPU资源调整方式为静态调整方式的情况下,所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整的步骤包括:
获取所述模型推理服务待处理的数据量;
根据所述模型推理服务待处理的数据量确定执行所述模型推理服务需要的目标GPU资源;
其中,所述目标GPU资源包括物理GPU或者虚拟GPU资源;所述虚拟GPU资源由多个相同型号的子虚拟GPU资源合并生成;
在所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整的步骤之后,还包括:
根据所述目标GPU资源执行模型跑批推理服务。
可选的,上述方法中,若所述目标GPU资源为虚拟GPU资源,在所述根据所述目标GPU资源执行模型跑批推理服务之后,所述方法还包括:
基于各个所述子虚拟GPU的规格,拆分所述虚拟GPU资源。
可选的,上述方法中,所述响应于模型推理服务,获取模型推理类型的步骤之前,所述方法还包括:
获取模型推理服务的业务服务信息以及GPU卡片注册信息;
根据所述历史业务信息以及所述GPU卡片注册信息,确定GPU虚拟处理方式;
基于所述GPU虚拟处理方式对注册的GPU卡片进行处理,得到GPU资源池;
其中,所述GPU虚拟处理方式包括对注册的GPU卡片全部虚拟化处理或对注册的GPU卡片部分虚拟化处理。
可选的,上述方法中,所述根据历史业务信息以及GPU卡片注册信息,确定GPU虚拟处理方式步骤包括:
根据历史业务信息以及GPU卡片注册信息确定虚拟GPU的资源规格;
根据所述虚拟GPU的资源规格对GPU卡片进行虚拟化操作,得到所述GPU资源池;
其中,所述历史业务信息包括以下至少一项:业务对应的推理模型的大小,业务对应的模型推理类型,单次模型推理的业务数据。
本发明实施例还提供了一种GPU资源管理系统,所述系统包括:
第一获取模块,用于响应于模型推理服务,获取模型推理信息;
第一确定模块,用于根据所述模型推理信息,确定GPU资源调整方式;
调整模块,用于根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整。
可选的,上述系统中,所述模型推理信息包括模型推理类型,所述模型推理类型包括在线推理和模型跑批推理;
所述第一确定模块包括:
第一确定子模块,用于若所述模型推理类型为所述在线推理,确定所述GPU资源调整方式为动态调整方式;
第二确定子模块,用于若所述模型推理类型为所述模型跑批推理,确定所述GPU资源调整方式为静态调整方式。
可选的,上述系统中,所述模型推理信息还包括待处理的数据量,若所述GPU资源调整方式为动态调整方式,所述第一确定子模块包括:
第一确定单元,用于在当前模型推理服务的待处理的数据量在预设数量范围内时,确定所述动态调整方式为实例横向伸缩;
第二确定单元,用于在当前模型推理服务的待处理的数据量未在预设数量范围内时,确定所述动态调整方式为实例中的GPU资源伸缩。
可选的,上述系统中,所述预设数量范围由用户预先设置;或者,
所述预设数量范围根据推理模型大小、推理模型的数据处理能力、业务响应速度中的至少一项确定。
可选的,上述系统中,当所述GPU资源调整方式为实例横向伸缩时,所述调整模块包括:
第一获取子模块,用于根据所述模型推理信息,得到与所述模型推理服务对应的目标并发度;
第三确定子模块,用于根据所述目标并发度以及执行所述模型推理服务系统的当前并发度,确定实例横向伸/缩的调整数量;
第一调整子模块,用于根据所述实例横向伸/缩的调整数量,增加或减少执行所述模型推理服务的实例。
可选的,上述系统中,当所述GPU资源调整方式为实例中的GPU资源伸缩时,所述调整模块包括:
第四确定子模块,用于根据模型推理信息包括的待处理的数据量以及当前模型推理服务使用的当前GPU资源确定当前模型推理服务需要调整的GPU资源;
第二调整子模块,用于根据所述当前模型推理服务需要调整的GPU资源调整所述当前模型推理服务的实例的GPU资源。
可选的,上述系统中,在所述GPU资源调整方式为静态调整方式的情况下,所述调整模块包括:
第二获取子模块,用于获取所述模型推理服务待处理的数据量;
第五确定子模块,用于根据所述模型推理服务待处理的数据量确定执行所述模型推理服务需要的目标GPU资源;
其中,所述目标GPU资源包括物理GPU或者虚拟GPU资源;所述虚拟GPU资源由多个相同型号的子虚拟GPU资源合并生
执行子模块,用于在所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整之后,根据所述目标GPU资源执行模型跑批推理服务。
可选的,上述系统中,若所述目标GPU资源为虚拟GPU资源,所述调整模块还包括:
拆分子模块,用于基于各个所述子虚拟GPU的规格,拆分所述虚拟GPU资源。
可选的,上述系统还包括:
第二获取模块,用于获取模型推理服务的历史业务信息以及GPU卡片注册信息;
第二确定模块,用于根据所述历史业务信息以及所述GPU卡片注册信息,确定GPU虚拟处理方式;
处理模块,用于基于所述GPU虚拟处理方式对注册的GPU卡片进行处理,得到GPU资源池;
其中,所述GPU虚拟处理方式包括对注册的GPU卡片全部虚拟化处理或对注册的GPU卡片部分虚拟化处理。
可选的,上述系统中,所述第二确定模块包括:
第六确定子模块,用于根据历史业务信息以及GPU卡片注册信息确定虚拟GPU的资源规格;
虚拟化子模块,用于根据所述虚拟GPU的资源规格对GPU卡片进行虚拟化操作,得到所述GPU资源池;
其中,所述历史业务信息包括以下至少一项:业务对应的推理模型的大小,业务对应的模型推理类型,单次模型推理的业务数据。
本发明实施例还提供了一种GPU资源管理系统,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的GPU资源管理方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述的GPU资源管理方法的步骤。
本发明实施例通过模型推理信息确定GPU资源调整方式,从而基于GPU资源调整方式调整GPU资源,提高了GPU资源的资源利用率,降低了操作的复杂程度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获取其他的附图。
图1是本发明实施例提供的一种GPU资源管理方法的流程图;
图2是本发明实施例提供的一种GPU资源管理系统的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例提供的GPU资源管理方法的流程图,所述GPU资源管理方法应用于GPU资源管理系统,如图1所示,GPU资源管理方法包括以下步骤:
步骤101,响应于模型推理服务,获取模型推理信息。
其中,在执行模型推理服务时,可以获取模型推理信息。所述模型推理信息包括但不限于下述至少一项:推理服务应用的业务场景、模型推理类型、待处理的数据量。
这里,推理模型包括机器学习模型。模型推理一般分为模型在线推理和模型跑批推理两种类型。在线推理通过Rest API(representational state transfer applicationprogramming interface,表现层状态变换应用编程接口)对下游系统暴露模型推理接口,下游系统通过调用该接口将推理数据送给推理模型,完成推理后将推理结果返回给下游系统。模型跑批推理通过代码将模型读取到内存中,然后将推理数据批量送入模型中,完成推理后将推理结果根据业务需要在进行处理。
可选的,所述响应于模型推理服务,获取模型推理类型的步骤101之前,所述方法还包括:
获取模型推理服务的历史业务信息以及GPU卡片注册信息;
根据所述历史业务信息以及所述GPU卡片注册信息,确定GPU虚拟处理方式;
基于所述GPU虚拟处理方式对注册的GPU卡片进行处理,得到GPU资源池;
其中,所述GPU虚拟处理方式包括对注册的GPU卡片全部虚拟化处理或对注册的GPU资卡片部分虚拟化处理。
具体的,可以直接根据业务历史信息以及GPU卡片注册信息直接确定GPU虚拟处理方式。还可以根据历史业务信息预测未来的业务情况,根据预测的未来业务情况确定GPU虚拟处理方式。根据确定的GPU虚拟处理方式选择将注册的全部GPU卡片或注册的部分GPU卡片进行虚拟化处理,得到GPU资源池,将虚拟化处理后的GPU称为虚拟GPU,GPU资源池包含虚拟GPU资源,还可以包含物理GPU。
可选的,所述基于所述GPU虚拟处理方式对GPU资源进行处理,得到GPU资源池的步骤包括:
根据历史业务信息以及GPU卡片注册信息确定虚拟GPU的资源规格;
根据所述虚拟GPU的资源规格对GPU卡片进行虚拟化操作,得到所述GPU资源池;
其中,所述历史业务信包括以下至少一项:业务对应的推理模型的大小,业务对应的模型推理类型,单次模型推理的业务数据。
具体的,对于已经安装到物理机上的GPU卡片注册到GPU资源管理系统中,GPU资源管理系统获取这些GPU卡片的注册信息,基于该注册信息对GPU进行统一管理。注册信息包括GPU卡片的型号,核心数,显存数及该卡片所处的物理机等信息,这些GPU卡片可以是相同型号的,也可以不同型号。
先根据历史业务信息以及GPU卡片注册信息确定虚拟GPU的资源规格,然后根据虚拟处理方式从注册到GPU资源管理系统中的GPU卡片中选择待虚拟化的物理GPU,根据确定的所述虚拟GPU的资源规格对所述待虚拟化的物理GPU进行虚拟化操作,完成虚拟化操作后生成GPU资源池,该资源池可以包括GPU和虚拟GPU两种资源。需要说明的是,资源规格可以是同一种规格,也可是不同的规格。
本发明实施例中可选的是,GPU卡片注册信息包括GPU显存,根据历史业务信息以及GPU卡片注册信息确定虚拟GPU的资源规格的步骤包括:根据历史业务信息中包含的推理模型大小以及所述推理模型单次推理的数据量大小,得到所需的虚拟GPU个数;根据得到的虚拟GPU个数以及所述GPU显存,确定虚拟GPU的资源规格。
具体的,可以基于以下公式得到:
虚拟GPU个数=GPU显存/(模型大小+单次推理的数据量大小),结果向上取整。
虚拟GPU资源规格=GPU显存/虚拟GPU个数。
示例性的,假设GPU资源管理系统上有Tesla P4 8G和Tesla V100 32G 2块两种型号的GPU卡片,有2个大小分别为1G、2G的模型,1G大小的模型作为在线推理服务,每次推理的数据量为1M,2G大小的模型作为模型跑批服务,每次推理的最大数据量不超过10G,则可以选择将P4虚拟化为4块虚拟GPU,每块虚拟GPU拥有2G显存和25%的算力,用于1G模型的推理服务,将V100虚拟化为2块虚拟GPU,每块虚拟GPU拥有16G显存和50%的算力,用于2G模型的推理服务。
本发明实施例通过对注册的GPU卡进行虚拟化处理,可以实现对GPU资源异构管理,可以实现对多种不同型号的GPU卡进行管理,以满足各个模型推理业务的需求,同时有效减少GPU资源的浪费。
步骤102,根据所述模型推理信息,确定GPU资源调整方式。
其中,根据模型推理信息的不同,可以为模型推理服务确定不同的GPU资源调整方式。
具体的,若模型推理信息包括推理服务应用的业务场景,步骤102包括:基于推理服务应用的业务场景,确定与所述业务场景对应的模型推理类型,从而确定与该模型推理类型匹配的GPU资源调整方式。
可选的,所述模型推理信息包括模型推理类型,模型推理类型包括在线推理和模型跑批推理;所述根据所述模型推理信息,确定GPU资源调整方式的步骤包括:
若所述模型推理类型为所述在线推理,确定所述GPU资源调整方式为动态调整方式;
若所述模型推理类型为所述模型跑批推理,确定所述GPU资源调整方式为静态调整方式。
具体的,在所述模型推理类型为所述在线推理时,确定所述GPU资源调整方式为动态调整方式;在所述模型推理类型为所述模型跑批推理,确定所述GPU资源调整方式为静态调整方式。本发明实施例根据模型推理类型为模型推理服务确定对应的GPU资源调整方式,能够满足不同模型推理类型的业务需要,提高了GPU资源的利用率。
可选的,所述模型推理信息包括待处理的数据量,若所述GPU资源调整方式为动态调整方式,所述方法还包括:
在当前模型推理服务的待处理的数据量在预设数量范围内时,确定所述动态调整方式为实例横向伸缩;
在当前模型推理服务的待处理的数据量未在预设数量范围内时,确定所述动态调整方式为实例中的GPU资源伸缩。
其中,所述预设数量范围由用户预先设置;或者,所述预设数据范围根据推理模型大小和/或、推理模型的数据处理能力、业务响应速度中的至少一项确定。
具体的,根据当前模型推理服务的待处理的数据量,确定所述动态调整方式;所述动态调整方式包括:实例横向伸缩和实例中的CPU资源伸缩。在当前单次推理任务待处理的数据量在预设数量范围内时,例如,当访问量(即当前模型推理服务的数据量)超过预设数量范围,确定当前推理任务的数据量比较固定,并发度较高,则确定所述GPU资源动态调整方式为实例横向伸缩。示例性的,当前的推理服务每秒可以处理10次推理服务,但实际业务每秒会进行18次推理,则确定需要进行实例横向扩容。在当前推理任务待处理的数据量未在预设数量范围内时,确定每次推理任务的数据量并非是固定的,且并发度较低,则设定所述GPU资源动态调整方式为实例中的GPU资源伸缩,即为每个实例分配的GPU资源进行伸缩。
步骤103,根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整。
其中,根据确定的GPU资源调整方式例如实例横向伸缩或实例中的GPU资源伸缩对当前模型推理服务的GPU资源进行调整。
本发明实施例通过模型推理类型确定GPU资源调整方式,从而基于GPU资源调整方式调整GPU资源,提高了GPU资源的资源利用率,降低了操作的复杂程度。
可选的,当所述GPU资源调整方式为实例横向伸缩时,所述根据所述GPU资源调整方式对GPU资源进行调整的步骤103包括:
根据所述模型推理信息,得到与所述模型推理服务对应的目标并发度;
根据所述目标并发度以及执行所述模型推理服务系统的当前并发度,确定实例横向伸/缩的调整数量;
根据所述实例横向伸/缩的调整数量,增加或减少执行所述模型推理服务的实例。
具体的,模型推理信息还包括当前模型推理服务实例的待处理数量、当前GPU使用率、响应时延,当确定所述GPU资源调整方式为实例横向伸缩时,根据模型推理信息确定与所述模型推理服务对应的目标并发度的包括:根据当前GPU使用率确定所述模型推理服务对应的目标吞吐量,根据当前模型推理服务实例的待处理数量、响应时延目标吞吐量确定目标并发度,。根据所述目标并发度以及执行所述模型推理服务系统的当前并发度,确定实例横向伸/缩的调整数量。根据所述实例横向伸/缩的调整数量,增加或减少执行所述模型推理服务的实例。示例性的,若需要增加所述调整数量对应的实例,则为模型推理服务拉起对应数量的实例。可以为这些拉起的模型推理服务的实例分配与当前模型推理服务相同的GPU资源,以满足业务变化的需要。
另外,在并发度不高时,也可以将当前模型推理服务GPU资源中的剩余虚拟GPU资源分配给其他在线模型推理服务进行使用。
具体的,在当前执行的模型推理服务的GPU资源有剩余时,确定其他在线模型推理服务是否需要增加GPU资源,若需要增加GPU资源,则可以从当前执行的模型推理服务中调度所述剩余GPU资源给其他在线模型推理服务。
可选的,当所述GPU资源调整方式为实例中的GPU资源伸缩时,所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整的步骤103包括:
根据模型推理信息包括的待处理的数据量以及当前模型推理服务使用的当前GPU资源确定当前模型推理服务需要调整的GPU资源;
根据所述当前模型推理服务需要调整的GPU资源调整所述当前模型推理服务的实例的GPU资源。
具体的,在当前模型推理服务执行的过程中,根据模型推理信息包括的待处理的数据量以及当前模型推理服务实际使用的当前GPU资源确定当前模型推理服务需要调整的GPU资源。例如发现当前模型推理服务的GPU资源不足时,可以根据当前模型推理服务待处理的数据量以及当前模型推理服务使用的当前GPU资源当前模型推理服务需要增加的GPU资源,然后根据需要增加的GPU资源为所述当前模型推理服务的服务实例继续申请GPU资源,从而为当前模型推理服务的服务实例增加GPU资源,然后基于增加调整后的GPU资源重新对该模型推理服务进行推理。
需要说明的是,当GPU资源管理系统为当前模型推理服务分配的GPU资源或实例不足时,在模型推理服务进行数据处理过程中,会出现报错,GPU资源管理系统判断该报错原因,当确定该报错原因为资源不足时,GPU资源管理系统执行资源动态伸缩过程。
可选的,在所述GPU资源调整方式为静态调整方式的情况下,所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整的步骤包括:
获取所述模型推理服务待处理的数据量;
根据所述模型推理服务待处理的数据量确定执行所述模型推理服务需要的目标GPU资源;
其中,所述目标GPU资源包括物理GPU或者虚拟GPU资源;所述虚拟GPU资源由多个相同型号的子虚拟GPU资源合并生成;
在所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整的步骤之后,还包括:
根据所述目标GPU资源执行模型跑批推理服务。
可选的,若所述目标GPU资源为虚拟GPU资源,在所述根据所述目标GPU资源执行模型跑批推理服务之后,所述方法还包括:
基于各个所述子虚拟GPU的规格,拆分所述虚拟GPU资源。
具体的,在执行模型跑批推理任务时,通常需要设定推理任务的数据参数。根据设定的推理任务的数据参数,可以选择独占整块GPU资源进行跑批推理任务。也可以通过设定1或多个虚拟GPU资源合并为一块大的虚拟GPU,选择合并的虚拟GPU执行跑批推理任务。当跑批推理任务结束后,可以按照原虚拟GPU尺寸进行拆分,拆分后归还给GPU资源池。需要说明的是,在进行推理服务时,对多个虚拟GPU资源进行合并时,通常不允许跨卡合并。本发明在进行对模型推理服务的GPU资源进行调整之前,还可以先对GPU资源进行虚拟化,从而提高模型推理的资源利用率和业务部署的灵活性。
基于以上实施例提供的GPU资源管理方法,本发明实施例还提供了实施上述方法的GPU资源管理系统,请参照图2本发明实施例提供的GPU资源管理系统包括:
第一获取模块201,用于响应于模型推理服务,获取模型推理信息;
第一确定模块202,用于根据所述模型推理信息,确定GPU资源调整方式;
调整模块203,用于根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整。
可选的,所述模型推理信息包括模型推理类型,所述模型推理类型包括在线推理和模型跑批推理;
所述第一确定模块202包括:
第一确定子模块,用于若所述模型推理类型为所述在线推理,确定所述GPU资源调整方式为动态调整方式;
第二确定子模块,用于若所述模型推理类型为所述模型跑批推理,确定所述GPU资源调整方式为静态调整方式。
可选的,所述模型推理信息还包括待处理的数据量,若所述GPU资源调整方式为动态调整方式,所述第一确定子模块包括:
第一确定单元,用于在当前模型推理服务的待处理的数据量在预设数量范围内时,确定所述动态调整方式为实例横向伸缩;
第二确定单元,用于在当前模型推理服务的待处理的数据量未在预设数量范围内时,确定所述动态调整方式为实例中的GPU资源伸缩。
可选的,所述预设数量范围由用户预先设置;或者,
所述预设数量范围根据推理模型大小、推理模型的数据处理能力、业务响应速度中的至少一项确定。
可选的,当所述GPU资源调整方式为实例横向伸缩时,所述调整模块203包括:
第一获取子模块,用于根据所述模型推理信息,得到与所述模型推理服务对应的目标并发度;
第三确定子模块,用于根据所述目标并发度以及执行所述模型推理服务系统的当前并发度,确定实例横向伸/缩的调整数量;
第一调整子模块,用于根据所述实例横向伸/缩的调整数量,增加或减少执行所述模型推理服务的实例。
可选的,当所述GPU资源调整方式为实例中的GPU资源伸缩时,所述调整模块203包括:
第四确定子模块,用于根据模型推理信息包括的待处理的数据量以及当前模型推理服务使用的当前GPU资源确定当前模型推理服务需要调整的GPU资源;
第二调整子模块,用于根据所述当前模型推理服务需要调整的GPU资源调整所述当前模型推理服务的实例的GPU资源。
可选的,在所述GPU资源调整方式为静态调整方式的情况下,所述调整模块203包括:
第二获取子模块,用于获取所述模型推理服务待处理的数据量;
第五确定子模块,用于根据所述模型推理服务待处理的数据量确定执行所述模型推理服务需要的目标GPU资源;
其中,所述目标GPU资源包括物理GPU或者虚拟GPU资源;所述虚拟GPU资源由多个相同型号的子虚拟GPU资源合并生成;
执行子模块,用于在所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整之后,根据所述目标GPU资源执行模型跑批推理服务。
可选的,若所述目标GPU资源为虚拟GPU资源,所述调整模块203还包括:
拆分子模块,用于基于各个所述子虚拟GPU的规格,拆分所述虚拟GPU资源。
可选的,所述系统还包括:
第二获取模块,用于获取模型推理服务的历史业务信息以及GPU卡片注册信息;
第二确定模块,用于根据所述历史业务信息以及所述GPU卡片注册信息,确定GPU虚拟处理方式;
处理模块,用于基于所述GPU虚拟处理方式对注册的GPU卡片进行处理,得到GPU资源池;
其中,所述GPU虚拟处理方式包括对注册的GPU卡片全部虚拟化处理或对注册的GPU卡片部分虚拟化处理。
可选的,所述第二确定模块包括:
第六确定子模块,用于根据历史业务信息以及GPU卡片注册信息确定虚拟GPU的资源规格;
虚拟化子模块,用于根据所述虚拟GPU的资源规格对GPU卡片进行虚拟化操作,得到所述GPU资源池;
其中,所述历史业务信息包括以下至少一项:业务对应的推理模型的大小,业务对应的模型推理类型,单次模型推理的业务数据。
本发明实施例还提供了一种GPU资源管理系统,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述实施例所述的GPU资源管理方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述实施例所述的GPU资源管理方法的步骤。
本发明实施例还提供一种可读存储介质,可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述GPU资源管理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (20)

1.一种GPU资源管理方法,其特征在于,所述方法包括:
响应于模型推理服务,获取模型推理信息;
根据所述模型推理信息,确定GPU资源调整方式;
根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整;
所述模型推理信息包括模型推理类型,所述模型推理类型包括在线推理和模型跑批推理;
所述根据所述模型推理信息,确定GPU资源调整方式的步骤包括:
若所述模型推理类型为所述在线推理,确定所述GPU资源调整方式为动态调整方式;所述在线推理通过表现层状态变换应用编程接口对下游系统暴露模型推理接口,下游系统通过调用该接口将推理数据送给推理模型,完成推理后将推理结果返回给下游系统;
若所述模型推理类型为所述模型跑批推理,确定所述GPU资源调整方式为静态调整方式;所述模型跑批推理通过代码将模型读取到内存中,然后将推理数据批量送入所述模型中,完成推理后将推理结果根据业务需要在进行处理;
所述模型推理信息还包括待处理的数据量,若所述GPU资源调整方式为动态调整方式,所述方法还包括:
在当前模型推理服务的待处理的数据量未在预设数量范围内时,确定所述动态调整方式为实例中的GPU资源伸缩;
在所述GPU资源调整方式为静态调整方式的情况下,所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整的步骤包括:
获取所述模型推理服务待处理的数据量;
根据所述模型推理服务待处理的数据量确定执行所述模型推理服务需要的目标GPU资源。
2.根据权利要求1所述的GPU资源管理方法,其特征在于,所述模型推理信息包括待处理的数据量,若所述GPU资源调整方式为动态调整方式,所述方法还包括:
在当前模型推理服务的待处理的数据量在预设数量范围内时,确定所述动态调整方式为实例横向伸缩。
3.根据权利要求2所述的GPU资源管理方法,其特征在于,所述预设数量范围由用户预先设置;或者,
所述预设数量范围根据推理模型大小、推理模型的数据处理能力、业务响应速度中的至少一项确定。
4.根据权利要求2所述的GPU资源管理方法,其特征在于,当所述GPU资源调整方式为实例横向伸缩时,所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整的步骤包括:
根据所述模型推理信息,得到与所述模型推理服务对应的目标并发度;
根据所述目标并发度以及执行所述模型推理服务系统的当前并发度,确定实例横向伸/缩的调整数量;
根据所述实例横向伸/缩的调整数量,增加或减少执行所述模型推理服务的实例。
5.根据权利要求1所述的GPU资源管理方法,其特征在于,当所述GPU资源调整方式为实例中的GPU资源伸缩时,所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整的步骤包括:
根据模型推理信息包括的待处理的数据量以及当前模型推理服务使用的当前GPU资源确定当前模型推理服务需要调整的GPU资源;
根据所述当前模型推理服务需要调整的GPU资源调整所述当前模型推理服务的实例的GPU资源。
6.根据权利要求1所述的GPU资源管理方法,其特征在于,所述目标GPU资源包括物理GPU或者虚拟GPU资源;所述虚拟GPU资源由多个相同型号的子虚拟GPU资源合并生成;
在所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整的步骤之后,还包括:
根据所述目标GPU资源执行模型跑批推理服务。
7.根据权利要求6所述的GPU资源管理方法,其特征在于,若所述目标GPU资源为虚拟GPU资源,在所述根据所述目标GPU资源执行模型跑批推理服务之后,所述方法还包括:
基于各个所述子虚拟GPU的规格,拆分所述虚拟GPU资源。
8.根据权利要求1-7任一项所述的GPU资源管理方法,其特征在于,所述响应于模型推理服务,获取模型推理类型的步骤之前,所述方法还包括:
获取模型推理服务的历史业务信息以及GPU卡片注册信息;
根据所述历史业务信息以及所述GPU卡片注册信息,确定GPU虚拟处理方式;
基于所述GPU虚拟处理方式对注册的GPU卡片进行处理,得到GPU资源池;
其中,所述GPU虚拟处理方式包括对注册的GPU卡片全部虚拟化处理或对注册的GPU卡片部分虚拟化处理。
9.根据权利要求8所述的GPU资源管理方法,其特征在于,所述根据历史业务信息以及GPU卡片注册信息,确定GPU虚拟处理方式步骤包括:
根据历史业务信息以及GPU卡片注册信息确定虚拟GPU的资源规格;
根据所述虚拟GPU的资源规格对GPU卡片进行虚拟化操作,得到所述GPU资源池;
其中,所述历史业务信息包括以下至少一项:业务对应的推理模型的大小,业务对应的模型推理类型,单次模型推理的业务数据。
10.一种GPU资源管理系统,其特征在于,所述系统包括:
第一获取模块,用于响应于模型推理服务,获取模型推理信息;
第一确定模块,用于根据所述模型推理信息,确定GPU资源调整方式;
调整模块,用于根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整;
所述模型推理信息包括模型推理类型,所述模型推理类型包括在线推理和模型跑批推理;
所述第一确定模块包括:
第一确定子模块,用于若所述模型推理类型为所述在线推理,确定所述GPU资源调整方式为动态调整方式;所述在线推理通过表现层状态变换应用编程接口对下游系统暴露模型推理接口,下游系统通过调用该接口将推理数据送给推理模型,完成推理后将推理结果返回给下游系统;
第二确定子模块,用于若所述模型推理类型为所述模型跑批推理,确定所述GPU资源调整方式为静态调整方式;所述模型跑批推理通过代码将模型读取到内存中,然后将推理数据批量送入所述模型中,完成推理后将推理结果根据业务需要在进行处理;
所述模型推理信息还包括待处理的数据量,若所述GPU资源调整方式为动态调整方式,所述第一确定子模块包括:
第二确定单元,用于在当前模型推理服务的待处理的数据量未在预设数量范围内时,确定所述动态调整方式为实例中的GPU资源伸缩;
在所述GPU资源调整方式为静态调整方式的情况下,所述调整模块包括:
第二获取子模块,用于获取所述模型推理服务待处理的数据量;
第五确定子模块,用于根据所述模型推理服务待处理的数据量确定执行所述模型推理服务需要的目标GPU资源。
11.根据权利要求10所述的GPU资源管理系统,其特征在于,所述模型推理信息还包括待处理的数据量,若所述GPU资源调整方式为动态调整方式,所述第一确定子模块还包括:
第一确定单元,用于在当前模型推理服务的待处理的数据量在预设数量范围内时,确定所述动态调整方式为实例横向伸缩。
12.根据权利要求11所述的GPU资源管理系统,其特征在于,所述预设数量范围由用户预先设置;或者,
所述预设数量范围根据推理模型大小、推理模型的数据处理能力、业务响应速度中的至少一项确定。
13.根据权利要求12所述的GPU资源管理系统,其特征在于,当所述GPU资源调整方式为实例横向伸缩时,所述调整模块包括:
第一获取子模块,用于根据所述模型推理信息,得到与所述模型推理服务对应的目标并发度;
第三确定子模块,用于根据所述目标并发度以及执行所述模型推理服务系统的当前并发度,确定实例横向伸/缩的调整数量;
第一调整子模块,用于根据所述实例横向伸/缩的调整数量,增加或减少执行所述模型推理服务的实例。
14.根据权利要求12所述的GPU资源管理系统,其特征在于,当所述GPU资源调整方式为实例中的GPU资源伸缩时,所述调整模块包括:
第四确定子模块,用于根据模型推理信息包括的待处理的数据量以及当前模型推理服务使用的当前GPU资源确定当前模型推理服务需要调整的GPU资源;
第二调整子模块,用于根据所述当前模型推理服务需要调整的GPU资源调整所述当前模型推理服务的实例的GPU资源。
15.根据权利要求10所述的GPU资源管理系统,其特征在于所述目标GPU资源包括物理GPU或者虚拟GPU资源;所述虚拟GPU资源由多个相同型号的子虚拟GPU资源合并生成;
执行子模块,用于在所述根据所述GPU资源调整方式对所述模型推理服务的GPU资源进行调整之后,根据所述目标GPU资源执行模型跑批推理服务。
16.根据权利要求15所述的GPU资源管理系统,其特征在于,若所述目标GPU资源为虚拟GPU资源,所述调整模块还包括:
拆分子模块,用于基于各个所述子虚拟GPU的规格,拆分所述虚拟GPU资源。
17.根据权利要求10-16任一项所述的GPU资源管理系统,其特征在于,所述系统还包括:
第二获取模块,用于获取模型推理服务的历史业务信息以及GPU卡片注册信息;
第二确定模块,用于根据所述历史业务信息以及所述GPU卡片注册信息,确定GPU虚拟处理方式;
处理模块,用于基于所述GPU虚拟处理方式对注册的GPU卡片进行处理,得到GPU资源池;
其中,所述GPU虚拟处理方式包括对注册的GPU卡片全部虚拟化处理或对注册的GPU卡片部分虚拟化处理。
18.根据权利要求17所述的GPU资源管理系统,其特征在于,所述第二确定模块包括:
第六确定子模块,用于根据历史业务信息以及GPU卡片注册信息确定虚拟GPU的资源规格;
虚拟化子模块,用于根据所述虚拟GPU的资源规格对GPU卡片进行虚拟化操作,得到所述GPU资源池;
其中,所述历史业务信息包括以下至少一项:业务对应的推理模型的大小,业务对应的模型推理类型,单次模型推理的业务数据。
19.一种GPU资源管理系统,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-9任一项所述的GPU资源管理方法的步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-9任一项所述的GPU资源管理方法的步骤。
CN202210770481.9A 2022-06-30 2022-06-30 一种gpu资源管理方法及系统 Active CN115437781B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210770481.9A CN115437781B (zh) 2022-06-30 2022-06-30 一种gpu资源管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210770481.9A CN115437781B (zh) 2022-06-30 2022-06-30 一种gpu资源管理方法及系统

Publications (2)

Publication Number Publication Date
CN115437781A CN115437781A (zh) 2022-12-06
CN115437781B true CN115437781B (zh) 2023-10-31

Family

ID=84241395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210770481.9A Active CN115437781B (zh) 2022-06-30 2022-06-30 一种gpu资源管理方法及系统

Country Status (1)

Country Link
CN (1) CN115437781B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117349032B (zh) * 2023-12-05 2024-02-20 城云科技(中国)有限公司 一种提高大语言模型吞吐量的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566184A (zh) * 2017-09-22 2018-01-09 天翼电子商务有限公司 一种资源统一管理方法及其系统
CN110764901A (zh) * 2019-09-17 2020-02-07 阿里巴巴集团控股有限公司 基于gpu资源的数据处理方法、电子设备及系统
CN111414233A (zh) * 2020-03-20 2020-07-14 京东数字科技控股有限公司 一种在线模型推理系统
WO2021098182A1 (zh) * 2019-11-20 2021-05-27 上海商汤智能科技有限公司 资源管理方法和装置、电子设备及存储介质
CN113760527A (zh) * 2020-12-21 2021-12-07 北京沃东天骏信息技术有限公司 资源控制方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782185B (zh) * 2020-06-30 2024-01-09 北京百度网讯科技有限公司 人工智能开发平台的管理方法及设备、介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566184A (zh) * 2017-09-22 2018-01-09 天翼电子商务有限公司 一种资源统一管理方法及其系统
CN110764901A (zh) * 2019-09-17 2020-02-07 阿里巴巴集团控股有限公司 基于gpu资源的数据处理方法、电子设备及系统
WO2021098182A1 (zh) * 2019-11-20 2021-05-27 上海商汤智能科技有限公司 资源管理方法和装置、电子设备及存储介质
CN111414233A (zh) * 2020-03-20 2020-07-14 京东数字科技控股有限公司 一种在线模型推理系统
CN113760527A (zh) * 2020-12-21 2021-12-07 北京沃东天骏信息技术有限公司 资源控制方法和装置

Also Published As

Publication number Publication date
CN115437781A (zh) 2022-12-06

Similar Documents

Publication Publication Date Title
CN111768006B (zh) 一种人工智能模型的训练方法、装置、设备及存储介质
CN110780914B (zh) 服务发布方法及装置
CN112035238B (zh) 任务调度处理方法、装置、集群系统及可读存储介质
CN109657793B (zh) 模型训练方法及装置、存储介质及电子设备
CN109343942A (zh) 基于边缘计算网络的任务调度方法
CN115437781B (zh) 一种gpu资源管理方法及系统
CN116257363B (zh) 资源调度方法、装置、设备及存储介质
CN116450312A (zh) 面向流水线并行训练的调度策略确定方法及系统
CN114091688B (zh) 一种计算资源获取方法、装置、电子设备和存储介质
CN113608852B (zh) 任务调度方法、调度模块、推理节点和协同作业系统
CN114819084A (zh) 模型推理方法、装置、设备及存储介质
CN117234734A (zh) 加速卡负载均衡调度方法、装置、通信设备及存储介质
CN116302448B (zh) 任务调度方法和系统
CN110727511B (zh) 应用程序的控制方法、网络侧设备和计算机可读存储介质
CN114327846A (zh) 集群的扩容方法、装置、电子设备及计算机可读存储介质
CN111866159A (zh) 人工智能服务的调用方法、系统、设备和存储介质
EP4357917A1 (en) Task execution method and apparatus
CN114116220B (zh) 一种gpu共享控制方法、gpu共享控制装置及存储介质
CN115470901A (zh) 支持移动端异构处理器分载的混合精度训练方法及设备
CN117331679A (zh) 数据推理方法、装置、设备及存储介质
CN115700482A (zh) 任务执行方法及装置
CN113254200A (zh) 资源编排方法及智能体
CN118069371B (zh) 集群算力调度方法、装置、设备及存储介质
CN112114972B (zh) 数据倾斜的预测方法及装置
CN117707797B (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