CN115309551A - 一种基于模型服务化的模型实例的数量控制方法及装置 - Google Patents

一种基于模型服务化的模型实例的数量控制方法及装置 Download PDF

Info

Publication number
CN115309551A
CN115309551A CN202210932480.XA CN202210932480A CN115309551A CN 115309551 A CN115309551 A CN 115309551A CN 202210932480 A CN202210932480 A CN 202210932480A CN 115309551 A CN115309551 A CN 115309551A
Authority
CN
China
Prior art keywords
model
target
instances
instance
inference
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
CN202210932480.XA
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.)
Beijing Eswin Computing Technology Co Ltd
Original Assignee
Beijing Eswin Computing Technology 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 Eswin Computing Technology Co Ltd filed Critical Beijing Eswin Computing Technology Co Ltd
Priority to CN202210932480.XA priority Critical patent/CN115309551A/zh
Publication of CN115309551A publication Critical patent/CN115309551A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种基于模型服务化的模型实例的数量控制方法及装置,涉及模型服务化处理技术领域,根据模型对应的各个模型实例的当前服务状态,能够自适应地启动调整模型对应的模型实例的数量,有助于从整体上大大提高推理服务器的处理能力。本申请的主要技术方案为:接收向目标模型发起的至少一个推理请求;确定所述目标模型对应的至少一个模型实例;利用所述目标模型对应的所述模型实例响应所述推理请求;通过监控在响应所述推理请求的过程中所述目标模型对应的各个所述模型实例的当前服务状态,自适应地启动调整所述目标模型对应的模型实例的数量。本申请应用于在推理服务器处理推理请求的过程中自适应调整各个模型对应的模型实例的数量。

Description

