掌桥专利:专业的专利平台
掌桥专利
首页

资源管理方法、装置、服务器及存储介质

文献发布时间:2023-06-19 18:34:06


资源管理方法、装置、服务器及存储介质

技术领域

本申请涉及计算机技术领域,特别涉及一种资源管理方法、装置、服务器及存储介质。

背景技术

模型服务化是指将多种推理模型或者同一种推理模型的多个版本统一部署在服务器上来为用户提供模型推理服务,从而满足用户进行模型推理的需求。然而,随着服务器中所部署的推理模型数量以及推理模型的实例数量不断增加,导致服务器的资源占用也会随之增加,进而可能会出现系统运行过慢甚至崩溃的问题,并且还可能会出现启动新的推理模型和扩充推理模型的实例失败的情况,从而导致推理请求等待时间延长,推理效率降低。因此,亟需一种资源管理方法。

发明内容

本申请提供了一种资源管理方法、装置、服务器及存储介质,可以避免由于资源紧张而导致系统运行过慢甚至崩溃的问题,减少启动新的推理模型和扩充推理模型的实例失败的情况,提高推理效率。所述技术方案如下:

一方面,提供了一种资源管理方法,所述方法包括:

响应于目标指令,确定预估剩余资源,所述目标指令指示当前需启动第一推理模型或者当前需扩充已启动的第二推理模型的实例,所述预估剩余资源是指预估执行所述目标指令之后的剩余资源;

若所述预估剩余资源小于预留资源,则获取已启动的多个推理模型分别在多个维度的数据,以得到多组数据,所述预留资源是指能够使系统正常运行的资源,所述多个推理模型不包括所述第二推理模型;

基于所述多组数据,对所述多个推理模型的实例进行删减,并为所述目标指令的执行分配资源,其中,在进行实例删减后所述预估剩余资源大于或等于所述预留资源。

可选地,所述目标指令指示当前需启动所述第一推理模型;所述确定预估剩余资源,包括:

获取当前剩余资源、所述第一推理模型的文件大小和第一实例数量,所述第一实例数量是指为所述第一推理模型配置的实例数量;

基于所述当前剩余资源、所述第一推理模型的文件大小和所述第一实例数量,得到所述预估剩余资源。

可选地,所述目标指令指示当前需扩充所述第二推理模型的实例;所述确定预估剩余资源,包括:

获取当前剩余资源、所述第二推理模型的内存占用大小和第二实例数量,所述第二实例数量是指当前为所述第二推理模型需扩充的实例数量;

基于所述当前剩余资源、所述第二推理模型的内存占用大小和所述第二实例数量,得到所述预估剩余资源。

可选地,所述基于所述多组数据,对所述多个推理模型的实例进行删减,包括:

基于所述多组数据确定所述多个推理模型的优先级;

基于所述多个推理模型的优先级,对所述多个推理模型的实例进行删减。

可选地,所述基于所述多组数据确定所述多个推理模型的优先级,包括:

将所述多组数据输入至经训练的分类模型,以得到所述多个推理模型的类别,所述多个推理模型的类别指示所述多个推理模型的优先级。

可选地,所述基于所述多个推理模型的优先级,对所述多个推理模型的实例进行删减,包括:

基于所述多个推理模型的优先级和预估释放资源,确定所述多个推理模型中待删减实例的至少一个推理模型和所述至少一个推理模型中待删减的实例数量,所述预估释放资源是指所述预留资源与所述预估剩余资源之间的差值;

按照所述至少一个推理模型中待删减的实例数量,对所述至少一个推理模型的实例进行删减。

可选地,所述基于所述多个推理模型的优先级,对所述多个推理模型的实例进行删减之前,还包括:

基于所述多个推理模型的优先级,确定最大释放资源,所述最大释放资源是指当前能够释放的最大资源;

若预估释放资源小于或等于所述最大释放资源,则执行基于所述多个推理模型的优先级,对所述多个推理模型的实例进行删减的步骤,所述预估释放资源是指所述预留资源与所述预估剩余资源之间的差值。

可选地,所述多个维度的数据包括如下至少一项数据:属性数据、运行数据、推理数据。

另一方面,提供了一种资源管理装置,所述装置包括:

确定模块,用于响应于目标指令,确定预估剩余资源,所述目标指令指示当前需启动第一推理模型或者当前需扩充已启动的第二推理模型的实例,所述预估剩余资源是指预估执行所述目标指令之后的剩余资源;

获取模块,用于若所述预估剩余资源小于预留资源,则获取已启动的多个推理模型分别在多个维度的数据,以得到多组数据,所述预留资源是指能够使系统正常运行的资源,所述多个推理模型不包括所述第二推理模型;

删减模块,用于基于所述多组数据,对所述多个推理模型的实例进行删减,并为所述目标指令的执行分配资源,其中,在进行实例删减后所述预估剩余资源大于或等于所述预留资源。

可选地,所述目标指令指示当前需启动所述第一推理模型;所述确定模块具体用于:

获取当前剩余资源、所述第一推理模型的文件大小和第一实例数量,所述第一实例数量是指为所述第一推理模型配置的实例数量;

基于所述当前剩余资源、所述第一推理模型的文件大小和所述第一实例数量,得到所述预估剩余资源。

