当前位置: 首页 > 专利查询>武汉大学专利>正文

一种面向分布式机器学习任务的动态定价和部署方法技术

技术编号:26693956 阅读:32 留言:0更新日期:2020-12-12 02:50
本发明专利技术公开了一种面向分布式机器学习任务的动态定价和部署方法,该方法能够在用户预算未知的情况下,对在线到达的机器学习任务请求资源进行动态地定价,同时为接受收费的用户部署任务,以达到收益最大化目的。云容器资源提供商根据本发明专利技术可以随着时间的推移实时在线地对资源进行动态定价,以谋得最大化收益。本发明专利技术结合了线性规划建模,经典的多臂老虎机框架(multi‑armed bandit,MAB)和贪心算法等,从理论上证明了其有效性。本发明专利技术能够在不需要知道用户预算和机器学习任务训练时长的情况下,趋向最优地进行动态定价并为任务进行部署,达到让资源尽可能地服务于更多请求的同时产生最大的收益。

【技术实现步骤摘要】
一种面向分布式机器学习任务的动态定价和部署方法技术邻域本专利技术属于云计算领域,具体涉及一种面向分布式机器学习任务的动态定价和部署方法。
技术介绍
当下,云服务提供商通常采用随用随付(pay-as-you-go)的定价策略,即根据用户的购买的虚拟机类型和任务运行时间并以固定单价进行收费。亚马逊EC2、谷歌云和微软Azure采用按需实例定价策略,用户根据运行的实例以按小时或按秒的方式,估计任务运行时间并预先为计算容量付费。另外一种经常采用的定价方式是预留实例,用户预先购买1-3年的计算容量。与按需实例的定价策略相比,预留实例可提供大幅折扣。但已有的定价策略不适合机器学习任务,原因如下:首先,不同的用户有不同的预算和资源需求。固定定价不能针对性地吸引不同的用户,并且不能反映市场上的供需变化。因此,索价过高和过低的情况都可能发生,从而损害云运营商和用户的利益。其次,现有的定价策略要求用户自己配置任务并提前预估任务运行时间。如果低估了任务的运行时间,用户将会被要求再次付费。但是,任务的运行时间是不能提前确定的,这通常受其计算节点的配置和部署位置的影响。与现有的云服务定价相比,动态定价的关键在于云运营商怎样在不知道用户预算的情况下,对资源进行动态地定价并在服务器上配置和部署机器学习任务,来使得运营收益最大化同时在最短的时间内完成训练任务。从一个云运营商的角度出发,假设他拥有多个分布在不同区域的云服务器,每个服务器上有多种类型计算节点和参数服务器节点。用户到达并向云运营商提供想要训练的机器学习任务的信息,以及指定所需要的计算节点和参数服务器结点的类型和数量。但是用户不需要提交任务的运行时间和预算。即使是在知道用户预算以及任务运行时间的前提下,对在线到的的任务进行动态定价和部署已经是一个NP-hard问题。如果考虑一个更实际的情况,每个用户任务请求在线到达并且任务运行时间和用户预算都是未知的(现实中这些信息往往都是未知的),要求云服务商立刻对其进行定价以追求最大收益,问题将会变的更难。
技术实现思路
为了解决上述问题,本专利技术提供了一种高效面向分布式机器学习任务的动态定价和部署方法。用户到达并向云服务商提供想要训练的机器学习任务的信息,以及指定所需要的计算节点和参数服务器节点的类型和数量。云服务商通过算法来动态地为其定价,并将价格告知给用户。如果用户接受改价格,则云服务商将进行收费并根据算法为其部署任务。本专利技术所采用的技术方案是:一种面向分布式机器学习任务的动态定价和部署方法,包括:一个云服务提供商提供给用户K种类型的计算节点和M种类型的参数服务器节点,这些节点位于S个不同位置的服务器上。其中,第k类的计算节点资源量为Ck,第m类的参数服务器节点资源量为Cm。有N个用户带着其机器学习任务在总长为T的时间段到来,记用户i的到达时间为ti。用户i提交其任务的信息给云服务商:请求的计算节点类型ki和参数服务器节点类型mi;ki类计算节点的需求量dik和mi类参数服务器节点的需求量dim;机器学习任务的梯度大小wi;任务训练的轮次αi。记用户i提交的上述信息为Bi={ki,dik,mi,dim,wi,αi}。除此之外,每个用户在内心有自己的预算(记为vi)。每个用户到达时,提交任务信息给云服务商,云服务商在不知道用户预算的情况下,对用户请求的资源进行动态定价(将ki类计算节点的单价定为pik,将mi类服务器计算节点单价定为pim)并告知用户。如果用户同意该定价(即总费用在其预算内),云服务商则进一步为其部署任务,即决定将该任务部署在哪些服务器上以及各个服务器上运行多少个计算节点和参数服务器节点。云服务提供商通过对资源动态定价和部署任务,来使得总收益最大。一种面向分布式机器学习任务的动态定价和部署方法,包括以下步骤:步骤1,用整数规划对上述问题进行建模;步骤2,根据上述整数规划问题,建立利润和资源单价之间的关系;步骤3,对于每种资源,将其价格区间[0,1]离散化,得到价格候选集合,并为价格候选集合中的每个价格设计一个奖励值;步骤4,每当有用户请求到达时,用户向云服务商提交其机器学习任务相关的信息Bi,云服务商判断当前资源是否足够为该用户服务;如果资源足够,判断当前处于探索阶段还是处于开发阶段,进入步骤5;如果资源不足,则拒绝用户请求;步骤5,基于步骤4所分析的当前状态,如果处于探索阶段,不向用户收取费用,这种情况下,费用一定在用户的预算范围,用户会接受零费用,云服务商将为其部署任务;如果处于开发阶段,则从资源对应的价格候选集中选择奖励值最高的作为当前用户所请求的资源的单价,并告知用户单价,等待用户的回应,如果用户接受定价,进入步骤6;如果用户不接受定价,则回到步骤4,处理下一个用户的请求;步骤6,对于接受定价的用户,为其部署机器学习任务,同时更新当前可用资源状况;步骤7,一旦有机器学习任务完成,释放该任务所占用的资源,更新对应的服务器上的可用资源量,更新步骤3中对应的价格候选集合中奖励值相关参数,用于下一次的奖励值计算。进一步的,步骤1中建模如下,建模的目的在于,在满足资源约束的条件下,对用户请求的资源进行定价并为接受价格的用户设计任务部署方案,以最大化云服务商的收益;在(1a)中,II(x)为指示函数,即当x为真时值为1,当x为假时值取0,因此fi定义为当用户i到达时,当前可用资源是否足够为其服务;约束条件(1b)中定义了表明了在用户i到达时,他所请求的第mi类参数服务器节点已被之前到来的任务所占用的数量,其中τj为用户j的任务的运行时间;同样地,约束条件(1c)中的定义了第ki类计算节点已被占用的数量;约束条件(1d)和(1e)保障了部署在各个服务器上的计算节点和参数服务器节点的资源量等于用户请求的资源量,其中未知变量xski表示服务器s上分配给用户i的第ki类型计算节点个数,zsmi表示服务器s上分配给用户i的第mi类型参数服务器节点个数;约束条件(1f)和(1g)则保证了,每个服务器上分配给用户的计算节点和参数服务器节点数量不超过该服务器当前资源可用量,其中已知变量xski为用户i到达时服务器s上的第ki类型计算节点的可用量,则表示用户i到达时服务器s上的第mi类型参数服务器节点的可用个数;约束条件(1h)保障了分配给用户的计算节点和参数服务器节点个数均为整数;(1i)则保障了给资源定的单价大于等于零。进一步的,步骤2中建立利润和资源单价之间的关系如下,对每种资源组合(k,m),用户的资源需求量和预算独立同分布,简记为(dik,dim,vi)~Fk,m,其中Fk,m为未知的分布,将固定价格下的云服务商的收益记为其中在这种固定价格的策略下,收益和资源单价之间的关系可用以下公式表示:其中,和分别表示用户i的实际购买计算节点和参数服务器节点的数量,即当vi≥pkdik+pmdim时否则值为零;Qk(pk)表示第本文档来自技高网
...