一种基于模型服务化的模型实例的数量控制方法及装置
技术领域
本申请涉及模型服务化处理技术领域,尤其涉及一种基于模型服务化的模型实例的数量控制方法及装置。
背景技术
随着科技的不断创新发展,有赖于神经网络、图像识别等诸多技术的模型被大规模应用,对于训练后的模型而言,模型部署成为了一个很重要的环节,它将直接决定了模型在生产环境的服务质量和维护成本。
现在,针对模型部署产生了很多模型服务化框架或系统,使得大量各种模型都可以在其中进行加载,从而实现了利用框架或系统作为统一的服务端而对外提供推理服务,相应的,该服务端也可被称为推理服务器。
目前,对于推理服务器处理客户端发起的推理请求的具体实施过程,主要为:推理服务器内会预先加载大量各种模型,并且为每个模型启动多个模型实例用于支持并行化推理服务;当推理服务器接收到向某个指定模型发起的推理请求时,可以直接利用该模型对应的模型实例处理相应的推理请求,以向客户端反馈推理结果。
然而,由于现在推理服务器是在加载完一个模型之后就直接为模型启动了固定数量的模型实例,但若模型遇见大量并发请求则难免会出现因模型实例的数量不够而无法及时响应请求的情况,又或者若遇见推理请求数量很少而出现大量模型实例空耗资源的情况,据此,现在配置模型实例的方式,会对推理服务器的整体处理操作带来不利影响。
发明内容
有鉴于此,本申请提供了一种基于模型服务化的模型实例的数量控制方法及装置,主要目的在于根据模型对应的各个模型实例的当前服务状态,能够自适应地启动调整模型对应的模型实例的数量,从而适用于多样性的推理事件,达到了对有限资源的合理分配利用,提高了推理服务器的整体推理速度、吞吐量,大大有利于提高推理服务器的整体处理能力。
为了达到上述目的,本申请主要提供如下技术方案:
本申请第一方面提供了一种基于模型服务化的模型实例的数量控制方法,该方法包括:
接收向目标模型发起的至少一个推理请求;
确定所述目标模型对应的至少一个模型实例;
利用所述目标模型对应的所述模型实例响应所述推理请求;
通过监控在响应所述推理请求的过程中所述目标模型对应的各个所述模型实例的当前服务状态,自适应地启动调整所述目标模型对应的模型实例的数量。
在本申请第一方面的一些变更实施方式中,所述通过监控在响应所述推理请求的过程中所述目标模型对应的各个所述模型实例的当前服务状态,自适应地启动调整所述目标模型对应的模型实例的数量,包括:
对于所述目标模型,基于监控到的各个所述模型实例响应所述推理请求的监控结果,计算所述推理请求在单位时间内的平均等待时延;
基于所述平均等待时延和预设时延阈值之间比较结果,确定是否调整增加所述目标模型对应的模型实例的数量。
在本申请第一方面的一些变更实施方式中,若确定调整增加所述目标模型对应的模型实例的数量,则所述方法还包括:
模拟增加模型实例的数量;
重新模拟计算所述推理请求在单位时间内的模拟平均等待时延;
若所述模拟平均等待时延小于所述预设时延阈值时,则获取所述模拟平均等待时延对应当前模拟增加的模型实例的数量,作为目标模拟新增模型实例的数量;
根据所述目标模拟新增模型实例的数量,调整增加所述目标模型对应的模型实例的数量。
在本申请第一方面的一些变更实施方式中,所述根据所述目标模拟新增模型实例的数量,调整增加所述目标模型对应的模型实例的数量,包括:
根据所述目标模拟新增模型实例的数量和所述目标模型对应的当前模型实例的数量,累加得到所述目标模型对应的预估总模型实例的数量;
判断所述预估总模型实例的数量是否大于所述目标模型对应的模型实例的预设数量上限值;
基于所述预估总模型实例的数量和所述预设数量上限值之间比较结果,控制发起启动新增所述目标模型对应的模型实例的处理流程。
在本申请第一方面的一些变更实施方式中,所述通过监控在响应所述推理请求的过程中所述目标模型对应的各个所述模型实例的当前服务状态,自适应地启动调整所述目标模型对应的模型实例的数量,包括:
在利用所述目标模型对应的所述模型实例响应所述推理请求的过程中,查找处于空闲状态的模型实例;
基于所述空闲状态的模型实例对应的空闲时长和预设时长阈值之间比较结果,确定是否控制发起停止所述空闲状态的模型实例的处理流程。
在本申请第一方面的一些变更实施方式中,所述方法还包括:
根据当前系统时间,判断是否到达检测周期;
若是,则检测各个模型对应的模型实例是否为空闲状态;
若检测到存在空闲状态的模型实例,则将所述空闲状态的模型实例,作为待调整的模型实例;
基于统计所述待调整的模型实例在相邻历史检测周期内处于空闲状态的次数与预设次数阈值之间比较结果,确定是否控制发起停止所述待调整的模型实例的处理流程。
在本申请第一方面的一些变更实施方式中,在所述接收向目标模型发起的至少一个推理请求之前,所述方法还包括:
向推理服务器内加载各个模型;
为每个所述模型启动一个模型实例,作为向各个所述模型配置模型实例对应初始数量,以用于基于所述初始数量的模型实例响应推理请求。
本申请第二方面提供了一种基于模型服务化的模型实例的数量控制装置,该装置包括:
接收单元,用于接收向目标模型发起的至少一个推理请求;
确定单元,用于确定所述目标模型对应的至少一个模型实例;
响应单元,用于利用所述目标模型对应的所述模型实例响应所述推理请求;
调整单元,用于通过监控在响应所述推理请求的过程中所述目标模型对应的各个所述模型实例的当前服务状态,自适应地启动调整所述目标模型对应的模型实例的数量。
本申请第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于模型服务化的模型实例的数量控制方法。
本申请第四方面提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于模型服务化的模型实例的数量控制方法。
借由上述技术方案,本申请提供的技术方案至少具有下列优点:
本申请提供了一种基于模型服务化的模型实例的数量控制方法及装置,在推理服务器内预先加载了各个模型,并且向每个模型启动配置了模型实例,对于任意一个目标模型,本申请监控它的模型实例响应于推理请求的过程,通过监控到的各个模型实例的当前服务状态,自适应地启动调整相应模型实例的数量。相较于现有技术,本申请能够自适应地动态启动调整模型实例的数量,适用于多样性的推理事件,从而达到了对有限资源的合理分配利用,提高了推理服务器的整体推理速度、吞吐量,本申请大大有利于提高推理服务器的整体处理能力,从而解决了现有配置模型实例方式导致对推理服务器的整体处理操作带来不利影响的技术问题。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例提供的一种基于模型服务化的模型实例的数量控制方法流程图;
图2为本申请实施例提供的一种自适应地动态调整目标模型对应模型实例的数量的方法流程图;
图3为本申请实施例提供的另一种自适应地动态调整目标模型对应模型实例的数量的方法流程图;
图4为本申请实施例提供的再一种自适应地动态调整目标模型对应模型实例的数量的方法流程图;
图5为本申请实施例提供的一种基于模型服务化的模型实例的数量控制装置的组成框图;
图6为本申请实施例提供的另一种基于模型服务化的模型实例的数量控制装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
本申请实施例提供了一种基于模型服务化的模型实例的数量控制方法,如图1所示,对此本申请实施例提供以下具体步骤:
101、接收向目标模型发起的至少一个推理请求。
在本申请实施例中,模型是指基于神经网络、图像识别等诸多技术而构建的模型,这些模型可以被预先加载在模型化服务框架或系统中,从而利用这样的框架或系统作为统一的服务端而对外提供推理服务,本申请实施例将这样的服务端称为推理服务器。
据此,本申请实施例是预先在推理服务器中加载了大量各种模型,并为每个模型启动了模型实例,该模型实例相当于是模型线程,用于支持对应模型向外所提供的推理服务,该推理服务是指:客户端向推理服务器上发起对某个模型的推理请求,而相应得到模型反馈提供的功能服务。
对于本申请实施例,客户端实际上是针对某个指定模型而向推理服务器发起推理请求,据此,本申请实施例将这样的指定模型称为目标模型,并且推理请求将携带有目标模型的标识信息,从而便于确定目标模型对应的模型实例作出响应。
需要说明的是,在本申请实施例中,基于推理服务器可以同时接收到向不同模型发起的推理请求,那么目标模型的个数可以是一个或多个;并且对于其中的任一个目标模型,可以同时存在多个客户端向该目标模型发起推理请求,从而使得目标模型会出现同时应对大量并发的推理请求的情况。
102、确定目标模型对应的至少一个模型实例。
在本申请实施例中,对于推理服务器加载的任意一个模型,优选实施方式是可以为每个模型启动较小数量的模型实例,例如优选为每个模型启动一个模型实例,作为向各个模型配置的初始数量的模型实例,从而便于后续以该初始数量作为基数进行增加所需模型实例,以有效避免出现空闲大量模型实例而空耗资源的情况。
103、利用目标模型对应的模型实例响应推理请求。
在本申请实施例中,对于目标模型,是利用它的模型实例来响应客户端发起的推理请求的。
示例性的,以一个动物图像识别模型来说明相应操作:推理服务器会预先加载该模型,并为它启动了两个模型实例;客户端针对该模型发起推理请求,该推理请求中至少携带了模型标识信息(即指明对哪个模型发起的推理请求)和待识别的图像信息;推理服务器接收到该推理请求,会进一步确定是哪个目标模型来提供推理服务,并将待识别的图像信息发送到目标模型对应的模型实例,从而基于模型实例进行处理,以向客户端反馈推理结果(即图像识别结果)。
104、通过监控在响应推理请求的过程中目标模型对应的各个模型实例的当前服务状态,自适应地启动调整目标模型对应的模型实例的数量。
在利用目标模型对应的模型实例响应推理请求的过程中,对于任意一个模型,它的一个模型实例一般只会响应一个推理请求,那么在目标模型对应的当前模型实例的数量为固定的前提下,利用模型实例来响应推理请求,会出现以下两种情况:
一种情况是,针对一个目标模型,若出现大量并发的推理请求,当前固定数量的模型实例很大可能不够用,它们只能处理部分推理请求,而其他推理请求只能等待已被占用的模型实例被释放后再被处理。另一种情况,针对一个目标模型,若出现很少量的推理请求,当前固定数量的模型实例很大可能会过剩,使得除了响应推理请求之外,还会剩余很多空闲状态的模型实例,造成资源的浪费。
在本申请实施例中,针对目标模型,将被使用的模型实例设定为“提供服务状态”,而将未被使用的模型实例设定为“未提供服务状态”。本申请实施例中监控模型实例的当前服务状态的目的是:查找到目标模型对应的模型实例的数量是否为“不足情况”或者是“过剩情况”,然后基于这两种情况,实现及时/实时地启动自适应调整目标模型对应的模型实例的数量,即:对于“不足情况”,启动新增模型实例处理流程,以增加模型实例的数量;对于“过剩情况”,停止一些模型实例,以减少模型实例的数量。
据此,本申请实施例能够根据不同推理案件,动态调整目标模型对应的模型实例的数量,既避免了由于模型实例数量不足导致无法及时响应推理请求,又避免了过剩的模型实例空耗资源,从既最大程度地降低推理请求等待时延,确保了及时响应各个推理请求,又达到了对有限资源的合理分配利用,并且,基于加快处理各个推理请求也进一步提高数据传输的吞吐量,从而从整体上提高了推理服务器的处理能力。
本申请实施例提供了一种基于模型服务化的模型实例的数量控制方法,在推理服务器内预先加载了各个模型,并且向每个模型启动配置了模型实例,对于任意一个目标模型,监控它的模型实例响应于推理请求的过程,通过监控到的各个模型实例的当前服务状态,自适应地启动调整相应模型实例的数量。相较于现有技术,本申请实施例能够自适应地动态启动调整模型实例的数量,适用于多样性的推理事件,从而达到了对有限资源的合理分配利用,提高了推理服务器的整体推理速度、吞吐量。本申请实施例大大有利于提高推理服务器的整体处理能力,从而解决了现有配置模型实例方式导致对推理服务器的整体处理操作带来不利影响的技术问题。
下面,为了对步骤104做出更加详细的解释说明,本申请实施例提供一种自适应地动态调整目标模型对应模型实例的数量的实施过程,如图2所示,具体提供以下具体步骤:
201、对于目标模型,基于监控到的各个模型实例响应推理请求的监控结果,计算推理请求在单位时间内的平均等待时延。
202、基于平均等待时延和预设时延阈值之间比较结果,确定是否调整增加目标模型对应的模型实例的数量。
在本申请实施例中,若平均等待时延达到预设时延阈值,则调整增加目标模型对应的模型实例的数量;若平均等待时延未达到预设时延阈值,则保持目标模型对应的模型实例的数量不变。
在本申请实施例中,在利用目标模型对应的模型实例处理各个推理请求的过程中,如果各个推理请求在单位时间内的平均等待时延达到预设时延阈值,则表明目标模型当前对应的模型实例不足以应对这些并发的推理请求,应该增加模型实例的数量,以分摊当前的处理压力。
203a、若确定调整增加目标模型对应的模型实例的数量,则模拟增加模型实例的数量。
203b、若确定不需调整增加目标模型对应的模型实例的数量,则保持目标模型对应的模型实例的数量不变。
204a、重新模拟计算推理请求在单位时间内的模拟平均等待时延。
其中,模拟平均等待时延是指:不是真实地利用新增后的模型实例的数量来响应推理请求而得到的平均等待时延,而是基于模拟确定的新增模型实例的数量,来虚拟执行响应推理请求操作,以得到的虚拟的平均等待时延,作为模拟平均等待时延。
205a、判断模拟平均等待时延是否小于预设时延阈值。
206ac、若模拟平均等待时延小于预设时延阈值时,则获取模拟平均等待时延对应当前模拟增加的模型实例的数量,作为目标模拟新增模型实例的数量。
206ad、若平均等待时延未达到预设时延阈值,则保持目标模型对应的模型实例的数量不变。
在本申请实施例中,在利用目标模型对应的模型实例处理各个推理请求的过程中,如果各个推理请求在单位时间内的平均等待时延未达到预设时延阈值,则表明目标模型当前对应的模型实例足以应对这些推理请求,承受相应的处理压力,而不需要增加模型实例的数量。
在本申请实施例中,基于步骤203-205、206a给出了确定需要增加模型实例的数量的具体实施方法,具体解释说明如下:
在实际操作中,对于增加目标模型对应的模型实例,是需要启动相应模型实例处理流程的,为避免多次频繁地重复启动该处理流程,可以预先模拟计算需要增加的模型实例的数量,待确定清楚后,再启动一次模型实例处理流程来完成增加模型实例操作,以节约相应的处理成本。
并且为了满足当下大量推理请求,实际确定需要增加的模型实例数量是未知的,如果每模拟增加一个模型实例,就重新模拟计算一次模拟平均等待时延并与预设时延阈值进行比较,必将会带来大量冗余操作且耗费太多处理成本。
因此本申请实施例提供的优选实施方式为,以预设数量阶梯式模拟增加模型实例的数量,然后执行一次重新模拟计算模拟平均等待时延和与预设时延阈值进行比较的操作,从而能够高效地逐渐缩短与实际所需新增模型实例数量的差距。
例如,如果预设数量为5,那么相当于是以5个模型实例作为阶梯式模拟增加数量单位,如果模拟增加15个模型实例,计算得到模拟平均等待时延是大于预设时延阈值的,而模拟增加20个模型实例,计算得到模拟平均等待时延是小于预设阈值的,则表明在模拟增加15-20之间取值,将得到最佳模拟增加模型实例数量方案。基于该最佳方案,能够平衡实际增加模型实例数量所带来的消耗和响应速度之间的关系,也就是,在不需要增加太多模型实例数量的前提下,去解决当前模型实例数量不够导致响应推理请求速度慢的问题,从而有助于从推理服务器整体处理能力上提高处理性能。
然后,进一步的,以基于15-20之间取值,当监控到模拟平均等待时延小于预设时延阈值时,获取当前阶梯式增加操作对应的模拟新增模型实例的数量,作为目标模拟新增模型实例的数量;根据目标模拟新增模型实例的数量,调整增加目标模型对应的模型实例的数量。
207ac、根据目标模拟新增模型实例的数量,调整增加目标模型对应的模型实例的数量。
在本申请实施例中,在确定目标模拟新增模型实例的数量之后,还可以增加一个约束条件“是否达到目标模型对应允许占用最大资源情况”,如果是,则需要删减一些新增模型实例,以控制对每个目标模型的资源有效分配,具体的,由于“允许占用最大资源情况”表达可以是多样的,示例性的,本申请实施例提供的约束条件的表现形式可以但不限于是“是否达到目标模型对应的预估总模型实例的数量”,据此,本步骤206可以进一步解释说明如下:
首先,根据目标模拟新增模型实例的数量和目标模型对应的当前模型实例的数量,累加得到目标模型对应的预估总模型实例的数量。
在控制发起启动新增目标模型对应的模型实例的处理流程之前,还可以进一步基于上述确定的模拟新增模型实例数量和目标模型实例对应的当前模型实例的数量,计算得到预估总模型实例的数量。
其次,判断预估总模型实例的数量是否大于目标模型对应的模型实例的预设数量上限值,基于预估总模型实例的数量和预设数量上限值之间比较结果,控制发起启动新增目标模型对应的模型实例的处理流程。
判断该预估总模型实例的数量是否超过了预设模型实例的数量上限值:如果未超过,则再次进一步确认可以基于模拟新增模型实例的数量,控制发起启动新增目标模型对应的模型实例的处理流程;如果超过,则仍然以预设模型实例的数量上限值为基准,调整可增加的模拟新增模型实例的数量,控制发起启动新增目标模型对应的模型实例的处理流程。
进一步的,作为如图2所示实施过程的并列技术方案,本申请实施例提供另一种自适应地动态调整目标模型对应模型实例的数量的实施过程,如图3所示,具体提供以下步骤:
301、在利用目标模型对应的模型实例响应推理请求的过程中,查找处于空闲状态的模型实例。
302、基于空闲状态的模型实例对应的空闲时长和预设时长阈值之间比较结果,确定是否控制发起停止空闲状态的模型实例的处理流程。
在本申请实施例中,对步骤301-302,进行解释说明如下:
首先,若存在空闲状态的模型实例,则统计空闲状态的模型实例未提供服务的时间长度。
在本申请实施例中,在利用目标模型对应的模型实例处理各个推理请求的过程中,若模型实例的数量大于推理请求数量,则会出现某个或某些个模型实例处于空闲状态的情况,由于空闲模型实例也是会相应占用一些资源的,那么为了合理分配推理服务器内有限的资源,需要进一步判断是否有必要停止这些空闲模型实例。
其次,判断空闲状态的模型实例未提供服务的时间长度是否达到预设时长阈值。
若空闲状态的模型实例未提供服务的时间长度达到预设时长阈值,则控制发起停止模型实例的处理流程。
若空闲状态的模型实例未提供服务的时间长度未达到预设时长阈值,则保持目标模型对应的模型实例的数量不变。
以上,本申请实施例是以空闲模型实例未提供服务的时长是否达到“预设时长阈值”为衡量标准,进一步判断如果某个空闲模型实例未提供服务时间过长,则应该被停止,即发起停止模型实例的处理流程,从而释放该空闲模型实例所占资源。
以及进一步的,作为如图2或如图3所示实施过程的并列技术方案,本申请实施例还可以应用到检测周期,并据此再提供一种自适应地动态调整目标模型对应模型实例的数量的实施过程,如图4所示,具体提供以下步骤:
401、获取当前系统时间。
402、根据当前系统时间,判断是否到达检测周期。
403、若到达检测周期,则检测各个模型对应的模型实例是否为空闲状态。
404a、若检测到存在空闲状态的模型实例,则将空闲状态的模型实例,作为待调整的模型实例。
404b、若未检测到空闲状态的模型实例,则保持目标模型对应的模型实例的数量不变。
在本申请实施例中,为避免频繁检测反倒浪费处理资源的情况,可以根据实际检测需求而设置检测周期,从而只是依据每个检测周期对应时间点,发起检测操作并得到检测结果。而忽略其他未到达检测周期的相关检测操作,当然优选实施方式,可以以检测优先级来设置不同检测操作,并进一步限定忽略其他未到达检测周期的优先级较低的检测操作。
405a、基于统计待调整的模型实例在相邻历史检测周期内处于空闲状态的次数与预设次数阈值之间比较结果,确定是否控制发起停止待调整的模型实例的处理流程。
在本申请实施例中,本步骤可以细化解释说明如下:
首先,在与当前检测周期相邻的M个历史检测周期中,获取待调整的模型实例对应检测为空闲状态的历史次数,其中M为正整数。
其次,根据历史次数加一,得到检测待调整的模型实例为空闲状态对应的累计次数。
再者,判断累计次数是否达到预设次数阈值。若确定累计次数达到预设次数阈值,则控制发起停止待调整的模型实例的处理流程。
在本申请实施例中,以到达检测周期对应时间点的检测结果为有效检测结果,并且以“预设次数阈值”为衡量标准,如果在相邻历史检测周期内检测到模型实例空闲次数达到“预设次数阈值”,则进一步判断该模型实例的使用率很低了,应该被停止以释放资源。
进一步的,作为对上述图1、图2、图3和图4所示方法的实现,本申请实施例提供了一种基于模型服务化的模型实例的数量控制装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于自适应启动调整目标模型对应的模型实例的数量,具体如图5所示,该装置包括:
接收单元401,用于接收向目标模型发起的至少一个推理请求;
确定单元402,用于确定所述目标模型对应的至少一个模型实例;
响应单元403,用于利用所述目标模型对应的所述模型实例响应所述推理请求;
调整单元404,用于通过监控在响应所述推理请求的过程中所述目标模型对应的各个所述模型实例的当前服务状态,自适应地启动调整所述目标模型对应的模型实例的数量。
如图6所示,所述调整单元404包括:
计算模块4041,用于对于所述目标模型,基于监控到的各个所述模型实例响应所述推理请求的监控结果,计算所述推理请求在单位时间内的平均等待时延;
确定模块4042,用于基于所述平均等待时延和预设时延阈值之间比较结果,确定是否调整增加所述目标模型对应的模型实例的数量。
如图6所示,所述调整单元404还包括:
模拟增加模块4043,用于若确定调整增加所述目标模型对应的模型实例的数量,则模拟增加模型实例的数量;
模拟计算模块4044,用于重新模拟计算所述推理请求在单位时间内的模拟平均等待时延;
获取模块4045,用于当所述模拟平均等待时延小于所述预设时延阈值时,获取所述模拟平均等待时延对应当前模拟增加的模型实例的数量,作为目标模拟新增模型实例的数量;
调整模块4046,用于根据所述目标模拟新增模型实例的数量,调整增加所述目标模型对应的模型实例的数量。
如图6所示,所述调整模块4046包括:
累加子模块40461,用于根据所述目标模拟新增模型实例的数量和所述目标模型对应的当前模型实例的数量,累加得到所述目标模型对应的预估总模型实例的数量;
判断子模块40462,用于判断所述预估总模型实例的数量是否大于预设模型实例的数量上限值;
控制子模块40463,用于基于所述预估总模型实例的数量和所述预设数量上限值之间比较结果,控制发起启动新增所述目标模型对应的模型实例的处理流程。
如图6所示,所述调整单元404包括:
查找模块4047,用于在利用所述目标模型对应的所述模型实例响应所述推理请求的过程中,查找处于空闲状态的模型实例;
控制模块4048,用于基于所述空闲状态的模型实例对应的空闲时长和预设时长阈值之间比较结果,确定是否控制发起停止所述空闲状态的模型实例的处理流程。
如图6所示,所述装置还包括:
判断单元405,用于根据当前系统时间,判断是否到达检测周期;
检测单元406,用于当确定到达检测周期时,检测各个模型对应的模型实例是否为空闲状态;
获取单元407,用于当检测到存在空闲状态的模型实例时,将所述空闲状态的模型实例,作为待调整的模型实例;
控制单元408,还用于基于统计所述待调整的模型实例在相邻历史检测周期内处于空闲状态的次数与预设次数阈值之间比较结果,确定是否控制发起停止所述待调整的模型实例的处理流程。
如图6所示,所述装置还包括:
加载单元409,用于向推理服务器内加载各个模型;
启动单元410,用于为每个所述模型启动一个模型实例,作为向各个所述模型配置模型实例对应初始数量,以用于基于所述初始数量的模型实例响应推理请求。
综上所述,本申请实施例提供了一种基于模型服务化的模型实例的数量控制装置,本申请实施例的推理服务器内预先加载了各个模型,并且向每个模型启动配置了模型实例,对于任意一个目标模型,本申请实施例监控它的模型实例响应于推理请求的过程,通过监控到的各个模型实例的当前服务状态,进一步判断是处理压力大/小,或者是空闲,从而自适应的控制增减相应模型实例的数量。本申请实施例能够自适应地动态调整启动模型实例的数量,适用于多样性的推理事件,从而达到了对有限资源的合理分配利用,提高了推理服务器的整体推理速度、吞吐量,本申请实施例大大有利于提高推理服务器的整体处理能力。
本申请实施例提供的基于模型服务化的模型实例的数量控制装置包括处理器和存储器,上述接收单元确定单元响应单元和调整单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来根据模型对应的各个模型实例的当前服务状态,能够自适应地启动调整模型对应的模型实例的数量,从而适用于多样性的推理事件,达到了对有限资源的合理分配利用,提高了推理服务器的整体推理速度、吞吐量,大大有利于提高推理服务器的整体处理能力。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于模型服务化的模型实例的数量控制方法。
本申请实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于模型服务化的模型实例的数量控制方法。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种基于模型服务化的模型实例的数量控制方法,其特征在于,所述方法包括:
接收向目标模型发起的至少一个推理请求;
确定所述目标模型对应的至少一个模型实例;
利用所述目标模型对应的所述模型实例响应所述推理请求;
通过监控在响应所述推理请求的过程中所述目标模型对应的各个所述模型实例的当前服务状态,自适应地启动调整所述目标模型对应的模型实例的数量。
2.根据权利要求1所述的方法,其特征在于,所述通过监控在响应所述推理请求的过程中所述目标模型对应的各个所述模型实例的当前服务状态,自适应地启动调整所述目标模型对应的模型实例的数量,包括:
对于所述目标模型,基于监控到的各个所述模型实例响应所述推理请求的监控结果,计算所述推理请求在单位时间内的平均等待时延;
基于所述平均等待时延和预设时延阈值之间比较结果,确定是否调整增加所述目标模型对应的模型实例的数量。
3.根据权利要求2所述的方法,其特征在于,若确定调整增加所述目标模型对应的模型实例的数量,则所述方法还包括:
模拟增加模型实例的数量;
重新模拟计算所述推理请求在单位时间内的模拟平均等待时延;
若所述模拟平均等待时延小于所述预设时延阈值时,则获取所述模拟平均等待时延对应当前模拟增加的模型实例的数量,作为目标模拟新增模型实例的数量;
根据所述目标模拟新增模型实例的数量,调整增加所述目标模型对应的模型实例的数量。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标模拟新增模型实例的数量,调整增加所述目标模型对应的模型实例的数量,包括:
根据所述目标模拟新增模型实例的数量和所述目标模型对应的当前模型实例的数量,累加得到所述目标模型对应的预估总模型实例的数量;
判断所述预估总模型实例的数量是否大于所述目标模型对应的模型实例的预设数量上限值;
基于所述预估总模型实例的数量和所述预设数量上限值之间比较结果,控制发起启动新增所述目标模型对应的模型实例的处理流程。
5.根据权利要求1所述的方法,其特征在于,所述通过监控在响应所述推理请求的过程中所述目标模型对应的各个所述模型实例的当前服务状态,自适应地启动调整所述目标模型对应的模型实例的数量,包括:
在利用所述目标模型对应的所述模型实例响应所述推理请求的过程中,查找处于空闲状态的模型实例;
基于所述空闲状态的模型实例对应的空闲时长和预设时长阈值之间比较结果,确定是否控制发起停止所述空闲状态的模型实例的处理流程。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
根据当前系统时间,判断是否到达检测周期;
若是,则检测各个模型对应的模型实例是否为空闲状态;
若检测到存在空闲状态的模型实例,则将所述空闲状态的模型实例,作为待调整的模型实例;
基于统计所述待调整的模型实例在相邻历史检测周期内处于空闲状态的次数与预设次数阈值之间比较结果,确定是否控制发起停止所述待调整的模型实例的处理流程。
7.根据权利要求6所述的方法,其特征在于,在所述接收向目标模型发起的至少一个推理请求之前,所述方法还包括:
向推理服务器内加载各个模型;
为每个所述模型启动一个模型实例,作为向各个所述模型配置模型实例对应初始数量,以用于基于所述初始数量的模型实例响应推理请求。
8.一种基于模型服务化的模型实例的数量控制装置,其特征在于,所述装置包括:
接收单元,用于接收向目标模型发起的至少一个推理请求;
确定单元,用于确定所述目标模型对应的至少一个模型实例;
响应单元,用于利用所述目标模型对应的所述模型实例响应所述推理请求;
调整单元,用于通过监控在响应所述推理请求的过程中所述目标模型对应的各个所述模型实例的当前服务状态,自适应地启动调整所述目标模型对应的模型实例的数量。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的基于模型服务化的模型实例的数量控制方法。
10.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的基于模型服务化的模型实例的数量控制方法。
CN202210932480.XA 2022-08-04 2022-08-04 一种基于模型服务化的模型实例的数量控制方法及装置 Pending CN115309551A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210932480.XA CN115309551A (zh) 2022-08-04 2022-08-04 一种基于模型服务化的模型实例的数量控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210932480.XA CN115309551A (zh) 2022-08-04 2022-08-04 一种基于模型服务化的模型实例的数量控制方法及装置