可选地,所述目标指令指示当前需扩充所述第二推理模型的实例;所述确定模块具体用于:

获取当前剩余资源、所述第二推理模型的内存占用大小和第二实例数量,所述第二实例数量是指当前为所述第二推理模型需扩充的实例数量;

基于所述当前剩余资源、所述第二推理模型的内存占用大小和所述第二实例数量,得到所述预估剩余资源。

可选地,所述删减模块具体用于:

基于所述多组数据确定所述多个推理模型的优先级;

基于所述多个推理模型的优先级,对所述多个推理模型的实例进行删减。

可选地,删减模块具体用于:

将所述多组数据输入至经训练的分类模型,以得到所述多个推理模型的类别,所述多个推理模型的类别指示所述多个推理模型的优先级。

可选地,所述删减模块具体用于:

基于所述多个推理模型的优先级和预估释放资源,确定所述多个推理模型中待删减实例的至少一个推理模型和所述至少一个推理模型中待删减的实例数量,所述预估释放资源是指所述预留资源与所述预估剩余资源之间的差值;

按照所述至少一个推理模型中待删减的实例数量,对所述至少一个推理模型的实例进行删减。

可选地,所述删减模块具体用于:

基于所述多个推理模型的优先级,确定最大释放资源,所述最大释放资源是指当前能够释放的最大资源;

若预估释放资源小于或等于所述最大释放资源,则执行基于所述多个推理模型的优先级,对所述多个推理模型的实例进行删减的步骤,所述预估释放资源是指所述预留资源与所述预估剩余资源之间的差值。

可选地,所述多个维度的数据包括如下至少一项数据:属性数据、运行数据、推理数据。

另一方面,提供了一种服务器,所述服务器包括存储器和处理器,所述存储器用于存放计算机程序,所述处理器用于执行所述存储器上所存放的计算机程序,以实现上述所述的资源管理方法的步骤。

另一方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述资源管理方法的步骤。

另一方面,提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述所述的资源管理方法的步骤。

本申请提供的技术方案至少可以带来以下有益效果:

在预估剩余资源小于预留资源的情况下,说明执行目标指令之后会导致资源紧张,进而可能会造成系统运行过慢甚至崩溃的问题。因此,获取已启动的多个推理模型分别在多个维度的数据,进而基于这些数据对已启动的多个推理模型的实例进行删减,以释放资源,最大程度地避免由于资源紧张而导致系统运行过慢甚至崩溃的问题,而且还可以减少启动新的推理模型和扩充推理模型的实例失败的情况,进而减少推理请求等待时间,提高推理效率。也即是,通过设置预留资源,并且确保该预留资源不被占用,这样,可以保证系统始终正常运行,有效避免因资源紧张而导致系统运行过慢甚至崩溃的问题。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种资源管理方法的流程图;

图2是本申请实施例提供的另一种资源管理方法的流程图;

图3是本申请实施例提供的一种资源管理装置的结构示意图;

图4是本申请实施例提供的一种服务器的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

在对本申请实施例提供的资源管理方法进行详细地解释说明之前,先对本申请实施例涉及的应用场景进行介绍。

模型服务化是指将多种推理模型或者同一种推理模型的多个版本统一部署在服务器上来为用户提供模型推理服务,从而满足用户进行模型推理的需求。也就是说,服务器上可以部署多个不同的推理模型,也可以部署同一个推理模型的不同版本,并且对于服务器上部署的每一个推理模型来说,该推理模型具有至少一个实例,该推理模型的实例用于处理用户发出的推理请求,如果该推理模型在服务器上具有多个实例,该多个实例能够同时运行,以处理用户对该推理模型发出的多个推理请求。

在实际应用中,用户能够查询服务器上当前所部署的推理模型,并且能够确定该推理模型当前的状态,也即是,确定推理模型当前处于启动状态或是未启动状态。若用户所需的推理模型处于启动状态,此时,用户能够直接向服务器发送针对该推理模型的推理请求,以使该推理模型进行推理。若用户所需的推理模型处于未启动状态,此时,用户能够向服务器发送针对该推理模型的启动指令,以启动该推理模型,进而用户能够向服务器发送针对该推理模型的推理请求。若用户在服务器中未查询到所需要的推理模型,用户能够将自己需要的推理模型上传至服务器,此时服务器能够接收该用户上传的推理模型,并且对该上传的推理模型进行启动,进而用户能够向服务器发送针对该推理模型的推理请求。而且,在用户针对某一个推理模型发送的推理请求过多和/或某一个推理模型的推理请求平均排队时间较长时,还能够扩充该推理模型的实例,从而使得该推理模型能够处理更多的推理请求,进一步减少推理请求的等待时间,提高服务器的推理效率。

由于服务器中能够不断部署新的推理模型或者扩充推理模型的实例,这会使得服务器的资源占用随之增加,进而可能会出现系统运行过慢甚至崩溃的问题,并且还可能会出现启动新的推理模型和扩充推理模型的实例失败的情况,从而导致推理请求等待时间延长,推理效率降低。

