发布信息

资源高效与服务质量感知的推理服务系统自适应调度方法与流程

作者:admin      2022-10-01 07:15:16     698



计算;推算;计数设备的制造及其应用技术1.本发明涉及深度学习及分布式计算领域,特别是涉及资源高效与服务质量感知的推理服务系统自适应调度方法。背景技术:2.随着深度学习模型推理精度的不断提高,越来越多的应用依赖深度学习推理来作为决策支撑,例如人脸识别、自动驾驶、智能语音助理等。然而,随着深度学习模型推理精度的提高,推理模型变得更加复杂,这就使得仅使用cpu来处理深度学习推理请求的延迟极大地增加。在生产环境中,深度学习推理服务通常是交互式的且具有服务质量的要求,例如要求99%的推理请求在100ms内完成。因此,当前深度学习推理服务系统越来越多的利用gpu加速推理请求的处理,以降低推理延迟,进而保障用户服务质量。3.然而,当前深度学习推理服务系统的gpu资源利用率很低,主要由以下两个原因造成,首先,现有深度学习推理服务系统通常需要用户根据服务质量需求(如推理延迟、推理精度等)自主选择深度学习模型和资源分配策略,然而,由于深度学习模型由模型架构、编程框架、优化编译器等共同定义,使得深度学习模型数量众多,用户很难以人工的方式准确地选择最优模型,同时,由于生产环境中工作负载的动态变化,用户通常采用保守的超容预留(overprovisioning)策略来分配资源,以保障服务质量,进而极大地降低了gpu资源利用率;其次,现代gpu拥有大量内存和计算资源,需要较高的并行机制才能实现峰值吞吐量。然而,现有深度学习推理服务系统通常采用较小的批量大小(batch size)以保障用户服务质量,较小的批量大小(batch size)限制了程序运行的并行度,因此,无法充分利用gpu资源。4.现有技术通常采用用户自主选择深度学模型,并将模型与硬件平台进行绑定,通过动态批量大小(batch size)调整以及自动地虚拟机或者容器实例扩展来提高推理服务系统的资源利用率。然而,一方面,用户以人工方式很难准确地选择最优模型,同时人工的方式降低了系统的易用性;另一方面,虚拟机或者实例的调整方式是粗粒度的,由于批量大小(batch size)的限制,仍不能充分利用gpu资源。为此,现有技术不能使推理服务系统在保障用户服务质量的同时有效地利用gpu资源。技术实现要素:5.针对上述问题,本发明设计了资源高效与服务质量感知的推理服务系统自适应调度方法,应用于基于容器的推理服务系统,可以根据用户的服务质量需求自动地选择深度学习模型;可根据推理工作负载的变化,为深度学习模型的运行动态地分配gpu资源和调整批量大小,从而在保障用户服务质量的前提下,提高推理服务系统的gpu资源利用率,所述自适应调度方法包括:6.构建可剖析推理服务系统中推理工作负载的深度学习模型自动选择模块以及构建可与推理服务系统实时交互的基于深度强化学习的协同管理模块;7.所述深度学习模型自动选择模块利用协同过滤方法预测所述推理工作负载在不同深度学习模型上运行的推理性能,所述推理性能包括推理延迟、推理精度;8.所述深度学习模型自动选择模块利用贪婪算法选择满足用户服务质量需求的最优深度学习模型,并将所述最优深度学习模型部署至容器中为所述推理服务系统中的推理工作负载服务;9.所述协同管理模块利用深度强化学习方法,基于部署至容器中的最优深度学习模型,根据推理工作负载的动态变化,协同地调整gpu资源分配和批量大小设置。10.进一步的,所述构建可剖析推理服务系统中推理工作负载的深度学习模型自动选择模块包括:收集生产环境中的深度学习模型以构建模型知识库v={v1,v2,...,vj,...,vm},其中,vj表示第j个深度学习模型。11.进一步的,所述利用协同过滤方法预测所述推理工作负载在不同深度学习模型上运行的推理性能包括:12.①从所述推理服务系统的历史数据中选择n个用户的所述推理工作负载u={u1,u2,...,ui,...,um},其中,ui表示第i个用户的所述推理工作负载;13.将每个所述推理工作负载ui在所述模型知识库v中所有的所述深度学习模型上进行剖析以构建效用矩阵pn×m,其中,效用矩阵pn×m中的每个元素pij表示推理工作负载ui在模型知识库v中模型vj上的推理性能;对于用户新提交的所述推理工作负载un+1在所述模型知识库v中任选两个深度学习模型进行剖析以获得un+1在任选的两个所述深度学习模型上的推理性能,并插入效用矩阵得到新的效用矩阵p(n+1)×m,上述具体表达式如下:[0014][0015]②利用基于在线矩阵分解的协同过滤方法来预测推理工作负载un+1在模型知识库v中除去①中选择的两个所述深度学习模型之外的其它所述深度学习模型上的推理性能;具体如下:[0016]在线矩阵分解将推理工作负载和深度学习模型映射到一个低维的联合潜在因子空间;再利用联合潜在因子在联合潜在因子空间的内积获得所述新的效用矩阵p(n+1)×m中每个元素pij的值,进而预测推理工作负载un+1在模型知识库v中除去①中选择的两个所述深度学习模型之外的深度学习模型上的推理性能,具体为:[0017]将由所述推理工作负载映射的潜在推理工作负载因子和由所述深度学习模型映射的潜在深度学习模型因子表示为和其中,d远小于n+1和m;[0018]通过推导和拟合所述新的效用矩阵p(n+1)×m,即进而可以准确地预测推理工作负载un+1在模型知识库v中除去①中选择的两个所述深度学习模型之外的深度学习模型上的推理性能;其中,推导和过程如下:[0019]基于观测到的所述推理工作负载ui在深度学习模型vj上的推理性能pij,构造损失函数如下,[0020][0021]其中,和是正则化系数,和是ui和vj的特征向量,||·||2是欧几里德范数,gij表示g(·)为逻辑函数可将值映射到[0,1],[0022]再利用随机梯度下降方法最小化损失函数推导和具体如下:[0023][0024][0025]其中g′ij表示g′(·)为g(·)的导数;[0026]最后通过计算和内积可以预测推理工作负载un+1在模型知识库v中其它深度学习模型上的推理性能,表达式如下:[0027][0028]③基于上述②的方法,分别预测所述推理工作负载un+1在所述模型知识库v中除去①中选择的两个所述深度学习模型之外的其它所述深度学习模型上的推理延迟和推理精度并获得推理工作负载un+1在模型知识库v中所有深度学习模型上的推理延迟集合和推理精度集合[0029]④基于上述③中获得的所述推理延迟集合和所述推理精度集合计算所述推理工作负载un+1在每个所述深度学习模型上的所述推理延迟和所述推理精度与用户服务质量中的推理延迟需求和推理精度需求的的差和得到集合sl={l(n+1)j}和sa={a(n+1)j}后删除sl和sa中小于0的元素以得到集合s′l={l(n+1)j′}和s′a={a(n+1)j″}。[0030]进一步的,所述利用贪婪算法选择满足用户服务质量需求的最优深度学习模型包括:[0031](i)对所述集合s′a={a(n+1)j″}中的元素进行升序排列,同时对所述集合s′l={ln+1)j′}中的元素进行升序排序;[0032](ii)从s′a={a(n+1)j″}中取出第一个元素对应的所述深度学习模型v′1,然后到集合s′l={l(n+1)j′}中查找是否存在所述深度学习模型v′1;[0033]如果存在,则所述深度学习模型v′1为最优模型;[0034]如果不能存在,则从s′a={a(n+1)j″}中取出第二个元素v′2,重复到集合s′l={l(n+1)j′}中查找的动作,直到查找到同时存在于s′a={a(n+1)j″}和s′l={l(n+1)j′}中的第一个所述深度学习模型为止,其中,所述第一个深度学习模型即为满足用户服务质量的最优模型voptimal。[0035]进一步的,所述构建可与推理服务系统实时交互的基于深度强化学习的协同管理模块,包括:[0036]假设推理服务系统中有k个容器正在为k个用户推理工作负载提供推理服务,协同管理模块接收推理服务系统的反馈状态,根据所述反馈状态,协同管理模块最大化k个容器的gpu资源利用率,且满足k个用户推理工作负载的推理延迟需求,具体为:[0037][0038][0039][0040]其中,表示第i个推理工作负载实际使用的gpu资源,表示分配给承载第i个推理工作负载的容器的gpu资源,表示第i个推理工作负载在gpu资源分配和批量大小bzi下的推理延迟,d表示系统中的gpu资源总量,表示第i个推理工作负载的推理延迟需求。[0041]进一步的,所述协同管理模块利用深度强化学习方法,基于部署至容器中的最优深度学习模型,根据推理工作负载的动态变化,协同地调整gpu资源分配和批量大小设置,包括:[0042]1)针对每个承载所述推理工作负载的容器构建智能体bi,智能体bi负责承载推理工作负载i容器的gpu资源分配和相应的批量大小设置,针对每个智能体bi按照马尔可夫决策过程模型表述,如下:[0043]状态空间;s表示状态空间,设s={s1,s2,...,sk}表示智能体b1,b2,…,bk在时刻t的状态,在所述马尔可夫决策过程模型中,si表示智能体bi在t时刻的推理请求到达率,si∈s;[0044]动作空间;c表示动作空间,c={c1,c2,...,ck},其中ci={ri,bzi}表示智能体bi的动作空间,ri表示bi的可选的gpu分配空间,bzi表示bi的可选的批量大小的配置空间,使用c={c1,c2,...,ck}表示智能体b1,b2,…,bk在时刻t采取的联合动作,ci∈ci;[0045]奖励函数;智能体bi的奖励函数为:[0046][0047]其中,当小于或者等于1时,如满足所述推理工作负载i的推理延迟需求则给予智能体bi正奖励;否则,给予智能体bi负奖励,σ为用于控制所述负奖励的界限的预先指定的阈值;[0048]2)基于步骤1),定义所述智能体bi在时刻t,状态为si时,单个动作分支的状态-动作价值函数为:[0049][0050]其中,表示智能体bi的动作空间的第d维动作空间,表示智能体bi的在第d维动作空间中可选择的动作数量,表示智能体bi的在时刻t,状态为si时,在第d维动作空间中选择的动作;所述动作空间ci对应gpu资源分配和批量大小设置两个维度,即d=1时,第d维动作空间对应gpu资源分配可选的配置空间,d=2时,第d维动作空间对应批量大小设置可选的配置空间;[0051]通过定义损失函数来求解上述状态空间-动作空间价值函数,具体如下:[0052][0053]其中,bf表示经验回放的缓存,h为每个智能体子动作空间的个数,因为每个智能体bi仅包含gpu资源分配和批量大小设置的两个子动作空间,所以h=2,[0054][0055]再利用梯度下降来最小化上述损失函数,以获得近似最优的参数θ,具体如下:[0056][0057]得到近似最优的θ后,使用ε-greedy策略来选择动作,具体为:以ε的概率随机选择一个动作,以1-ε的概率,按下式来选择动作:[0058][0059]根据上式得到在t时刻,各个智能体的联合动作:[0060][0061]有益效果:本发明公开的资源高效与服务质量感知的推理服务系统自适应调度方法可根据用户的服务质量需求自动地选择深度学习模型;可根据工作负载的变化,为深度学习模型的运行动态地分配gpu资源和调整批量大小,从而在保障用户服务质量的前提下,提高推理服务系统的gpu资源利用率。[0062]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。附图说明[0063]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0064]图1示出了本发明资源高效与服务质量感知的推理服务系统自适应调度方法的示意图。具体实施方式[0065]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0066]本发明提供一种资源高效与服务质量感知的推理服务系统自适应调度方法,应用于基于容器的推理服务系统;[0067]参照图1,自适应调度方法方法包括:[0068]构建可剖析推理服务系统中推理工作负载的深度学习模型自动选择模块以及构建可与推理服务系统实时交互的基于深度强化学习的协同管理模块;[0069]深度学习模型自动选择模块利用协同过滤方法预测推理工作负载在不同深度学习模型上运行的推理性能,推理性能包括推理延迟、推理精度;[0070]深度学习模型自动选择模块利用贪婪算法选择满足用户服务质量需求的最优深度学习模型,并将最优深度学习模型部署至容器中为推理服务系统中的推理工作负载服务;[0071]协同管理模块利用深度强化学习方法,基于部署至容器中的最优深度学习模型,根据推理工作负载的动态变化,协同地调整gpu资源分配和批量大小设置。[0072]在本发明的实施例中,构建可剖析推理服务系统中推理工作负载的深度学习模型自动选择模块;深度学习模型自动选择模块利用协同过滤方法预测推理工作负载在不同深度学习模型上运行的推理性能;深度学习模型自动选择模块利用贪婪算法选择满足用户服务质量需求的最优深度学习模型;具体如下:[0073]1)模型知识库构建[0074]推理服务系统中的深度学习模型由模型架构、编程框架、优化编译器等共同定义;模型架构包括resnet50、vgg16等,编程框架包括tensorflow、pytorch等,优化编译器包括tensorrt、tvm等,例如针对图像识别推理任务的resnet50-tensorflow-tensorrt-gpu和vggl6-tensorflow-tvm-gpu是两个不同的推理模型,在推理延迟、推理精度等方面不尽相同;因此,通过收集生产环境中的深度学习模型,可以基于深度学习模型静态的基础结构特征构建模型知识库v={v1,v2,...,vj,...,vm},其中vj表示第j个深度学习模型;[0075]2)基于协同过滤的推理性能预测方法设计[0076]利用基于在线矩阵分解的协同过滤方法来进行新的推理工作负载在模型知识库中的深度学习模型上执行的推理性能,具体如下:[0077]①从推理服务系统的历史数据中选择n个用户的推理工作负载u={u1,u2,...,ui,...,um},其中ui表示第i个用户的推理工作负载,然后将每个推理工作负载ui在模型知识库中所有模型上进行剖析并进而构建效用矩阵pn×m,其中pn×m中的每个元素pij表示推理工作负载ui在模型知识库中模型vj上的推理性能;对于用户新提交的推理工作负载un+1在模型知识库v中任选两个深度学习模型进行短暂地剖析,获得un+1在这两种模型上的推理性能,并插入效用矩阵得到新的效用矩阵p(n+1)×m,上述具体如下:[0078][0079]②利用基于在线矩阵分解的协同过滤方法来预测推理工作负载un+1在模型知识库v中其它深度学习模型上的推理性能;[0080]在线矩阵分解可以将推理工作负载和深度学习模型映射到一个低维的联合潜在因子空间,然后,利用潜在因子在该空间的内积可以获得效用矩阵中每个元素pij的值,即推理工作负载在深度学习模型上的推理性能,进而可以预测推理工作负载un+1在模型知识库v中其它深度学习模型上的推理性能,具体为:[0081]将由推理工作负载映射的潜在推理工作负载因子和由深度学习模型映射的潜在深度学习模型因子表示为和其中d远小于n+1和m,通过推导和来拟合新的效用矩阵p(n+1)×m,即进而可以准确地预测推理工作负载un+1在模型知识库v中其它深度学习模型上的推理性能。为了推导和首先,基于观测到的推理工作负载ui在深度学习模型vj上的推理性能pij,构造损失函数如下,[0082][0083]其中和是正则化系数,和是ui和vj的特征向量,||·||2是欧几里德范数,gij表示g(·)为逻辑函数可将值映射到[0,1],其次,利用随机梯度下降方法最小化损失函数来推导和具体如下,[0084][0085][0086]其中g′ij表示g′(·)为g(·)的导数;最后,通过计算相应的内积可以预测推理工作负载un+1在模型知识库v中其它深度学习模型上的推理性能:[0087]③基于上述②的方法,可以分别预测推理工作负载un+1在模型知识库v中其它深度学习模型上的推理延迟和推理精度进而获得推理工作负载un+1在模型知识库v中所有深度学习模型上的推理延迟集合和推理精度集合[0088]④基于上述③中获得的推理延迟集合和推理精度集合我们计算推理工作负载un+1在每个深度学习模型上的推理延迟和推理精度与用户服务质量中的推理延迟需求和推理精度需求的的差和得到集合sl={l(n+1)j}和sa={a(n+1)j},然后,删除集合中的小于0的元素,得到集合s′l={l(n+1)j′}和s′a={a(n+1)j′},随后,采用贪婪算法来选择满足用户服务质量需求的最优模型,如下:[0089](i)对集合s′a={a(n+1)j″}中的元素进行升序排序,同时也对集合s′l={l(n+1)j′}中的元素进行升序排序;[0090](ii)从s′a={a(n+1j″}中取出第一个元素对应的模型v′1,然后到集合s′l={l(n+1)j′}中查找是否存在该模型,如果存在,则该模型为最优模型,如果不能存在,从s′a={a(n+1)j′}中取出第二个元素v′2,重复上述过程,直到查找到同时存在于s′a={a(n+1)j′}和s′l={l(n+1)j′}的第一个模型为止,该模型即为满足用户服务质量的最优模型voptimal。[0091]在本发明的实施例中,构建可与推理服务系统实时交互的基于深度强化学习的协同管理模块;协同管理模块利用深度强化学习方法,基于部署至容器中的最优深度学习模型,根据推理工作负载的动态变化,协同地调整gpu资源分配和批量大小设置,具体如下:[0092]根据用户服务质量需求确定最优深度学习模型以后,将确定的深度学习模型部署到容器中,并为用户的推理工作负载提供服务;然而,用户的推理工作负载是随着时间的推移是动态变化的,因此,推理服务系统需要实时的获取推理工作负载的运行时信息,并将运行时信息作为反馈状态值发送至协同管理模块,再通过协同管理模块动态地调整分配给承载深度学习模型的容器的gpu资源和处理推理请求的批量大小,以在满足用户服务质量需求的同时,尽可能的提高gpu资源利用率;由于深度学习模型确定以后,其推理精度是确定的,因此,我们在进行gpu资源和批量大小协同调整时,只需考虑推理延迟;[0093]考虑推理服务系统中有k个容器正在为k个用户推理工作负载提供推理服务,需要实现的目标就是最大化k个容器的gpu资源利用率,同时满足k个用户推理工作负载的推理延迟需求,具体如下,[0094][0095][0096][0097]其中表示第i个推理工作负载实际使用的gpu资源,表示分配给承载第i个推理工作负载的容器的gpu资源,表示第i个推理工作负载在gpu资源分配和批量大小bzi下的推理延迟,d表示系统中的gpu资源总量,表示第i个推理工作负载的推理延迟需求;[0098]对上述问题通过深度强化学习进行求解:[0099]1)首先针对每个承载推理工作负载i的容器构建智能体bi,智能体bi负责承载推理工作负载i的容器的gpu资源分配和相应的批量大小设置,针对每个智能体bi,按照马尔可夫决策过程建模可以表述如下:[0100]状态空间;s表示状态空间,设s={s1,s2,...,sk}表示智能体b1,b2,…,bk在时刻t的状态,在该模型中,si表示智能体bi在t时刻的推理请求到达率,si∈s;[0101]动作空间;c表示动作空间,c={c1,c2,...,ck},其中ci={ri,bzi}表示智能体bi的动作空间,ri表示bi的可选的gpu分配空间,bzi表示bi的可选的批量大小的配置空间,使用c={c1,c2,...,ck}表示智能体b1,b2,…,bk在时刻t采取的联合动作,ci∈ci;[0102]奖励函数;所实现目标是在满足用户推理延迟需求的前提下,尽可能的最大化gpu资源的利用率,因此,智能体bi的奖励函数为:[0103][0104]其中当小于或者等于1时,满足了工作负载i的推理延迟需求此时给予智能体bi正奖励;否则,给予智能体bi负奖励,σ为预先指定的阈值,用于控制负奖励的界限;[0105]2)基于步骤1),定义智能体bi在时刻t,状态为si时,单个动作分支的状态-动作价值函数为:[0106][0107]其中表示智能体bi的动作空间的第d维动作空间,表示智能体bi的在第d维动作空间中可选择的动作数量,表示智能体bi的在时刻t,状态为si时,在第d维动作空间中选择的动作,在我们的场景中ci共有gpu资源分配和批量大小设置两个维度,即d=1或者2,第一个维度对应gpu资源分配可选的配置空间,第二维度为批量大小设置可选的配置空间;[0108]为了求解上述状态-动作价值函数,定义损失函数如下,[0109][0110]其中bf表示经验回放的缓存,h为每个智能体子动作空间的个数,因为在我们的场景中每个智能体仅包含gpu分配和批量大小设置两个子动作空间,所以h=2,[0111][0112]然后,利用梯度下降来最小化上述损失函数,来获得近似最优的参数θ,具体如下,[0113][0114]得到近似最优的θ后,使用ε-greedy策略来选择动作,具体为,以ε的概率随机选择一个动作,以1-ε的概率,按下式来选择动作,[0115][0116]实际计算过程中,在时刻t时:以概率ε,每个智能体随机选择动作c;最终得到在t时刻,各个智能体的联合动作即能够得出协同管理模块对gpu资源分配和批量大小的调整动作。[0117]综上所述,本发明公开了一种资源高效与服务质量感知的推理服务系统自适应调度方法,用户只需提供服务质量需求,推理服务系统即可根据用户服务质量需求自动地为其选择最优深度学习模型,提高推理服务系统地易用性;[0118]在用户推理工作负载运行期间,推理服务系统可自适应地协同调整gpu资源的分配量和批量大小,在满足用户服务质量的前提下,尽可能地提高gpu资源利用率。[0119]最后,还需要说明的是,在本文中,诸如一个和另一个等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。[0120]尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部