Publications (1)

Publication Number Publication Date
CN115309551A true CN115309551A (zh) 2022-11-08

Family

ID=83859515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210932480.XA Pending CN115309551A (zh) 2022-08-04 2022-08-04 一种基于模型服务化的模型实例的数量控制方法及装置

Country Status (1)

Country Link
CN (1) CN115309551A (zh)

Similar Documents

Publication Publication Date Title
US20150295970A1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
CN103593242A (zh) 基于Yarn框架的资源共享控制系统
CN107483351B (zh) 一种限流方法及装置
CN109739627B (zh) 任务的调度方法、电子设备及介质
CN113010260A (zh) 容器数量弹性伸缩方法以及容器数量弹性伸缩方法系统
CN111431748B (zh) 一种对集群进行自动运维的方法、系统及装置
CN114189482A (zh) 一种集群资源的控制方法、装置和系统
CN111858200B (zh) 系统测试中的吞吐量控制方法、装置及电子设备
CN116627356B (zh) 一种大容量存储数据的分布控制方法及系统
WO2024187737A1 (zh) 一种数据处理的方法、装置、存储介质及电子设备
CN112214303A (zh) Kubernetes集群自动缩放系统
CN114020407A (zh) 一种容器管理集群容器组调度优化方法、装置、设备
CN117519929A (zh) 实例的调度方法、装置、存储介质及电子设备
CN116204277A (zh) 业务容器扩缩容调整方法、装置、存储介质及电子设备
CN117149382A (zh) 虚拟机调度方法、装置、计算机设备和存储介质
CN115309551A (zh) 一种基于模型服务化的模型实例的数量控制方法及装置
CN113127179A (zh) 资源调度方法、装置、电子设备及计算机可读介质
CN115048186A (zh) 业务容器的扩缩容处理方法、装置、存储介质及电子设备
CN113904940A (zh) 资源调整方法、装置、电子设备和计算机可读存储介质
CN110928673A (zh) 任务的分配方法及装置
CN112540842B (zh) 动态调整系统资源的方法及装置
CN111274576B (zh) 智能合约运行环境的控制方法及系统、设备、介质
CN112087472B (zh) 基于实时水位的批量任务调度方法、装置及平台
CN114760327B (zh) 云盘资源配置的调整方法及装置
CN113127186B (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