为防止资源占用持续增长所造成的风险,有必要对模型服务化所能使用的资源上限进行限制,即预留足够空闲资源不被占用以供系统正常运行,这样,在有限的资源下就需要对各个推理模型的资源申请和使用进行管控以确保资源的合理分配。所以,本申请实施例提供了一种资源管理方法,采用本申请实施例所提供的资源管理方法,能够基于已启动的多个推理模型分别在多个维度的数据,对已启动的多个推理模型的实例进行删减,以释放服务器的资源,最大程度地避免由于资源紧张而导致系统运行过慢甚至崩溃的问题,而且还可以减少启动新的推理模型和扩充推理模型的实例失败的情况,进而减少推理请求等待时间,提高推理效率。

本申请实施例提供的资源管理方法的执行主体为服务器,该服务器可以是一台独立的服务器,也可以是由多台物理服务器组成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,或者是一个云计算服务中心。

需要说明的是,本申请实施例描述的应用场景和执行主体是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景和服务器的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

接下来对本申请实施例提供的资源管理方法进行详细地解释说明。

图1是本申请实施例提供的一种资源管理方法的流程图,该方法应用于服务器。请参考图1,该方法包括如下步骤。

步骤101:响应于目标指令,确定预估剩余资源,该目标指令指示当前需启动第一推理模型或者当前需扩充已启动的第二推理模型的实例,该预估剩余资源是指服务器预估执行目标指令之后的剩余资源。

基于上文描述,由于服务器中能够不断部署新的推理模型或者扩充推理模型的实例,因此,在服务器当前需启动第一推理模型或者当前需扩充已启动的第二推理模型的实例时,需要触发目标指令。

由于目标指令具有指示服务器启动第一推理模型,或者指示服务器扩充已启动的第二推理模型的实例这两种不同的含义,因此,在目标指令表示不同含义的情况下,确定预估剩余资源的方式不同。接下来将分别进行介绍。

第一种含义,目标指令指示当前需启动第一推理模型。此时,服务器获取当前剩余资源、第一推理模型的文件大小和第一实例数量,该第一实例数量是指为第一推理模型配置的实例数量,将当前剩余资源减去第一推理模型的文件大小与第一实例数量的乘积,以得到预估剩余资源。

由于服务器在响应于目标指令时可能已经启动了至少一个推理模型,该至少一个推理模型会占用服务器中的资源,因此,可以获取当前服务器的剩余资源,从而获知服务器中剩余的可用资源。

在实际应用中,若用户所需的推理模型处于未启动状态,此时,用户能够向服务器发送针对该推理模型的启动指令,以启动该推理模型,进而用户能够向服务器发送针对该推理模型的推理请求。若用户在服务器中未查询到所需要的推理模型,用户能够将自己需要的推理模型上传至服务器,此时服务器能够接收用户上传的推理模型,并且对该上传的推理模型进行启动,进而用户能够向服务器发送针对该推理模型的推理请求。也就是说,当前需启动的第一推理模块可能为服务器中已存在但未启动的推理模型,还可能为用户当前上传的推理模型。

由于推理模型被上传至服务器时,用户能够配置该推理模型在运行时所需的实例数量,而且推理模型被上传至服务器之后,该服务器能够获知该推理模型的文件大小。因此,不管第一推理模型为服务器中已存在但未启动的推理模型,还是用户当前上传的推理模型,服务器都能够获取到第一推理模型的文件大小,以及实例数量,即第一实例数量。

由于推理模型可能具有多个实例,该多个实例能够同时运行,以处理用户针对该推理模型发出的多个推理请求。也是就说,服务器运行的某一个推理模型的多个实例可以认为是服务器同时运行了多个该推理模型,并且由于第一推理模型尚未启动,无法确定第一推理模型在启动之后的一个实例所占用的内存大小。因此,服务器能够将第一推理模型的文件大小与第一实例数量的乘积的值作为第一推理模型在启动之后所占用的资源大小,进而将当前剩余资源减去第一推理模型的文件大小与第一实例数量的乘积,以得到服务器在启动第一推理模型之后预估的剩余资源。

第二种含义,目标指令指示当前需扩充已启动的第二推理模型的实例。此时,服务器获取当前剩余资源、第二推理模型的内存占用大小和第二实例数量,第二实例数量是指当前为第二推理模型需扩充的实例数量,将当前剩余资源减去第二推理模型的内存占用大小与第二实例数量的乘积,以得到预估剩余资源。

由于第二推理模型已经启动,因此,服务器能够获取第二推理模型在启动之后一个实例所占用的内存大小,即第二推理模型的内存占用大小。也就是说,第二推理模型的内存占用大小是指第二推理模型的一个实例所占用的内存大小。因此,服务器能够将第二推理模型的内存占用大小与第二实例数量的乘积的值作为该第二推理模型当前需扩充的实例所占用的资源大小,进而将当前剩余资源减去第二推理模型的内存占用大小与第二实例数量的乘积,以得到服务器在对该第二推理模型的实例进行扩充之后预估的剩余资源。

步骤102:若预估剩余资源小于预留资源,则获取已启动的多个推理模型分别在多个维度的数据,以得到多组数据,该预留资源是指能够使系统正常运行的资源,该多个推理模型不包括第二推理模型。

可选地,若预估剩余资源大于或等于预留资源,服务器则执行目标指令。

