CN115454585A - 一种面向边缘设备深度学习模型推理的自适应批处理和并行调度*** - Google Patents
一种面向边缘设备深度学习模型推理的自适应批处理和并行调度*** Download PDFInfo
- Publication number
- CN115454585A CN115454585A CN202210662359.XA CN202210662359A CN115454585A CN 115454585 A CN115454585 A CN 115454585A CN 202210662359 A CN202210662359 A CN 202210662359A CN 115454585 A CN115454585 A CN 115454585A
- Authority
- CN
- China
- Prior art keywords
- scheduling
- model
- inference
- batch processing
- parallel
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 75
- 238000013136 deep learning model Methods 0.000 title claims abstract description 13
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims abstract description 32
- 230000002787 reinforcement Effects 0.000 claims abstract description 13
- 230000006872 improvement Effects 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 24
- 239000003795 chemical substances by application Substances 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 12
- 238000005265 energy consumption Methods 0.000 claims description 9
- 230000007704 transition Effects 0.000 claims description 8
- 238000012549 training Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 4
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 239000006185 dispersion Substances 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了一种面向边缘设备深度学***均调度开销只有其他算法的49%。
Description
技术领域
本发明属于边缘计算技术领域,具体地,涉及一种面向边缘设备深度学习模型推理的自适应批处理和并行调度***。
背景技术
边缘计算使算力从云端下沉到边缘设备,并在边缘端实时推理深度学习工作负载成为可能。由于硬件加速器的并行特性,将批处理和并行操作应用到深度学习推理作业中能有效提升吞吐量并降低延迟。然而由于功耗和成本的制约,边缘设备无法提供丰富的计算和内存资源,这就导致当多租户共享资源时,***吞吐量和推理延迟会受到极大影响,从而无法保证应用程序的实时性。
发明内容
本发明为了改进新闻文本关键词提取的精度,进一步提高舆情分析***在针对新闻文本分析时内容检索的准确性,更为全面地覆盖新闻文本的主要信息,节省人工复核的时间,提出了一种面向边缘设备深度学习模型推理的自适应批处理和并行调度***。
本发明通过以下技术方案实现:
一种面向边缘设备深度学习模型推理的自适应批处理和并行调度***:
所述***包括决策模块、动态批处理调度模块、模型并行模块、性能分析器四部分;
所述决策模块通过马尔科夫决策过程,对到达的推理请求进行批处理和并行调度过程建模,再通过调度决策算法进行批处理和并行推理的调度决策,并针对不同模型自动选择合适的批处理大小和模型并行数量;
所述动态批处理调度模块将推理请求根据请求到达的先后顺序依次添加到请求序列中,并调度到该模型的多个实例上的批处理槽si进行批处理推理;
所述模型并行模块允许不同模型/同一模型的多个实例并行执行,同时处理模型的多个推理请求;
所述性能分析器以在线方式实时收集边缘设备的***状态,包括当前时刻CPU、GPU、内存和能耗的利用率,***吞吐量和推理延迟。
一种面向边缘设备深度学习模型推理的自适应批处理和并行调度***的控制方法:
所述控制方法具体包括以下步骤:
步骤1、终端设备将推理请求发送至推理***的决策模块;
步骤2、决策模块通过马尔科夫决策过程,对到达的推理请求进行批处理和并行的调度过程建模,再通过调度决策算法进行批处理和并行推理的调度决策,并针对不同模型自动选择合适的批处理大小和模型并行数量;
步骤3、动态批处理调度模块将推理请求根据请求到达的先后顺序依次添加到请求序列中,并调度到该模型的多个实例上的批处理槽si进行批处理推理;
步骤4、模型并行模块将不同模型/同一模型的多个实例并行执行,同时处理模型的多个推理请求;
步骤5、性能分析器以在线方式实时收集边缘设备的***状态,包括当前时刻CPU、GPU、内存和能耗的利用率,***吞吐量和推理延迟,并反馈给调度决策模块,在分析当前***可用资源的基础上,为下一时刻的推理请求做出调度决策。
进一步地,
所述***状态信息包括以下几部分:
(I)当前推理请求的模型类型mt;
(II)当前请求的数据类型dt和数据大小ds;
(III)当前请求的绝对截止时间ddla和相对截止时间ddlr;
(IV)边缘设备当前可用的CPU、GPU、memory和能耗利用率,分别记为Cu,Gu,Mu和Eu;
(V)等待调度的请求序列信息seqb;
在最大化智能体获得的累积期望奖励的同时最大化所访问过的状态的熵,最优策略π*如公式(2)所示:
为了能使奖励反映目标函数,rt被定义为公式(3)的形式:
进一步地,
所述调度决策算法BP-SACD基于Actor-Critic框架;其中,Critic使用动作-状态价值函数Q-function用于评判Actor根据策略所做出动作的好坏,即使用软策略迭代使奖励最大化的同时使熵最大化;
软策略迭代包括策略评估和策略改进两步,并在训练过程中交替进行;
所述策略评估步骤为:
首先计算soft q-function并将其定义为:
其中
V(st):=π(st)T[Q(st)-αlog(π(st))] (5)
是离散情况下的软状态值函数;
利用公式(6)中的最小化软贝尔曼残差来训练soft q-function;
进一步地,
所述策略改进对策略进行更新,具体公式如下:
利用公式(8)中的最小化KL散度来更新策略网络的参数:
温度参数:利用公式(9)可自动调节温度参数:
进一步地,
所述动态批处理调度模块面对相同模型的多个请求序列时,根据请求序列到达的先后顺序将其依次添加到批处理槽si中;
动态批处理器为不同的模型单独维护一个请求序列,其中包含属于该模型的所有推理请求,根据决策模块会被聚合成不同批处理大小的请求序列。
进一步地,
在所述模型并行模块中,
若当前GPU处于空闲状态,当多个请求同时到达时,所述模型并行模块立即将多个请求调度到GPU上,并且GPU的硬件调度程序开始并行处理这些请求;
如果有同一模型的多个请求同时到达,将通过在GPU上,一次只调度一个请求来执行模型推理。
进一步地,
所述性能分析器记录每次在边缘设备上执行的一系列推理模型,在不同大小的输入数据下的***状态信息,
所述***状态信息将及时反馈给调度决策模块,在分析当前***可用资源的基础上,为下一时刻的推理请求做出调度决策,选择合适的批处理大小和模型并行数量以最大化效用函数,同时避免***过载并提高资源利用率。
一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时实现上述任一项所述方法的步骤。
本发明有益效果
与传统的启发式和其他强化学***均调度开销只有其他算法的49%。
附图说明
图1为本发明的批处理和并行推理***BPEdge框架图;
图2为本发明的动态批处理调度模块;
图3为本发明的模型并行模块;
图4为不同算法在YOLO-v5和MobileNet-v3推理模型下的效用值,其中(a)为YOLO-v5的效用值,(b)为MobileNet-v3的效用值;
图5为不同算法选择的批处理大小,其中(a)为YOLO-v5的批处理大小,(b)为MobileNet-v3的批处理大小;
图6为不同算法选择的模型并行数量,其中(a)为YOLO-v5的模型并行数量,(b)为MobileNet-v3的模型并行数量;
图7为不同算法的平均***吞吐量,其中(a)为YOLO-v5的平均***吞吐量,(b)为MobileNet-v3的平均***吞吐量;
图8为不同算法的平均推理延迟,其中(a)为YOLO-v5的平均推理延迟,(b)为MobileNet-v3的平均推理延迟;
图9为不同算法的平均调度开销。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
结合图1至图9。
本发明首先提出了一个效用函数来评估***吞吐量和推理延迟之间的权衡程度。具体公式如下:
其中,表示在调度时间槽si内执行批处理大小为b、模型并行数量为mc时的***吞吐量,表示模型的实际批处理和并行推理延迟,表示一个批处理内推理请求的绝对截止时间之和与当前模型并行数量的比值。特别的,保证了请求不会调度失败的情况,以做到实时推理。
表1是各种符号定义和描述。
表1主要符号表
一种面向边缘设备深度学习模型推理的自适应批处理和并行调度***:
所述***包括决策模块、动态批处理调度模块、模型并行模块以及性能分析器;
所述决策模块为***的最核心组件,
通过马尔科夫决策过程(MDP),对到达的推理请求进行批处理和并行调度的过程建模,再通过调度决策算法(BP-SACD),进行批处理和并行推理的调度决策,并针对不同模型自动选择合适的批处理大小和模型并行数量,在保证较低推理延迟的同时提高***吞吐量;
所述动态批处理调度模块将一批相同模型的推理请求根据请求到达的先后顺序依次添加到请求序列中,并调度到该模型的多个实例上的批处理槽si进行批处理推理;
所述模型并行模块允许不同模型/同一模型的多个实例并行执行,同时处理模型的多个推理请求;
所述性能分析器以在线方式实时收集边缘设备的***状态,包括当前时刻CPU、GPU、内存和能耗的利用率,***吞吐量和推理延迟。
一种面向边缘设备深度学习模型推理的自适应批处理和并行调度***的控制方法:
所述控制方法具体包括以下步骤:
步骤1、终端设备将推理请求发送至调度决策模块;
步骤2、调度决策模块通过马尔科夫决策过程,对到达的推理请求进行批处理和并行调度过程建模,再通过调度决策算法进行批处理和并行推理的调度决策,并针对不同模型自动选择合适的批处理大小和模型并行数量;
步骤3、动态批处理调度模块将一批相同模型的推理请求根据请求到达的先后顺序依次添加到请求序列中,并调度到该模型的多个实例上的批处理槽si进行批处理推理;
步骤4、模型并行模块将不同模型/同一模型的多个实例并行执行,同时处理模型的多个推理请求;
步骤5、性能分析器以在线方式实时收集边缘设备的***状态,包括当前时刻CPU、GPU、内存和能耗的利用率,***吞吐量和推理延迟,并反馈给调度决策模块,在分析当前***可用资源的基础上,为下一时刻的推理请求做出调度决策。
马尔科夫决策过程建模
所述***状态信息包括以下几部分:
(I)当前推理请求的模型类型mt;
(II)当前请求的数据类型dt和数据大小ds;
(III)当前请求的绝对截止时间ddla和相对截止时间ddlr;
(IV)边缘设备当前可用的CPU、GPU、memory和能耗利用率,分别记为Cu,Gu,Mu和Eu;
(V)等待调度的请求序列信息seqb;
动作:是离散动作空间;用于选择合适的批处理大小b和模型并行数量mc,因此在调度时刻t智能体做出的动作可以表示为at=(b,mc);比如某个推理模型有个可选的批处理大小和个可选的模型并行数量,则离散动作空间的大小为
本发明基于最大熵的随机策略算法,在最大化智能体获得的累积期望奖励的同时最大化所访问过的状态的熵,最优策略π*如公式(2)所示:
状态转移概率:p(s′t|st,at)是状态转移概率,表示在时刻t的当前状态st下做出某个动作at后,转移到下一个状态s′t的概率,满足∑s′∈Sp(s′t|st,at)=1;
为了能使奖励反映目标函数,rt被定义为公式(3)的形式:
基于最大熵强化学习的决策算法:
所述调度决策算法BP-SACD基于Actor-Critic框架;其中,Critic使用动作-状态价值函数Q-function用于评判Actor根据策略所做出动作的好坏,即使用软策略迭代使奖励最大化的同时使熵最大化;
软策略迭代包括策略评估和策略改进两步,并在训练过程中交替进行;
所述策略评估步骤为:
首先计算soft q-function并将其定义为:
其中
V(st):=π(st)T[Q(st)-αlog(π(st))] (5)
是离散情况下的软状态值函数;
利用公式(6)中的最小化软贝尔曼残差来训练soft q-function;
所述策略改进对策略进行更新,具体公式如下:
利用公式(8)中的最小化KL散度来更新策略网络的参数:
温度参数:利用公式(9)可自动调节温度参数:
所述动态批处理调度模块面对相同模型的多个请求序列时,根据请求序列到达的先后顺序将其依次添加到批处理槽si中;
动态批处理器为不同的模型单独维护一个请求序列,其中包含属于该模型的所有推理请求,根据决策模块会被聚合成不同批处理大小的请求序列。
图2展示了使用动态批处理调度模块如何将相同模型的多个请求序列调度到多个模型实例上。首先,该模块会为新到达的请求序列分配批处理槽。根据每个请求序列的相对截止时间进行优先级排序,相对截止时间越短优先级越高。然后根据优先级将请求序列调度到相应的批处理槽。优先级相同的情况下按照到达时间的先后顺序依次调度。
左图显示了随机到达的几个请求序列。每个序列的推理请求数量是由基于深度强化学习的决策模块选择的批处理大小决定,并且这些单独的推理请求可以相对于其他序列中的推理请求以任何顺序到达。右图显示了请求序列如何随着时间的推移被调度到相应的模型实例上。
在所述模型并行模块中,
若当前GPU处于空闲状态,当多个请求同时到达时,所述模型并行模块立即将多个请求调度到GPU上,并且GPU的硬件调度程序开始并行处理这些请求;
如果有同一模型的多个请求同时到达,将通过在GPU上,一次只调度一个请求来执行模型推理。
图3显示了3个模型(模型1、模型2和模型3)并行执行的示例,具体来说,将3个模型分别设置为允许2个实例并行执行的状态。前三个推理请求立即并行执行。后三个推理请求必须等到前三个相同请求执行完成后才能开始。
所述性能分析器记录每次在边缘设备上执行的一系列推理模型,在不同大小的输入数据下的***状态信息,
所述***状态信息将及时反馈给基于深度强化学习的决策模块,在分析当前***可用资源的基础上,为下一时刻的推理请求做出调度决策,选择合适的批处理大小和模型并行数量以最大化效用函数,同时避免***过载并提高资源利用率。这也反映了本发明的调度器具有动态资源管理和分配的潜在优势;
一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时实现上述任一项所述方法的步骤。
实施例:
一、基线方法:将传统的启发式方法和其他强化学习方法作为基线方法,在调度***BPEdge中替换掉本发明所提出的基于最大熵强化学习的决策算法BP-SACD进行对比,具体替换方法包括:
遗传算法(GA):GAU作为最经典的启发式算法之一,其主要特点是对非线性极值问题能够以概率1跳出局部最优解,进而找到全局最优解。本发明将GA中的适应度函数作为utility。
近端策略优化(PPO):PPO作为强化学习中的基线方法,是一种在线策略算法,具有良好的稳定性。
双深度Q网络(DDQN):DDQN作为离线策略算法,在离散场景下性能表现良好。
主要考虑三个性能指标:
(1)效用函数:反映了***吞吐量和推理延迟之间的权衡程度,效用值越大表示***吞吐量越高,同时推理延迟越低;
(2)收敛速度:反应了各种算法的性能优劣;
(3)调度开销:即执行调度操作所需的时间。
二、调度***效用:为体现实时性,将请求速率设置为30fps,即每秒到达30个具有不同分辨率的视频帧并作为推理请求,其中每个推理请求的绝对截止时间∈[10ms,15ms],一共生成时长为1.85小时、共计20万个推理请求。此外,将每种算法的训练次数设置为100。
图4是在两种最先进的目标检测和图像分类模型上执行批处理和并行推理时,四种算法对***吞吐量和模型并行数量的权衡程度。
在图4(a)中基于YOLO-v5的目标检测模型推理中,可以看到本发明提出的BP-SACD算法的性能要优于其他三种方法。具体而言,BP-SACD的效用值分别比GA、PPO和DDQN高出11.2%、41.8%和21.2%,稳定性也优于其他三种方法。
在针对基于MobileNet-v3的图像分类模型推理测试中(图4(b)),BP-SACD的效用值相对于其他三种方法也分别有着3.2%、58%和30.2%的性能提升。
图5和图6分别是四种算法选择的批处理大小和模型并行数量随着调度过程而产生的变化曲线。与其他三种算法相比,BP-SACD能够更快的为不同模型找到最佳的批处理大小和模型并行数量。
图7和图8分别是四种算法的平均***吞吐量和平均推理延迟随着调度过程而产生的变化曲线。相比其他三种算法,BP-SACD能够在***吞吐量和推理延迟之间达到较好的权衡,倾向于以较低的推理延迟换取合适的推理吞吐量,因而权衡程度更好。
以上对本发明所提出的一种面向边缘设备深度学习模型推理的自适应批处理和并行调度***进行了详细介绍,对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种面向边缘设备深度学习模型推理的自适应批处理和并行调度***,其特征在于:
所述***包括决策模块、动态批处理调度模块、模型并行模块、性能分析器;
所述决策模块通过马尔科夫决策过程,对到达的推理请求进行批处理和并行调度的过程建模,再通过基于调度决策算法进行批处理和并行推理的调度决策,并针对不同模型自动选择合适的批处理大小和模型并行数量;
所述动态批处理调度模块将推理请求根据请求到达的先后顺序依次添加到请求序列中,并调度到该模型的多个实例上的批处理槽si进行批处理推理;
所述模型并行模块允许不同模型/同一模型的多个实例并行执行,同时处理模型的多个推理请求;
所述性能分析器以在线方式实时收集边缘设备的***状态,包括当前时刻CPU、GPU、内存和能耗的利用率,***吞吐量和推理延迟。
2.一种应用于权利要求1所述的面向边缘设备深度学习模型推理的自适应批处理和并行调度***,其特征在于:
所述控制方法具体包括以下步骤:
步骤1、终端设备将推理请求发送至调度决策模块;
步骤2、调度决策模块通过马尔科夫决策过程,对到达的推理请求进行批处理和并行调度的过程建模,再通过调度决策算法进行批处理和并行推理的调度决策,并针对不同模型自动选择合适的批处理大小和模型并行数量;
步骤3、动态批处理调度模块将推理请求根据请求到达的先后顺序依次添加到请求序列中,并调度到该模型的多个实例上的批处理槽si进行批处理推理;
步骤4、模型并行模块将不同模型/同一模型的多个实例并行执行,同时处理模型的多个推理请求;
步骤5、性能分析器以在线方式实时收集边缘设备的***状态,包括当前时刻CPU、GPU、内存和能耗的利用率,***吞吐量和推理延迟,并反馈给调度决策模块,在分析当前***可用资源的基础上,为下一时刻的推理请求做出调度决策。
3.根据权利要求2所述控制方法,其特征在于:
所述***状态信息包括以下几部分:
(I)当前推理请求的模型类型mt;
(II)当前请求的数据类型dt和数据大小ds;
(III)当前请求的绝对截止时间ddla和相对截止时间ddlr;
(IV)边缘设备当前可用的CPU、GPU、memory和能耗利用率,分别记为Cu,Gu,Mu和Eu;
(V)等待调度的请求序列信息seqb;
在最大化智能体获得的累积期望奖励的同时最大化所访问过的状态的熵,最优策略π*如公式(2)所示:
为了能使奖励反映目标函数,rt被定义为公式(3)的形式:
4.根据权利要求3所述控制方法,其特征在于:
所述调度决策算法基于Actor-Critic框架;其中,Critic使用动作-状态价值函数Q-function用于评判Actor根据策略所做出动作的好坏,即使用软策略迭代使奖励最大化的同时使熵最大化;
软策略迭代包括策略评估和策略改进两步,并在训练过程中交替进行;
所述策略评估步骤为:
首先计算soft q-function并将其定义为:
其中
V(st):=π(st)T[Q(st)-αlog(π(st))] (5)
是离散情况下的软状态值函数;
利用公式(6)中的最小化软贝尔曼残差来训练soft q-function;
6.根据权利要求5所述控制方法,其特征在于:
所述动态批处理调度模块面对相同模型的多个请求序列时,根据请求序列到达的先后顺序将其依次添加到批处理槽si中;
动态批处理器为不同的模型单独维护一个请求序列,其中包含属于该模型的所有推理请求,根据决策模块会被聚合成不同批处理大小的请求序列。
7.根据权利要求6所述控制方法,其特征在于:
在所述模型并行模块中,
若当前GPU处于空闲状态,当多个请求同时到达时,所述模型并行模块立即将多个请求调度到GPU上,并且GPU的硬件调度程序开始并行处理这些请求;
如果有同一模型的多个请求同时到达,将通过在GPU上,一次只调度一个请求来执行模型推理。
8.根据权利要求7所述控制方法,其特征在于:
所述性能分析器记录每次在边缘设备上执行的一系列推理模型,在不同大小的输入数据下的***状态信息,
所述***状态信息将及时反馈给调度决策模块,在分析当前***可用资源的基础上,为下一时刻的推理请求做出调度决策,选择合适的批处理大小和模型并行数量以最大化效用函数,同时避免***过载并提高资源利用率。
9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求2至8中任一项所述方法的步骤。
10.一种计算机可读存储介质,用于存储计算机指令,其特征在于,所述计算机指令被处理器执行时实现权利要求2至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210662359.XA CN115454585A (zh) | 2022-06-13 | 2022-06-13 | 一种面向边缘设备深度学习模型推理的自适应批处理和并行调度*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210662359.XA CN115454585A (zh) | 2022-06-13 | 2022-06-13 | 一种面向边缘设备深度学习模型推理的自适应批处理和并行调度*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115454585A true CN115454585A (zh) | 2022-12-09 |
Family
ID=84296543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210662359.XA Pending CN115454585A (zh) | 2022-06-13 | 2022-06-13 | 一种面向边缘设备深度学习模型推理的自适应批处理和并行调度*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115454585A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116090383A (zh) * | 2022-12-27 | 2023-05-09 | 广东高云半导体科技股份有限公司 | 实现静态时序分析的方法、装置、计算机存储介质及终端 |
-
2022
- 2022-06-13 CN CN202210662359.XA patent/CN115454585A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116090383A (zh) * | 2022-12-27 | 2023-05-09 | 广东高云半导体科技股份有限公司 | 实现静态时序分析的方法、装置、计算机存储介质及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114691363A (zh) | 基于深度强化学习的云数据中心自适应高效资源分配方法 | |
CN113515351B (zh) | 一种基于能耗与QoS协同优化的资源调度实现方法 | |
Chen et al. | Learning-based resource allocation in cloud data center using advantage actor-critic | |
CN109491761A (zh) | 基于eda-ga混合算法的云计算多目标任务调度方法 | |
CN111782355B (zh) | 一种基于混合负载的云计算任务调度方法及*** | |
Chakravarthi et al. | TOPSIS inspired budget and deadline aware multi-workflow scheduling for cloud computing | |
CN112685138B (zh) | 云环境下基于多种群混合智能优化的多工作流调度方法 | |
CN103279818A (zh) | 基于启发式遗传算法的云工作流调度方法 | |
US8281313B1 (en) | Scheduling computer processing jobs that have stages and precedence constraints among the stages | |
CN116932198A (zh) | 资源调度方法、装置、电子设备及可读存储介质 | |
CN116467076A (zh) | 一种基于集群可用资源的多集群调度方法及*** | |
CN115454585A (zh) | 一种面向边缘设备深度学习模型推理的自适应批处理和并行调度*** | |
Zhang et al. | Strategy-proof mechanism for online time-varying resource allocation with restart | |
CN112632615B (zh) | 基于混合云环境的科学工作流数据布局方法 | |
CN111629216B (zh) | 边缘网络环境下基于随机森林算法的vod业务缓存替换方法 | |
CN117808246A (zh) | 柔性作业车间调度方法、装置及*** | |
CN108958919A (zh) | 一种云计算中有期限约束的多dag任务调度费用公平性评估模型 | |
Yang et al. | Trust-based scheduling strategy for cloud workflow applications | |
Eswari et al. | Expected completion time based scheduling algorithm for heterogeneous processors | |
CN116089083A (zh) | 一种多目标数据中心资源调度方法 | |
Murad et al. | Priority based fair scheduling: Enhancing efficiency in cloud job distribution | |
CN112698911B (zh) | 一种基于深度强化学习的云作业调度方法 | |
CN114980216A (zh) | 基于移动边缘计算的依赖型任务卸载***及方法 | |
CN114035954A (zh) | 一种基于ddqn算法的调度***和任务调度*** | |
CN106295117A (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 |