本说明书一个或多个实施例涉及资源分配技术领域,尤其涉及一种面向人工智能服务的资源分配方法、装置及电子设备。
背景技术:
现有的基于云节点的分布式人工智能模型训练的技术主要为:构建云服务器以及多个边缘服务器构成的训练网络,云服务器将需要训练的人工智能原始数据集进行分割,并将分割得到的各个模块分发至各个边缘服务器进行训练,训练结果反馈至云服务器,从而实现人工智能模型的训练过程。
但是,发明人发现,在这种基于云服务器进行同步更新的模型训练方式下,由于没有充分利用边缘服务器的计算和带宽资源,造成资源浪费,增加了模型训练的时间。例如,在资源充足的边缘服务器上,训练过程时间较短,在一次训练迭代的过程中,花费了较多的时间等待参与训练的边缘服务器完成该次迭代过程,而资源有限的边缘服务器则花费更多的时间在计算和数据传输上,成为了训练过程中的“瓶颈”节点。
技术实现要素:
有鉴于此,本说明书一个或多个实施例的目的在于提出一种面向人工智能服务的资源分配方法、装置及电子设备,能够对弹性光网络中的边缘服务器进行资源分配,优化资源,节约模型训练时间。
基于上述目的,本说明书一个或多个实施例提供了一种面向人工智能服务的资源分配方法,包括:
获得待计算的网络模型;
基于所述网络模型确定参与训练的边缘服务器的个数n;
从边缘服务器队列中获取一个边缘服务器;
判断所述边缘服务器是否具有足够的计算资源和链路资源,若所述边缘服务器的计算资源和/或链路资源不足,则放弃该边缘服务器,并返回执行获取边缘服务器的步骤;若所述边缘服务器的计算资源和链路资源足够,则判断已获取的边缘服务器的数量n是否等于n,若n<n,则返回执行获取边缘服务器的步骤,若n=n,则根据每个边缘服务器的计算资源和链路资源,进行资源分配。
作为一种可选的实施方式,所述从边缘服务器队列中获取一个边缘服务器,包括:
获取边缘服务器队列中的每个边缘服务器的计算资源和链路资源;
基于所述计算资源和链路资源,对所述边缘服务器进行排序,获得排序后的边缘服务器队列;
从排序后的边缘服务器队列中获取一个边缘服务器。
作为一种可选的实施方式,所述基于所述计算资源和链路资源,对所述边缘服务器进行排序,包括:
对每个边缘服务器的计算资源和链路资源进行加权,并按照加权值从大至小的顺序对所述边缘服务器进行排序。
作为一种可选的实施方式,所述若n=n,则根据每个边缘服务器的计算资源和链路资源,进行资源分配,包括:
若n=n,判断n个边缘服务器的计算资源与链路资源是否满足训练qos;
若n个边缘服务器的计算资源与链路资源满足训练qos,则根据每个边缘服务器的计算资源和链路资源,进行资源分配;若n个边缘服务器的计算资源与链路资源不满足训练qos,则停止资源分配。
作为一种可选的实施方式,所述放弃该边缘服务器,并返回执行获取边缘服务器的步骤,包括:
放弃该边缘服务器;
判断边缘服务器队列中是否有未取用的边缘服务器,若边缘服务器队列中有未取用的边缘服务器,则返回执行获取边缘服务器的步骤;若边缘服务器队列中没有未取用的边缘服务器,则停止资源分配。
作为一种可选的实施方式,所述若n<n,则返回执行获取边缘服务器的步骤,包括:
若n<n,判断边缘服务器队列中是否有未取用的边缘服务器,若边缘服务器队列中有未取用的边缘服务器,则返回执行获取边缘服务器的步骤;若边缘服务器队列中没有未取用的边缘服务器,则停止资源分配。
与所述面向人工智能服务的资源分配方法相对应的,本发明实施例还提供了一种面向人工智能服务的资源分配装置,包括:
第一获取单元,用于获得待计算的网络模型;
分配单元,用于基于所述网络模型确定参与训练的边缘服务器的个数n;
第二获取单元,用于从边缘服务器队列中获取一个边缘服务器;
分配单元,用于判断所述边缘服务器是否具有足够的计算资源和链路资源,若所述边缘服务器的计算资源和/或链路资源不足,则放弃该边缘服务器,并返回执行获取边缘服务器的步骤;若所述边缘服务器的计算资源和链路资源足够,则判断已获取的边缘服务器的数量n是否等于n,若n<n,则返回执行获取边缘服务器的步骤,若n=n,则根据每个边缘服务器的计算资源和链路资源,进行资源分配。
作为一种可选的实施方式,所述第二获取单元包括:
获取模块,用于获取边缘服务器队列中的每个边缘服务器的计算资源和链路资源;
排序模块,用于基于所述计算资源和链路资源,对所述边缘服务器进行排序,获得排序后的边缘服务器队列。
作为一种可选的实施方式,所述排序模块用于:
对每个边缘服务器的计算资源和链路资源进行加权,并按照加权值从大至小的顺序对所述边缘服务器进行排序。
与所述面向人工智能服务的资源分配方法相对应的,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法。
从上面所述可以看出,本说明书一个或多个实施例提供的一种面向人工智能服务的资源分配方法、装置及电子设备,根据待计算的网络模型,确定需要参与训练的边缘服务器的个数n,从边缘服务器队列中挨个的获取边缘服务器,针对每次获取的边缘服务器,判断其的计算资源与链路资源是否充足,直至获取n个计算资源与链路资源充足的边缘服务器,再根据每个边缘服务器的计算资源和链路资源,进行资源分配,优化资源,有效的节约模型训练时间。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的分配方法的示意图;
图2为本说明书一个或多个实施例的电子设备的示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本公开进一步详细说明。
为达到上述目的,本发明实施例提供了一种面向人工智能服务的资源分配方法、装置及电子设备,该方法及装置应用于云服务器,或者服务器集群等,具体不做限定。下面首先对本发明实施例提供的面向人工智能服务的资源分配方法进行详细说明。
本发明实施例提供了一种面向人工智能服务的资源分配方法,包括:
获得待计算的网络模型;
基于所述网络模型确定参与训练的边缘服务器的个数n;
从边缘服务器队列中获取一个边缘服务器;
判断所述边缘服务器是否具有足够的计算资源和链路资源,若所述边缘服务器的计算资源和/或链路资源不足,则放弃该边缘服务器,并返回执行获取边缘服务器的步骤;若所述边缘服务器的计算资源和链路资源足够,则判断已获取的边缘服务器的数量n是否等于n,若n<n,则返回执行获取边缘服务器的步骤,若n=n,则根据每个边缘服务器的计算资源和链路资源,进行资源分配。
本发明实施例中,根据待计算的网络模型,确定需要参与训练的边缘服务器的个数n,从边缘服务器队列中挨个的获取边缘服务器,针对每次获取的边缘服务器,判断其的计算资源与链路资源是否充足,直至获取n个计算资源与链路资源充足的边缘服务器,再根据每个边缘服务器的计算资源和链路资源,进行资源分配,优化资源,有效的节约模型训练时间。
图1示出了本发明实施例提供了一种面向人工智能服务的资源分配方法,包括:
s100、获得待计算的网络模型;
s200、基于所述网络模型确定参与训练的边缘服务器的个数n;
s300、从边缘服务器队列中获取一个边缘服务器;
作为一种可选的实施方式,s300包括:
获取边缘服务器队列中的每个边缘服务器的计算资源和链路资源;
基于所述计算资源和链路资源,对所述边缘服务器进行排序,获得排序后的边缘服务器队列;
从排序后的边缘服务器队列中获取一个边缘服务器。
可选的,所述基于所述计算资源和链路资源,对所述边缘服务器进行排序,包括:
对每个边缘服务器的计算资源和链路资源进行加权,并按照加权值从大至小的顺序对所述边缘服务器进行排序。
s400、判断所述边缘服务器是否具有足够的计算资源和链路资源;
若所述边缘服务器的计算资源和/或链路资源不足,则执行s500:放弃该边缘服务器,并返回执行s300;
若所述边缘服务器的计算资源和链路资源足够,则执行s600:判断已获取的边缘服务器的数量n是否等于n;
若n<n,则返回执行s300;
若n=n,执行s700:根据每个边缘服务器的计算资源和链路资源,进行资源分配。
可选的,根据每个边缘服务器的计算资源和链路资源,进行资源分配,包括:
向每个边缘服务器分配相应大小的训练数据,并进行路由和频谱资源的分配。
可选的,根据k最短路算法计算边缘服务器到云服务器的三条备选路径,从而判断边缘服务器的链路资源。
作为一种可选的实施方式,所述若n=n,则根据每个边缘服务器的计算资源和链路资源,进行资源分配,包括:
若n=n,则执行s800:判断n个边缘服务器的计算资源与链路资源是否满足训练qos;
若n个边缘服务器的计算资源与链路资源满足训练qos,则执行s700:根据每个边缘服务器的计算资源和链路资源,进行资源分配;
若n个边缘服务器的计算资源与链路资源不满足训练qos,则执行s900:停止资源分配。
作为一种可选的实施方式,所述放弃该边缘服务器,并返回执行s300,包括:
s500、放弃该边缘服务器;
s1000、判断边缘服务器队列中是否有未取用的边缘服务器;
若边缘服务器队列中有未取用的边缘服务器,则返回执行s300;
若边缘服务器队列中没有未取用的边缘服务器,则执行s900。
作为一种可选的实施方式,所述若n<n,则返回执行s300,包括:
若n<n,则执行s1000:判断边缘服务器队列中是否有未取用的边缘服务器;
若边缘服务器队列中有未取用的边缘服务器,则返回执行s300;
若边缘服务器队列中没有未取用的边缘服务器,则执行s900。
下面以兴趣推荐算法为例对面向人工智能服务的资源分配方法进行介绍。
实施例
云服务器获得待计算的兴趣推荐算法,并基于兴趣推荐算法的运算规模设置参与训练的边缘服务器个数,例如个数设置为2;
将与云服务器相连接的边缘服务器,根据计算资源和链路资源加权后得到的分值按照从大到小的顺序进行排序;
并顺次选择计算资源和链路资源足够边缘服务器a和b参与兴趣推荐算法的计算;
根据人工智能模型训练数据分割算法确定训练数据的部署方式以及传输数据的路由路径,模型训练服务提供算法决定在边缘服务器a部署40%的训练数据而将剩余训练数据部署在资源充足的边缘服务器b,同时确定弹性光网络中路由路径并分配传输资源,如此,有效的减少由于模型在云服务器同步聚合带来的边缘服务器等待时间。
可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
与所述面向人工智能服务的资源分配方法相对应的,本发明实施例还提供了一种面向人工智能服务的资源分配装置,包括:
第一获取单元,用于获得待计算的网络模型;
分配单元,用于基于所述网络模型确定参与训练的边缘服务器的个数n;
第二获取单元,用于从边缘服务器队列中获取一个边缘服务器;
分配单元,用于判断所述边缘服务器是否具有足够的计算资源和链路资源,若所述边缘服务器的计算资源和/或链路资源不足,则放弃该边缘服务器,并返回执行获取边缘服务器的步骤;若所述边缘服务器的计算资源和链路资源足够,则判断已获取的边缘服务器的数量n是否等于n,若n<n,则返回执行获取边缘服务器的步骤,若n=n,则根据每个边缘服务器的计算资源和链路资源,进行资源分配。
本发明实施例中,根据待计算的网络模型,确定需要参与训练的边缘服务器的个数n,从边缘服务器队列中挨个的获取边缘服务器,针对每次获取的边缘服务器,判断其的计算资源与链路资源是否充足,直至获取n个计算资源与链路资源充足的边缘服务器,再根据每个边缘服务器的计算资源和链路资源,进行资源分配,优化资源,有效的节约模型训练时间。
作为一种可选的实施方式,所述第二获取单元包括:
获取模块,用于获取边缘服务器队列中的每个边缘服务器的计算资源和链路资源;
排序模块,用于基于所述计算资源和链路资源,对所述边缘服务器进行排序,获得排序后的边缘服务器队列。
作为一种可选的实施方式,所述排序模块用于:
对每个边缘服务器的计算资源和链路资源进行加权,并按照加权值从大至小的顺序对所述边缘服务器进行排序。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
与所述面向人工智能服务的资源分配方法相对应的,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的方法。
图2示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
1.一种面向人工智能服务的资源分配方法,其特征在于,包括:
获得待计算的网络模型;
基于所述网络模型确定参与训练的边缘服务器的个数n;
从边缘服务器队列中获取一个边缘服务器;
判断所述边缘服务器是否具有足够的计算资源和链路资源,若所述边缘服务器的计算资源和/或链路资源不足,则放弃该边缘服务器,并返回执行获取边缘服务器的步骤;若所述边缘服务器的计算资源和链路资源足够,则判断已获取的边缘服务器的数量n是否等于n,若n<n,则返回执行获取边缘服务器的步骤,若n=n,则根据每个边缘服务器的计算资源和链路资源,进行资源分配。
2.根据权利要求1所述的面向人工智能服务的资源分配方法,其特征在于,所述从边缘服务器队列中获取一个边缘服务器,包括:
获取边缘服务器队列中的每个边缘服务器的计算资源和链路资源;
基于所述计算资源和链路资源,对所述边缘服务器进行排序,获得排序后的边缘服务器队列;
从排序后的边缘服务器队列中获取一个边缘服务器。
3.根据权利要求2所述的面向人工智能服务的资源分配方法,其特征在于,所述基于所述计算资源和链路资源,对所述边缘服务器进行排序,包括:
对每个边缘服务器的计算资源和链路资源进行加权,并按照加权值从大至小的顺序对所述边缘服务器进行排序。
4.根据权利要求1所述的面向人工智能服务的资源分配方法,其特征在于,所述若n=n,则根据每个边缘服务器的计算资源和链路资源,进行资源分配,包括:
若n=n,判断n个边缘服务器的计算资源与链路资源是否满足训练qos;
若n个边缘服务器的计算资源与链路资源满足训练qos,则根据每个边缘服务器的计算资源和链路资源,进行资源分配;若n个边缘服务器的计算资源与链路资源不满足训练qos,则停止资源分配。
5.根据权利要求1所述的面向人工智能服务的资源分配方法,其特征在于,所述放弃该边缘服务器,并返回执行获取边缘服务器的步骤,包括:
放弃该边缘服务器;
判断边缘服务器队列中是否有未取用的边缘服务器,若边缘服务器队列中有未取用的边缘服务器,则返回执行获取边缘服务器的步骤;若边缘服务器队列中没有未取用的边缘服务器,则停止资源分配。
6.根据权利要求1所述的面向人工智能服务的资源分配方法,其特征在于,所述若n<n,则返回执行获取边缘服务器的步骤,包括:
若n<n,判断边缘服务器队列中是否有未取用的边缘服务器,若边缘服务器队列中有未取用的边缘服务器,则返回执行获取边缘服务器的步骤;若边缘服务器队列中没有未取用的边缘服务器,则停止资源分配。
7.一种面向人工智能服务的资源分配装置,其特征在于,包括:
第一获取单元,用于获得待计算的网络模型;
分配单元,用于基于所述网络模型确定参与训练的边缘服务器的个数n;
第二获取单元,用于从边缘服务器队列中获取一个边缘服务器;
分配单元,用于判断所述边缘服务器是否具有足够的计算资源和链路资源,若所述边缘服务器的计算资源和/或链路资源不足,则放弃该边缘服务器,并返回执行获取边缘服务器的步骤;若所述边缘服务器的计算资源和链路资源足够,则判断已获取的边缘服务器的数量n是否等于n,若n<n,则返回执行获取边缘服务器的步骤,若n=n,则根据每个边缘服务器的计算资源和链路资源,进行资源分配。
8.根据权利要求7所述的面向人工智能服务的资源分配装置,其特征在于,所述第二获取单元包括:
获取模块,用于获取边缘服务器队列中的每个边缘服务器的计算资源和链路资源;
排序模块,用于基于所述计算资源和链路资源,对所述边缘服务器进行排序,获得排序后的边缘服务器队列。
9.根据权利要求8所述的面向人工智能服务的资源分配装置,其特征在于,所述排序模块用于:
对每个边缘服务器的计算资源和链路资源进行加权,并按照加权值从大至小的顺序对所述边缘服务器进行排序。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任意一项所述的方法。
技术总结