若预估剩余资源小于预留资源,说明服务器在执行目标指令之后可能会引起服务器资源紧张,存在系统运行过慢甚至崩溃的风险,此时,服务器可以获取已启动的多个推理模型分别在多个维度的数据,以得到多组数据。若预估剩余资源大于或等于预留资源,说明服务器当前资源充足,在执行目标指令之后并不会引起资源紧张,从而导致系统难以正常运行,因此,服务器能够直接执行该目标指令。

在一些实例中,上述多个维度的数据包括如下至少一项数据:属性数据、运行数据、推理数据。

在一些实例中,属性数据可以包括推理模型的名称、版本、上传日期、文件大小、配置实例数量等等。其中,上传日期是指用户上传该推理模型至服务器的日期。配置模型实例数量是指推理模型被上传至服务器时,用户配置的该推理模型在运行时所需的实例数量。

在一些实例中,运行数据可以包括推理模型的内存占用大小、上次启动状态、在线时长、是否有新版本、当前实例数量等等。其中,内存占用大小是指推理模型在启动之后且未处理推理请求时,一个实例所占用的服务器的内存大小。上次启动状态指示推理模型上一次启动的情况,即启动成功或者启动失败。当前实例数量是指推理模型当前在服务器中所运行的实例数量。

在一些实例中,推理数据可以包括发送推理请求的IP(Internet Protocol,互联网协议)地址数量、推理请求总数、推理成功数量、推理失败数量、推理请求平均端到端时间、推理请求平均排队时间、推理请求平均计算时间等等。其中,推理请求总数是指所有需要该推理模型进行推理的推理请求的数量,推理请求平均端到端时间是指服务器接收到推理请求的时间到服务器发出推理结果的时间之间的差值的平均值,请求平均计算时间是指推理模型开始进行推理到得出推理结果的时间的平均值。

当然,上述多个维度的数据还可以包括其他维度,本申请实施例对此不作限定。

需要说明的是,上述多个维度的数据可以是推理模型从启动到服务器获取数据这段时间内的所有数据,当然,该多个维度的数据也可以是推理模型在目标时间段内的数据,其中,目标时间段是事先设置的一个数值,而且在不同的情况下,还可以按照不同的需求进行调整。例如,目标时间段可以为当前时间到当前时间的前5分钟,也就是说,获取推理模型从当前时间到当前时间的前5分钟内的数据。若获取推理模型在目标时间段内的数据,则上述推理数据就是推理模型在目标时间段内的推理数据。预留资源是事先设置的,而且在不同的情况下,还可以按照不同的需求进行调整。

步骤103:基于该多组数据,对该多个推理模型的实例进行删减,并为目标指令的执行分配资源,其中,在进行实例删减后预估剩余资源大于或等于预留资源。

在一些实施例中,服务器能够基于该多组数据,确定该多个推理模型的优先级,基于该多个推理模型的优先级,对该多个推理模型的实例进行删减。

作为一种示例,服务器将该多组数据输入至经训练的分类模型,以得到该多个推理模型的类别,该多个推理模型的类别指示该多个推理模型的优先级。

在将多组数据输入至经训练的分类模型之前,需要对待训练的分类模型进行训练。也即是,服务器可以获取已启动的每个推理模型在多个维度的数据以及每个推理模型所对应的类别,进而将已启动的每个推理模型在多个维度的数据作为输入,将每个推理模型所对应的类别作为输出,对待训练的分类模型进行训练。

在训练过程中,还可以基于实际需求对该多个维度的数据设置不同的权重,以使分类模型能够更加准确地对推理模型进行分类。例如,如果比较重视推理请求总数和内存占用大小,可以增加推理请求总数和内存占用大小所对应的权重。当然,也可以在不设置权重的情况下对分类模型进行训练。本申请实施例对此不做限定。

可选地,在得到经训练的分类模型之后,还可以对该分类模型进行评估。也就是,将推理模型在多个维度的数据输入至该分类模型中,以得到该分类模型所预测的该推理模型的类别,进而将该分类模型所预测的类别与事先确定的该推理模型的类别进行对比,以确定该分类模型的优劣,以便于对该分类模型进行改进。

需要说明的是,在对分类模型进行训练时,可以获取已启动的推理模型在设定时间段内的数据,这样,获取的数据更能够表征推理模型最新的情况,从而使最终得到分类模型能够更加准确的对推理模型进行分类。

作为一种示例,分类模型能够基于已启动的多个推理模型分别在多个维度的数据,将已启动的多个推理模型分为A、B、C、D四个类别,优先级依次递减。其中,A类表示优先级最高,即推理请求地址数量多、推理请求总数多、推理成功数量多、推理请求平均排队时间长、内存占用较少、没有新版本等多个维度的情况;B类表示优先级中等,即上述各个维度的情况处于中等水平;C类表示优先级较低,即上述各个维度的情况处于较低水平;D类表示优先级最低,即推理请求总数为0且存在新版本。

在一些实施例中,基于该多个推理模型的优先级,对该多个推理模型的实例进行删减的实现过程可以包括:基于该多个推理模型的优先级和预估释放资源,确定该多个推理模型中待删减实例的至少一个推理模型和该至少一个推理模型中待删减的实例数量,该预估释放资源是指预留资源与预估剩余资源之间的差值,按照该至少一个推理模型中待删减的实例数量,对该至少一个推理模型的实例进行删减。