【技术保护点】
1.一种面向分布式机器学习任务的动态定价和部署方法,其特征在于,包括:/n一个云服务提供商提供给用户K种类型的计算节点和M种类型的参数服务器节点,这些节点位于S个不同位置的服务器上,其中,第k类的计算节点资源量为C

【技术特征摘要】
1.一种面向分布式机器学习任务的动态定价和部署方法,其特征在于,包括:
一个云服务提供商提供给用户K种类型的计算节点和M种类型的参数服务器节点,这些节点位于S个不同位置的服务器上,其中,第k类的计算节点资源量为Ck,第m类的参数服务器节点资源量为Cm;有N个用户带着其机器学习任务在总长为T的时间段到来,记用户i的到达时间为ti,用户i提交其任务的信息给云服务商;请求的计算节点类型ki和参数服务器节点类型mi;ki类计算节点的需求量dik和mi类参数服务器节点的需求量dim;机器学习任务的梯度大小wi;任务训练的轮次αi,记用户i提交的上述信息为Bi={ki,dik,mi,dim,wi,αi},除此之外,每个用户在内心有自己的预算,记为vi;
每个用户到达时,提交任务信息给云服务商,云服务商在不知道用户预算的情况下,对用户请求的资源进行动态定价,即将ki类计算节点的单价定为pik,将mi类服务器计算节点单价定为pim,并告知用户;如果用户同意该定价,即总费用在其预算内,云服务商则进一步为其部署任务,即决定将该任务部署在哪些服务器上以及各个服务器上运行多少个计算节点和参数服务器节点;具体包括如下步骤:
步骤1,用整数规划对上述问题进行建模;
步骤2,根据上述整数规划问题,建立利润和资源单价之间的关系;
步骤3,对于每种资源,将其价格区间[0,1]离散化,得到价格候选集合,并为价格候选集合中的每个价格设计一个奖励值;
步骤4,每当有用户请求到达时,用户向云服务商提交其机器学习任务相关的信息Bi,云服务商判断当前资源是否足够为该用户服务;如果资源足够,判断当前处于探索阶段还是处于开发阶段,进入步骤5;如果资源不足,则拒绝用户请求;
步骤5,基于步骤4所分析的当前状态,如果处于探索阶段,不向用户收取费用,这种情况下,费用一定在用户的预算范围,用户会接受零费用,云服务商将为其部署任务;如果处于开发阶段,则从资源对应的价格候选集中选择奖励值最高的作为当前用户所请求的资源的单价,并告知用户单价,等待用户的回应,如果用户接受定价,进入步骤6;如果用户不接受定价,则回到步骤4,处理下一个用户的请求;
步骤6,对于接受定价的用户,为其部署机器学习任务,同时更新当前可用资源状况;
步骤7,一旦有机器学习任务完成,释放该任务所占用的资源,更新对应的服务器上的可用资源量,更新步骤3中对应的价格候选集合中奖励值相关参数,用于下一次的奖励值计算。


