CN115454585A - 一种面向边缘设备深度学习模型推理的自适应批处理和并行调度*** - Google Patents

一种面向边缘设备深度学习模型推理的自适应批处理和并行调度*** Download PDF

Info

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
Application number
CN202210662359.XA
Other languages
English (en)
Inventor
张子阳
刘劼
李峰
李欢
林昌垚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN202210662359.XA priority Critical patent/CN115454585A/zh
Publication of CN115454585A publication Critical patent/CN115454585A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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、内存和能耗的利用率,***吞吐量和推理延迟,并反馈给调度决策模块,在分析当前***可用资源的基础上,为下一时刻的推理请求做出调度决策。
进一步地,
通过一个五元组
Figure BDA0003691365480000021
描述马尔科夫决策过程,五元组
Figure BDA0003691365480000022
Figure BDA0003691365480000023
定义为:
状态:
Figure BDA0003691365480000024
是离散状态空间;在每个调度时间步,强化学习的智能体会构造一个状态st(st∈S),定期收集推理请求信息和边缘设备上的***状态信息;
所述***状态信息包括以下几部分:
(I)当前推理请求的模型类型mt;
(II)当前请求的数据类型dt和数据大小ds
(III)当前请求的绝对截止时间ddla和相对截止时间ddlr
(IV)边缘设备当前可用的CPU、GPU、memory和能耗利用率,分别记为Cu,Gu,Mu和Eu
(V)等待调度的请求序列信息seqb
动作:
Figure BDA0003691365480000025
是离散动作空间;用于选择合适的批处理大小b和模型并行数量mc,因此在调度时刻t智能体做出的动作可以表示为at=(b,mc);
策略:策略π(at|st)表示在时刻t智能体根据环境的当前状态st来决定下一步动作
Figure BDA0003691365480000031
的函数;
在最大化智能体获得的累积期望奖励的同时最大化所访问过的状态的熵,最优策略π*如公式(2)所示:
Figure BDA0003691365480000032
其中,γ∈[0,1]是折扣因子,ρπ是由策略π产生的轨迹分布,α是温度参数,用于控制优化目标更关注奖励还是熵;
Figure BDA00036913654800000310
表示在状态st下策略π的熵;
状态转移概率:p(s′t|st,at)是状态转移概率,表示在时刻t的当前状态st下做出某个动作at后,转移到下一个状态s′t的概率,满足
Figure BDA00036913654800000311
奖励:
Figure BDA0003691365480000033
是奖励函数;智能体的目的是最大化累积的期望奖励
Figure BDA0003691365480000034
rt表示在每个调度时间t,智能体选择合适的批处理大小和模型并行数量,然后执行推理时获得的即时奖励;
为了能使奖励反映目标函数,rt被定义为公式(3)的形式:
Figure BDA0003691365480000035
其中,
Figure BDA0003691365480000036
和ξ代表权重,且
Figure BDA0003691365480000037
b和mc分别表示智能体选择的批处理大小和模型并行数量,u=(Cu+Gu+Mu+Eu)/4表示***资源利用率的平均值。
进一步地,
所述调度决策算法BP-SACD基于Actor-Critic框架;其中,Critic使用动作-状态价值函数Q-function用于评判Actor根据策略所做出动作的好坏,即使用软策略迭代使奖励最大化的同时使熵最大化;
软策略迭代包括策略评估和策略改进两步,并在训练过程中交替进行;
所述策略评估步骤为:
首先计算soft q-function并将其定义为:
Figure BDA0003691365480000038
其中,
Figure BDA0003691365480000039
表示修正的贝尔曼备份算子;
其中
V(st):=π(st)T[Q(st)-αlog(π(st))] (5)
是离散情况下的软状态值函数;
利用公式(6)中的最小化软贝尔曼残差来训练soft q-function;
Figure BDA0003691365480000041
进一步地,
所述策略改进对策略进行更新,具体公式如下:
Figure BDA0003691365480000042
其中,DKL表示KL散度,
Figure BDA0003691365480000046
表示配分函数;
利用公式(8)中的最小化KL散度来更新策略网络的参数:
Figure BDA0003691365480000043
温度参数:利用公式(9)可自动调节温度参数:
Figure BDA0003691365480000044
其中,
Figure BDA0003691365480000045
是一个常数向量,等于表示目标熵的超参数。
进一步地,
所述动态批处理调度模块面对相同模型的多个请求序列时,根据请求序列到达的先后顺序将其依次添加到批处理槽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。
本发明首先提出了一个效用函数来评估***吞吐量和推理延迟之间的权衡程度。具体公式如下:
Figure BDA0003691365480000061
其中,
Figure BDA0003691365480000066
表示在调度时间槽si内执行批处理大小为b、模型并行数量为mc时的***吞吐量,
Figure BDA0003691365480000062
表示模型的实际批处理和并行推理延迟,
Figure BDA0003691365480000063
表示一个批处理内推理请求的绝对截止时间之和与当前模型并行数量的比值。特别的,
Figure BDA0003691365480000064
保证了请求不会调度失败的情况,以做到实时推理。
表1是各种符号定义和描述。
Figure BDA0003691365480000065
表1主要符号表
一种面向边缘设备深度学习模型推理的自适应批处理和并行调度***:
所述***包括决策模块、动态批处理调度模块、模型并行模块以及性能分析器;
所述决策模块为***的最核心组件,
通过马尔科夫决策过程(MDP),对到达的推理请求进行批处理和并行调度的过程建模,再通过调度决策算法(BP-SACD),进行批处理和并行推理的调度决策,并针对不同模型自动选择合适的批处理大小和模型并行数量,在保证较低推理延迟的同时提高***吞吐量;
所述动态批处理调度模块将一批相同模型的推理请求根据请求到达的先后顺序依次添加到请求序列中,并调度到该模型的多个实例上的批处理槽si进行批处理推理;
所述模型并行模块允许不同模型/同一模型的多个实例并行执行,同时处理模型的多个推理请求;
所述性能分析器以在线方式实时收集边缘设备的***状态,包括当前时刻CPU、GPU、内存和能耗的利用率,***吞吐量和推理延迟。
一种面向边缘设备深度学习模型推理的自适应批处理和并行调度***的控制方法:
所述控制方法具体包括以下步骤:
步骤1、终端设备将推理请求发送至调度决策模块;
步骤2、调度决策模块通过马尔科夫决策过程,对到达的推理请求进行批处理和并行调度过程建模,再通过调度决策算法进行批处理和并行推理的调度决策,并针对不同模型自动选择合适的批处理大小和模型并行数量;
步骤3、动态批处理调度模块将一批相同模型的推理请求根据请求到达的先后顺序依次添加到请求序列中,并调度到该模型的多个实例上的批处理槽si进行批处理推理;
步骤4、模型并行模块将不同模型/同一模型的多个实例并行执行,同时处理模型的多个推理请求;
步骤5、性能分析器以在线方式实时收集边缘设备的***状态,包括当前时刻CPU、GPU、内存和能耗的利用率,***吞吐量和推理延迟,并反馈给调度决策模块,在分析当前***可用资源的基础上,为下一时刻的推理请求做出调度决策。
马尔科夫决策过程建模
通过一个五元组
Figure BDA0003691365480000081
描述马尔科夫决策过程(MDP),五元组
Figure BDA0003691365480000082
Figure BDA0003691365480000083
定义为:
状态:
Figure BDA0003691365480000084
是离散状态空间;在每个调度时间步,强化学习的智能体agent会构造一个状态
Figure BDA0003691365480000085
定期收集推理请求信息和边缘设备上的***状态信息;
所述***状态信息包括以下几部分:
(I)当前推理请求的模型类型mt
(II)当前请求的数据类型dt和数据大小ds
(III)当前请求的绝对截止时间ddla和相对截止时间ddlr
(IV)边缘设备当前可用的CPU、GPU、memory和能耗利用率,分别记为Cu,Gu,Mu和Eu
(V)等待调度的请求序列信息seqb
动作:
Figure BDA0003691365480000086
是离散动作空间;用于选择合适的批处理大小b和模型并行数量mc,因此在调度时刻t智能体做出的动作可以表示为at=(b,mc);比如某个推理模型有
Figure BDA0003691365480000087
个可选的批处理大小和
Figure BDA0003691365480000088
个可选的模型并行数量,则离散动作空间
Figure BDA0003691365480000089
的大小为
Figure BDA00036913654800000810
策略:策略π(at|st)表示在时刻t智能体根据环境的当前状态st来决定下一步动作
Figure BDA00036913654800000811
的函数;
本发明基于最大熵的随机策略算法,在最大化智能体获得的累积期望奖励的同时最大化所访问过的状态的熵,最优策略π*如公式(2)所示:
Figure BDA00036913654800000812
其中,γ∈[0,1]是折扣因子,ρπ是由策略π产生的轨迹分布,α是温度参数,用于控制优化目标更关注奖励还是熵;
Figure BDA00036913654800000813
表示在状态st下策略π的熵;
状态转移概率:p(s′t|st,at)是状态转移概率,表示在时刻t的当前状态st下做出某个动作at后,转移到下一个状态s′t的概率,满足∑s′∈Sp(s′t|st,at)=1;
奖励:
Figure BDA0003691365480000091
是奖励函数;智能体的目的是最大化累积的期望奖励
Figure BDA0003691365480000092
rt表示在每个调度时间t,智能体选择合适的批处理大小和模型并行数量,然后执行推理时获得的即时奖励;
为了能使奖励反映目标函数,rt被定义为公式(3)的形式:
Figure BDA0003691365480000093
其中,
Figure BDA0003691365480000094
和ξ代表权重,且
Figure BDA0003691365480000095
b和mc分别表示智能体选择的批处理大小和模型并行数量,u=(Cu+Gu+Mu+Eu)/4表示***资源利用率的平均值。
基于最大熵强化学习的决策算法:
所述调度决策算法BP-SACD基于Actor-Critic框架;其中,Critic使用动作-状态价值函数Q-function用于评判Actor根据策略所做出动作的好坏,即使用软策略迭代使奖励最大化的同时使熵最大化;
软策略迭代包括策略评估和策略改进两步,并在训练过程中交替进行;
所述策略评估步骤为:
首先计算soft q-function并将其定义为:
Figure BDA0003691365480000096
其中,
Figure BDA0003691365480000097
表示修正的贝尔曼备份算子;
其中
V(st):=π(st)T[Q(st)-αlog(π(st))] (5)
是离散情况下的软状态值函数;
利用公式(6)中的最小化软贝尔曼残差来训练soft q-function;
Figure BDA0003691365480000098
所述策略改进对策略进行更新,具体公式如下:
Figure BDA0003691365480000099
其中,DKL表示KL散度,
Figure BDA00036913654800000910
表示配分函数;
利用公式(8)中的最小化KL散度来更新策略网络的参数:
Figure BDA00036913654800000911
温度参数:利用公式(9)可自动调节温度参数:
Figure BDA0003691365480000101
其中,
Figure BDA0003691365480000102
是一个常数向量,等于表示目标熵的超参数。
Figure BDA0003691365480000103
所述动态批处理调度模块面对相同模型的多个请求序列时,根据请求序列到达的先后顺序将其依次添加到批处理槽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所述控制方法,其特征在于:
通过一个五元组
Figure FDA0003691365470000021
描述马尔科夫决策过程,五元组
Figure FDA0003691365470000022
Figure FDA0003691365470000023
定义为:
状态:
Figure FDA0003691365470000024
是离散状态空间;在每个调度时间步,强化学习的智能体agent会构造一个状态st(st∈S),定期收集推理请求信息和边缘设备上的***状态信息;
所述***状态信息包括以下几部分:
(I)当前推理请求的模型类型mt
(II)当前请求的数据类型dt和数据大小ds
(III)当前请求的绝对截止时间ddla和相对截止时间ddlr
(IV)边缘设备当前可用的CPU、GPU、memory和能耗利用率,分别记为Cu,Gu,Mu和Eu
(V)等待调度的请求序列信息seqb
动作:
Figure FDA0003691365470000025
是离散动作空间;用于选择合适的批处理大小b和模型并行数量mc,因此在调度时刻t智能体做出的动作可以表示为at=(b,mc);
策略:策略π(at|st)表示在时刻t智能体根据环境的当前状态st来决定下一步动作
Figure FDA0003691365470000026
的函数;
在最大化智能体获得的累积期望奖励的同时最大化所访问过的状态的熵,最优策略π*如公式(2)所示:
Figure FDA0003691365470000027
其中,γ∈[0,1]是折扣因子,ρπ是由策略π产生的轨迹分布,α是温度参数,用于控制优化目标更关注奖励还是熵;
Figure FDA0003691365470000028
表示在状态st下策略π的熵;
状态转移概率:p(s't|st,at)是状态转移概率,表示在时刻t的当前状态st下做出某个动作at后,转移到下一个状态s't的概率,满足
Figure FDA0003691365470000029
奖励:
Figure FDA00036913654700000210
是奖励函数;智能体的目的是最大化累积的期望奖励
Figure FDA00036913654700000211
rt表示在每个调度时间t,智能体选择合适的批处理大小和模型并行数量,然后执行推理时获得的即时奖励;
为了能使奖励反映目标函数,rt被定义为公式(3)的形式:
Figure FDA00036913654700000212
其中,
Figure FDA0003691365470000031
和ξ代表权重,且
Figure FDA0003691365470000032
b和mc分别表示智能体选择的批处理大小和模型并行数量,u=(Cu+Gu+Mu+Eu)/4表示***资源利用率的平均值。
4.根据权利要求3所述控制方法,其特征在于:
所述调度决策算法基于Actor-Critic框架;其中,Critic使用动作-状态价值函数Q-function用于评判Actor根据策略所做出动作的好坏,即使用软策略迭代使奖励最大化的同时使熵最大化;
软策略迭代包括策略评估和策略改进两步,并在训练过程中交替进行;
所述策略评估步骤为:
首先计算soft q-function并将其定义为:
Figure FDA0003691365470000033
其中,
Figure FDA0003691365470000034
表示修正的贝尔曼备份算子;
其中
V(st):=π(st)T[Q(st)-αlog(π(st))] (5)
是离散情况下的软状态值函数;
利用公式(6)中的最小化软贝尔曼残差来训练soft q-function;
Figure FDA0003691365470000035
5.根据权利要求4所述控制方法,其特征在于:
所述策略改进对策略进行更新,具体公式如下:
Figure FDA0003691365470000036
其中,DKL表示KL散度,
Figure FDA0003691365470000037
表示配分函数;
利用公式(8)中的最小化KL散度来更新策略网络的参数:
Figure FDA0003691365470000038
温度参数:利用公式(9)可自动调节温度参数:
Figure FDA0003691365470000039
其中,
Figure FDA00036913654700000310
是一个常数向量,等于表示目标熵的超参数。
6.根据权利要求5所述控制方法,其特征在于:
所述动态批处理调度模块面对相同模型的多个请求序列时,根据请求序列到达的先后顺序将其依次添加到批处理槽si中;
动态批处理器为不同的模型单独维护一个请求序列,其中包含属于该模型的所有推理请求,根据决策模块会被聚合成不同批处理大小的请求序列。
7.根据权利要求6所述控制方法,其特征在于:
在所述模型并行模块中,
若当前GPU处于空闲状态,当多个请求同时到达时,所述模型并行模块立即将多个请求调度到GPU上,并且GPU的硬件调度程序开始并行处理这些请求;
如果有同一模型的多个请求同时到达,将通过在GPU上,一次只调度一个请求来执行模型推理。
8.根据权利要求7所述控制方法,其特征在于:
所述性能分析器记录每次在边缘设备上执行的一系列推理模型,在不同大小的输入数据下的***状态信息,
所述***状态信息将及时反馈给调度决策模块,在分析当前***可用资源的基础上,为下一时刻的推理请求做出调度决策,选择合适的批处理大小和模型并行数量以最大化效用函数,同时避免***过载并提高资源利用率。
9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求2至8中任一项所述方法的步骤。
10.一种计算机可读存储介质,用于存储计算机指令,其特征在于,所述计算机指令被处理器执行时实现权利要求2至8中任一项所述方法的步骤。
CN202210662359.XA 2022-06-13 2022-06-13 一种面向边缘设备深度学习模型推理的自适应批处理和并行调度*** Pending CN115454585A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116090383A (zh) * 2022-12-27 2023-05-09 广东高云半导体科技股份有限公司 实现静态时序分析的方法、装置、计算机存储介质及终端

Cited By (1)

* Cited by examiner, † Cited by third party
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