可选地,可以获取该多个推理模型的内存占用大小,进而基于该多个推理模型的优先级和该多个推理模型的内存占用大小,对该多个推理模型进行排序,以得到该多个推理模型的排序结果,基于该多个推理模型的排序结果和预估释放资源,确定该多个推理模型中待删减实例的至少一个推理模型和该至少一个推理模型中待删减的实例数量。

在一些实施例中,基于该多个推理模型的优先级和该多个推理模型的内存占用大小,对该多个推理模型进行排序,以得到该多个推理模型的排序结果的实现过程可以包括:基于该多个推理模型的优先级,按照优先级从低到高的顺序,对该多个推理模型进行排序,对于属于同一优先级的推理模型,基于属于同一优先级的推理模型的内存占用大小,按照内存占用大小从大到小的顺序,对属于同一优先级的推理模型进行排序,最终得到该多个推理模型的排序结果。其中,排序结果中位于第一的推理模型的优先级最低且内存占用大小最大,位于最后的推理模型的优先级最高且内存占用大小最小。

在一些实施例中,基于该多个推理模型的排序结果和预估释放资源,确定多个推理模型中待删减实例的至少一个推理模型和该至少一个推理模型中待删减的实例数量的实现过程可以包括:基于该多个推理模型的优先级,确定该多个推理模型分别对应的第一释放资源,该第一释放资源是指推理模型进行实例删减后能够释放的最大资源,基于该多个推理模型的排序结果,确定多个累计释放资源,该多个累计释放资源是指按照排序结果从前到后的顺序,对不同数量的推理模型对应的第一释放资源的累加,从该多个累计释放资源中确定一个累计释放资源作为目标释放资源,基于该目标释放资源,确定多个推理模型中待删减实例的至少一个推理模型和该至少一个推理模型中待删减的实例数量。

由于用户对不同推理模型的需求不同,优先级较高的推理模型的推理请求多,需要更多的实例以提高推理效率,优先级较低的推理模型的推理请求较少,可以减少该推理模型的实例。基于此,在对推理模型的实例进行删减时,需要对不同优先级的推理模型所需保留的最小实例数量进行规定,以保证在对模型服务化系统影响最小的情况下对服务器的资源进行管理。

在一些实施例中,服务器中事先存储有优先级与最小实例数量的对应关系,该对应关系指示不同优先级的推理模型所需保留的最小实例数量。对于该多个推理模型中的任意一个推理模型,基于该推理模型的优先级,从优先级与最小实例数量的对应关系中确定该推理模型所对应的最小实例数量,获取该推理模型的当前实例数量和内存占用大小,将当前实例数量减去最小实例数量,以得到第三实例数量,将第三实例数量乘以该推理模型的内存占用大小,以得到该推理模型对应的第一释放资源。按照相同的方式对该多个推理模型中每一个推理模型进行处理之后,可以得到该多个推理模型分别对应的第一释放资源。

作为一种示例,可以通过如下公式(1),对确定多个累计释放资源的过程进行表示。

其中,在上述公式(1)中,A

例如,优先级与最小实例数量的对应关系为:A类、B类、C类对应的最小实例数量都为1,D类对应的最小实例数量为0。由于D类表示该推理模型的推理请求总数为0且存在新版本,说明用户常使用新版本进行推理,使用旧版本的可能性较小,因此D类的推理模型的实例数量可以减小至0。

基于上文描述,服务器能够为不同优先级的推理模型设置最小实例数量,也即是,在进行实例数量删减时,不能将所有推理模型的实例数量都减小至0。当然,服务器也能够将不同优先级的推理模型对应的最小实例数量都设置为0或者不设置不同优先级的推理模型对应的最小实例数量,换言之,该多个推理模型的实例数量都能够减少至0。本申请实施例对此不做限定。

从多个累计释放资源中确定一个累计释放资源作为目标释放资源的实现过程可以包括:将该多个累计释放资源中大于或等于预估释放资源,且与预估释放资源的差值最小的累计释放资源确定为目标释放资源。当然,实际应用中,还可以通过其他的方式确定目标释放资源。比如,将该多个累计释放资源中大于或等于预估释放资源的任意一个累计释放资源确定为目标释放资源。

由于累计释放资源代表至少一个推理模型所对应的第一释放资源的累积和,而目标释放资源是多个累计释放资源中的一个,因此,在确定出目标释放资源之后,能够确定该目标释放资源所对应的推理模型,以及与推理模型对应的第三实例数量,这样,能够直接将目标释放资源所对应的推理模型确定为该多个推理模型中待删减实例的至少一个推理模型,将该至少一个推理模型对应的第三实例数量确定为该至少一个推理模型中待删减的实例数量。