2.如权利要求1所述的一种面向分布式机器学习任务的动态定价和部署方法,其特征在于:步骤1中建模如下,



subjectto:



























建模的目的在于,在满足资源约束的条件下,对用户请求的资源进行定价并为接受价格的用户设计任务部署方案,以最大化云服务商的收益;在(1a)中,为指示函数,即当x为真时值为1,当x为假时值取0,因此fi定义为当用户i到达时,当前可用资源是否足够为其服务;约束条件(1b)中定义了表明了在用户i到达时,他所请求的第mi类参数服务器节点已被之前到来的任务所占用的数量,其中τj为用户j的任务的运行时间;同样地,约束条件(1c)中的定义了第ki类计算节点已被占用的数量;约束条件(1d)和(1e)保障了部署在各个服务器上的计算节点和参数服务器节点的资源量等于用户请求的资源量,其中未知变量xski表示服务器s上分配给用户i的第ki类型计算节点个数,zsmi表示服务器s上分配给用户i的第mi类型参数服务器节点个数;约束条件(1f)和(1g)则保证了,每个服务器上分配给用户的计算节点和参数服务器节点数量不超过该服务器当前资源可用量,其中已知变量为用户i到达时服务器s上的第ki类型计算节点的可用量,则表示用户i到达时服务器s上的第mi类型参数服务器节点的可用个数;约束条件(1h)保障了分配给用户的计算节点和参数服务器节点个数均为整数;(1i)则保障了给资源定的单价大于等于零。

【专利技术属性】
技术研发人员:周睿婷张雪颖
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1