由于目标释放资源是待删减实例的至少一个推理模型所能释放的最大资源,通过上述方法虽然能够保证最终释放的资源满足目标指令的执行,但是可能会删除一些不必要删除的实例,也就是说,对于待删减实例的至少一个推理模型中的最后一个推理模型来说,可能只需要删减该推理模型的部分实例就能够保证服务器的剩余资源满足目标指令的执行,并不需要将该推理模型的实例删减至最小。因此,为了避免删减不必要删减的实例,保证最终删减的推理模型的实例数量的准确性,在确定该多个推理模型中待删减实例的至少一个推理模型和该至少一个推理模型中待删减的实例数量之前,还可以确定待删减实例的至少一个推理模型中最后一个推理模型的内存占用大小,若目标释放资源与预估释放资源的差值除以该内存占用大小的值大于或等于1,则将目标释放资源与预估释放资源的差值除以该内存占用大小的值的整数部分确定为待保留实例数量,将待删减实例的至少一个推理模型中最后一个推理模型的第三实例数量减去待保留实例数量,以得到最后一个推理模型中待删减的实例数量。

若目标释放资源与预估释放资源的差值除以该内存占用大小的值小于1,则直接将目标释放资源所对应的推理模型确定为该多个推理模型中待删减实例的至少一个推理模型,将该至少一个推理模型对应的第三实例数量确定为该至少一个推理模型中待删减的实例数量。

若目标释放资源与预估释放资源的差值除以最后一个推理模型的内存占用大小的值大于或等于1,说明目标释放资源与预估释放资源的差值大于或等于该最后一个推理模型的内存占用大小,不需要将该最后一个推理模型的实例删减至最小,存在不必要删减的实例。因此,可以将目标释放资源与预估释放资源的差值除以该内存占用大小的值的整数部分确定为待保留实例数量,将该最后一个推理模型的第三实例数量减去待保留实例数量,以得到该最后一个推理模型中待删减的实例数量。若目标释放资源与预估释放资源的差值除以最后一个推理模型的内存占用大小的值小于1,说明目标释放资源与预估释放资源的差值小于该最后一个推理模型的内存占用大小,该最后一个推理模型的实例需要删减至最小,不存在不必要删减的实例。因此,可以将将该最后一个推理模型对应的第三实例数量确定为该最后一个推理模型中待删减的实例数量。

基于上文描述,服务器可以先确定执行目标指令所需删减实例的至少一个推理模型以及该至少一个推理模型中待删减的实例数量,然后对该至少一个推理模型的实例进行删减。当然,服务器也能够基于该多个推理模型的排序结果,直接按照从前到后的顺序依次删减推理模型的实例数量,每次删减之后确定服务器的预估剩余资源,直到服务器的预估剩余资源大于或等于预留资源时,则完成对实例数量的删减。也即是,直接对推理模型依次进行实例的删减,直至服务器的剩余资源能够满足目标指令的执行为止。本申请实施例对此不做限定。

在实际应用中,服务器执行目标指令可能需要较多的资源,如果直接按照优先级对推理模型进行实例的删减,可能会导致对已启动的推理模型的实例数量进行删减之后,服务器的剩余资源仍旧无法满足目标指令的执行,在这种情况下,不仅服务器无法执行目标指令,还删除了已启动的推理模型的实例数量,可能会降低推理效率。因此,为了避免在删减推理模型的实例之后,仍旧无法执行目标指令的情况出现,服务器基于该多个推理模型的优先级,对该多个推理模型的实例进行删减之前,还可以基于该多个推理模型的优先级,确定最大释放资源,该最大释放资源是指当前服务器能够释放的最大资源,若预估释放资源小于或等于最大释放资源,则执行基于该多个推理模型的优先级,对该多个推理模型的实例进行删减的步骤。若预估释放资源大于最大释放资源,则生成报警信息,该报警信息用于指示目标指令执行失败。

在一些实施例中,该最大释放资源可以为该多个推理模型分别对应的第一释放资源之和。其中,该多个推理模型分别对应的第一释放资源的确定过程请参考上文中对应的内容,此处不再赘述。

若预估释放资源小于或等于最大释放资源,说明服务器在释放资源之后,服务器的剩余资源一定能够满足目标指令的执行,因此,可以执行基于该多个推理模型的优先级,对该多个推理模型的实例进行删减的步骤。若预估释放资源大于最大释放资源,说明服务器即使将所能释放的资源都释放之后,也无法满足目标指令的执行,因此,可以生成报警信息,以指示目标指令执行失败。

在实际应用中,服务器可能需要同时扩充多个已启动的推理模型的实例,也就是说,目标指令指示需要同时扩充多个已启动的第二推理模型的实例。此时,服务器在确定预估剩余资源之前,还可以获取该多个第二推理模型分别在多个维度的数据,基于该多个第二推理模型分别在多个维度的数据,确定该多个第二推理模型的优先级,进而按照该多个第二推理模型的优先级从高到低的顺序,依次为第二推理模型分配资源。其中,基于该多个第二推理模型分别在多个维度的数据,确定该多个第二推理模型的优先级的实现过程请参考上文中对应的内容,此处不再赘述。

由于可能存在至少两个第二推理模型都属于同一优先级的情况,此时,可以基于该多个第二推理模型的优先级和该多个第二推理模型的推理请求平均排队时间,对该多个第二推理模型进行排序,以得到多个第二推理模型的排序结果,进而按照该多个第二推理模型的排序结果从前到后的顺序,依次为第二推理模型分配资源。

在一些实施例中,可以基于该多个第二推理模型的优先级,按照优先级从高到低的顺序,对该多个第二推理模型进行排序,对于属于同一优先级的第二推理模型,基于属于同一优先级的第二推理模型的推理请求平均排队时间,按照推理请求平均排队时间从长到短的顺序,对属于同一优先级的第二推理模型进行排序,最终得到该多个第二推理模型的排序结果。其中,排序结果中位于第一的第二推理模型的优先级最高且推理请求平均排队时间最长,位于最后的第二推理模型的优先级最低且推理请求平均排队时间最短。

也就是说,在目标指令指示需要同时扩充多个已启动的第二推理模型的实例的情况下,可以按照优先级从高到低的顺序依次为该多个第二推理模型分配资源,最终完成目标指令的执行。这样,能够保证优先级高的推理模型优先获取到服务器的资源,进一步提高服务器的推理效率。

接下来以图2为例,对本申请实施例提供的一种资源管理方法进行介绍。如图2所示,服务器响应于目标指令,确定预估剩余资源,若预估剩余资源小于预留资源,说明服务器在执行目标指令之后可能会引起服务器资源紧张,存在系统运行过慢甚至崩溃的风险,此时,服务器可以获取已启动的多个推理模型分别在多个维度的数据,以得到多组数据,进而基于该多组数据,对该多个推理模型的实例进行删减,并为目标指令的执行分配资源,即执行目标指令。若预估剩余资源大于或等于预留资源,说明服务器当前资源充足,在执行目标指令之后并不会引起资源紧张,从而导致系统难以正常运行,因此,服务器能够直接执行该目标指令。

在本申请实施例中,在预估剩余资源小于预留资源的情况下,说明执行目标指令之后会导致资源紧张,进而可能会造成系统运行过慢甚至崩溃的问题。因此,获取已启动的多个推理模型分别在多个维度的数据,进而基于这些数据对已启动的多个推理模型的实例进行删减,以释放资源,最大程度地避免由于资源紧张而导致系统运行过慢甚至崩溃的问题,而且还可以减少启动新的推理模型和扩充推理模型的实例失败的情况,进而减少推理请求等待时间,提高推理效率。也即是,通过为服务器设置预留资源,并且确保该预留资源不被占用,这样,可以保证服务器始终正常运行,有效避免服务器因资源紧张而导致系统运行过慢甚至崩溃的问题。并且,服务器还能够为不同优先级的推理模型设置最小实例数量以及基于推理模型的优先级对推理模型的实例进行删减,这样,能使优先级低的推理模型率先删减实例,以释放服务器资源,从而在保证推理效率的情况下,对服务器的资源进行管理。

本申请实施例所提供的方法还能够确定推理模型的待保留实例数量,从而保证最终删减的推理模型实例数量的准确性,避免删除不必要删除的实例数量,在保证推理效率的前提下对服务器资源进行管理。此外,通过确定最大释放资源,基于预估释放资源与最大释放资源之间的大小关系,确定是否对推理模型的实例进行删减,在预估释放资源大于最大释放资源时,说明服务器即使将所能释放的资源都释放之后,也无法满足目标指令的执行,此时,不删减已启动的推理模型的实例,这样能够避免在删除实例数量之后,仍旧无法执行目标指令的情况出现,避免删除不必要删除的实例,保证服务器的推理效率。在目标指令指示需要同时扩充多个已启动的第二推理模型的实例的情况下,可以按照优先级从高到低的顺序依次为该多个第二推理模型分配资源,最终完成目标指令的执行。这样,能够保证优先级高的推理模型优先获取到服务器的资源,进一步提高服务器的推理效率。

图3是本申请实施例提供的一种资源管理装置的结构示意图,该资源管理装置可以由软件、硬件或者两者的结合实现成为服务器的部分或者全部。请参考图3,该装置包括:确定模块301、获取模块302和删减模块303。

确定模块301,用于响应于目标指令,确定预估剩余资源,该目标指令指示当前需启动第一推理模型或者当前需扩充已启动的第二推理模型的实例,该预估剩余资源是指预估执行目标指令之后的剩余资源。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。

获取模块302,用于若预估剩余资源小于预留资源,则获取已启动的多个推理模型分别在多个维度的数据,以得到多组数据,该预留资源是指能够使系统正常运行的资源,该多个推理模型不包括第二推理模型。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。

删减模块303,用于基于多组数据,对该多个推理模型的实例进行删减,并为目标指令的执行分配资源,其中,在进行实例删减后预估剩余资源大于或等于预留资源。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。

可选地,目标指令指示当前需启动第一推理模型;

确定模块301具体用于:

获取当前剩余资源、第一推理模型的文件大小和第一实例数量,该第一实例数量是指为第一推理模型配置的实例数量;

基于当前剩余资源、第一推理模型的文件大小和第一实例数量,以得到预估剩余资源。

可选地,目标指令指示当前需扩充第二推理模型的实例;

确定模块301具体用于:

获取当前剩余资源、第二推理模型的内存占用大小和第二实例数量,该第二实例数量是指当前为第二推理模型需扩充的实例数量;

基于当前剩余资源、第二推理模型的内存占用大小和第二实例数量,以得到预估剩余资源。

可选地,删减模块303具体用于:

基于多组数据确定多个推理模型的优先级;

基于多个推理模型的优先级,对多个推理模型的实例进行删减。

可选地,删减模块303具体用于:

将多组数据输入至经训练的分类模型,以得到多个推理模型的类别,多个推理模型的类别指示多个推理模型的优先级。

可选地,删减模块303具体用于:

基于多个推理模型的优先级和预估释放资源,确定多个推理模型中待删减实例的至少一个推理模型和至少一个推理模型中待删减的实例数量,该预估释放资源是指预留资源与预估剩余资源之间的差值;

按照至少一个推理模型中待删减的实例数量,对该至少一个推理模型的实例进行删减。

可选地,删减模块303具体用于:

基于多个推理模型的优先级,确定最大释放资源,该最大释放资源是指当前能够释放的最大资源;

若预估释放资源小于或等于最大释放资源,则执行基于多个推理模型的优先级,对多个推理模型的实例进行删减的步骤,该预估释放资源是指预留资源与预估剩余资源之间的差值。

可选地,多个维度的数据包括如下至少一项数据:属性数据、运行数据、推理数据。

在本申请实施例中,在预估剩余资源小于预留资源的情况下,说明执行目标指令之后会导致资源紧张,进而可能会造成系统运行过慢甚至崩溃的问题。因此,获取已启动的多个推理模型分别在多个维度的数据,进而基于这些数据对已启动的多个推理模型的实例进行删减,以释放资源,最大程度地避免由于资源紧张而导致系统运行过慢甚至崩溃的问题,而且还可以减少启动新的推理模型和扩充推理模型的实例失败的情况,进而减少推理请求等待时间,提高推理效率。也即是,通过为服务器设置预留资源,并且确保该预留资源不被占用,这样,可以保证服务器始终正常运行,有效避免服务器因资源紧张而导致系统运行过慢甚至崩溃的问题。并且,服务器还能够为不同优先级的推理模型设置最小实例数量以及基于推理模型的优先级对推理模型的实例进行删减,这样,能使优先级低的推理模型率先删减实例,以释放服务器资源,从而在保证推理效率的情况下,对服务器的资源进行管理。

本申请实施例所提供的方法还能够确定推理模型的待保留实例数量,从而保证最终删减的推理模型实例数量的准确性,避免删除不必要删除的实例数量,在保证推理效率的前提下对服务器资源进行管理。此外,通过确定最大释放资源,基于预估释放资源与最大释放资源之间的大小关系,确定是否对推理模型的实例进行删减,在预估释放资源大于最大释放资源时,说明服务器即使将所能释放的资源都释放之后,也无法满足目标指令的执行,此时,不删减已启动的推理模型的实例,这样能够避免在删除实例数量之后,仍旧无法执行目标指令的情况出现,避免删除不必要删除的实例,保证服务器的推理效率。在目标指令指示需要同时扩充多个已启动的第二推理模型的实例的情况下,可以按照优先级从高到低的顺序依次为该多个第二推理模型分配资源,最终完成目标指令的执行。这样,能够保证优先级高的推理模型优先获取到服务器的资源,进一步提高服务器的推理效率。

需要说明的是:上述实施例提供的资源管理装置在进行资源管理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的资源管理装置与资源管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图4是本申请实施例提供的一种服务器的结构示意图。服务器400包括中央处理单元(CPU)401、包括随机存取存储器(RAM)402和只读存储器(ROM)403的系统存储器404,以及连接系统存储器404和中央处理单元401的系统总线405。服务器400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)406,和用于存储操作系统413、应用程序414和其他程序模块415的大容量存储设备407。

基本输入/输出系统406包括有用于显示信息的显示器408和用于用户输入信息的诸如鼠标、键盘之类的输入设备409。其中显示器408和输入设备409都通过连接到系统总线405的输入输出控制器410连接到中央处理单元401。基本输入/输出系统406还可以包括输入输出控制器410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器410还提供输出到显示屏、打印机或其他类型的输出设备。

大容量存储设备407通过连接到系统总线405的大容量存储控制器(未示出)连接到中央处理单元401。大容量存储设备407及其相关联的计算机可读介质为服务器400提供非易失性存储。也就是说,大容量存储设备407可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。

不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器404和大容量存储设备407可以统称为存储器。

根据本申请的各种实施例,服务器400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器400可以通过连接在系统总线405上的网络接口单元411连接到网络412,或者说,也可以使用网络接口单元411来连接到其他类型的网络或远程计算机系统(未示出)。

上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。

在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中资源管理方法的步骤。例如,所述计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。

值得注意的是,本申请实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。

应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。所述计算机指令可以存储在上述计算机可读存储介质中。

也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的资源管理方法的步骤。

应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

需要说明的是,本申请实施例所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请实施例中涉及到的已启动的多个推理模型分别在多个维度的数据都是在充分授权的情况下获取的。

以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 一种直播间管理方法、装置、服务器及存储介质
  • 接口文档管理方法、装置、服务器及存储介质
  • 维修工具管理方法、装置、系统、服务器及存储介质
  • 用于测试的多设备管理方法、装置、服务器及存储介质
  • 资源管理方法、装置及计算机可读存储介质
  • 资源管理方法、资源管理系统、服务器及计算机存储介质
  • 资源管理方法、监控服务器、代理服务器以及存储介质
技术分类

06120115612905