一种基于芯片算力推理的模型推理任务调度方法及系统与流程

摘要: 本技术属于芯片负载均衡,具体涉及一种基于芯片算力推理的模型推理任务调度方法及系统。背景技术:1、当前,在芯片算力集群上执行人工智能模型的推理任务时,通常采用静态...
一种基于芯片算力推理的模型推理任务调度方法及系统与流程

本技术属于芯片负载均衡,具体涉及一种基于芯片算力推理的模型推理任务调度方法及系统。

背景技术:

1、当前,在芯片算力集群上执行人工智能模型的推理任务时,通常采用静态轮询或最小连接数等传统负载均衡策略将推理任务分配给芯片,并结合基础的推理加速策略(如手动算子融合、固定量化精度)在芯片上进行推理任务执行。这类算法在单一任务类型、同构芯片环境下可基本满足推理任务的需求,例如对纯图像分类请求流,使用轮询分发即可保证各芯片任务数相近,维持芯片间的负载均衡。

2、然而,实际生产环境中推理任务类型多样、数据体量差异大、各芯片硬件特性(算力、内存带宽、算子支持列表)各异,且推理任务对应的业务对时延有严格约束,而上述负载均衡策略缺乏对推理任务类型与芯片适配性的联合考虑,在为芯片分配推理任务时仅依据芯片核心数或固定权重等静态指标,忽略当前排队任务数、正在执行任务的剩余时间、可用显存等动态负载,导致某些芯片长期处于高负载情况及其他芯片总是处于空闲状态,致使芯片执行推理任务的整体效率低下,且芯片算力集群无法实现运行负载均衡。

技术实现思路

1、本技术提出了一种基于芯片算力推理的模型推理任务调度方法及系统,能够解决现有技术中推理任务与芯片之间适配性差,且推理任务分配不均导致芯片间负载不均,推理任务执行效率较差的问题。

2、本技术的第一方面提供了一种基于芯片算力推理的模型推理任务调度方法,所述方法包括:

3、根据芯片算力集群中各芯片节点的实时运行数据、硬件参数和平均预期延迟参数,构建芯片算力集群的实时算力状态报表;

4、根据预设的业务时延要求和推理任务的数据体量,为推理任务生成对应的推理请求特征;其中,所述推理请求特征包括任务类型、算力需求等级、期望完成时限、推荐芯片型号和请求id;

5、根据所述实时算力状态报表,为推理任务分配对应的目标芯片节点,基于预设的加速策略库和所述推理请求特征,生成所述目标芯片节点执行推理任务的最优协同执行策略;

6、基于所述最优协同执行策略,将推理任务发送至对应的所述目标芯片节点并进行推理加速优化。

7、上述方案实时采集各芯片节点的实时运行数据以获取动态负载情况,并获取其硬件参数和平均预期延迟参数以得到芯片节点的实际负载能力,构建的实时算力状态报表能为后续的负载均衡决策提供芯片算力的可靠依据。对推理任务进行结构化解析,获取与推理任务所需算力有关的推理请求特征,使得系统能为推理任务按需分配算力资源,确定对应的有充足算力且能快速执行推理任务的目标芯片节点,提升推理任务执行效率。而且结合预设的加速策略库和所述推理请求特征为目标芯片节点寻找最合适的加速策略,避免选出的芯片虽适配但过载严重,导致出现芯片间负载不均的情况。而且进行策略匹配时还采用任务类型和期望完成时限,这考虑到芯片与推理任务之间的适配性和任务完成的及时性,实现芯片算力资源与推理任务的最优匹配,提高推理任务的整体执行效率和加速效果,同时避免资源过载或闲置。

8、在第一方面的一种可能的实现方法中,根据芯片算力集群中各芯片节点的实时运行数据、硬件参数和平均预期延迟参数,构建芯片算力集群的实时算力状态报表,具体为:

9、采集各芯片节点的当前待执行任务数、正在执行任务的预估剩余总时间和当前可用显存,得到所述实时运行数据;

10、采集各芯片节点的浮点算力、整型算力、内存带宽和支持算子列表,得到所述硬件参数;

11、通过预设的滑动窗口对各芯片节点的历史推理任务完成数据进行执行,计算不同芯片型号执行不同类型推理任务的平均耗时,得到各芯片节点执行不同类型推理任务的所述平均预期延迟参数;

12、将所述实时运行数据、所述硬件参数和所述平均预期延迟参数与对应的芯片节点关联并存储至预设的结构化数据库中,得到所述实时算力状态报表。

13、上述方案中,所述实时运行数据能够全面反映芯片节点的计算能力和可用资源,为推理任务匹配目标芯片节点提供更准确的输入;所述平均预期延迟参数反映了任务处理耗时,为选择能及时处理推理任务的加速策略提供数据支撑;将各类数据与芯片节点关联并存储至结构化数据库,形成可查询、可更新的实时算力状态报表,便于调度系统快速检索和动态更新。

14、在第一方面的一种可能的实现方法中,根据预设的业务时延要求和推理任务的数据体量,为推理任务生成对应的推理请求特征,具体为:

15、对接收的推理任务进行类型解析,确定推理任务的所述任务类型,基于所述任务类型对应的计算方式,计算推理任务的数据体量;

16、根据所述数据体量和推理任务的所述业务时延要求,确定推理任务的算力需求等级,将所述算力需求等级的最大执行时限作为所述推理任务的所述期望完成时限;其中,所述业务时延要求由所述推理任务对应的业务场景确定;

17、基于所述任务类型,确定推理任务的推荐芯片型号。

18、上述方案通过对推理任务进行类型解析,明确任务所属类型,为后续算力需求评估和芯片选型提供依据。并根据所述数据体量和推理任务的所述业务时延要求量化推理任务的期望完成时限,以确定推理任务的紧急程度。基于任务类型确定推荐芯片型号,协助缩小候选芯片范围,加速目标芯片节点的筛选过程,能为推理任务快速找到适配的芯片节点。

19、在第一方面的一种可能的实现方法中,根据所述实时算力状态报表,为推理任务分配对应的目标芯片节点,基于预设的加速策略库和所述推理请求特征,生成所述目标芯片节点执行所述推理任务的最优协同执行策略,具体为:

20、从所述实时算力状态报表中剔除处于故障状态或隔离状态的芯片节点,并剔除当前可用显存小于第一阈值的芯片节点,根据剔除后剩下的芯片节点生成候选节点集;

21、根据所述实时运行数据,从所述候选节点集中为推理任务分配对应的目标芯片节点;

22、结合所述目标芯片节点的硬件参数和所述推理请求特征,从所述加速策略库为推理任务匹配对应的最优加速方案;

23、根据所述最优加速方案、所述请求id、所述目标芯片节点的id和推理任务的预估完成时间,生成所述最优协同执行策略。

24、上述方案首先剔除不可用或无能力执行推理任务的芯片节点,缩小目标芯片节点选取范围。然后根据芯片负载情况和推理请求特征,在实现芯片间负载均衡的情况下为推理任务匹配合适的目标芯片节点,避免将任务调度至过载节点,使得到的最优加速方案既适配硬件能力又满足任务的时延要求。

25、在第一方面的一种可能的实现方法中,根据所述实时运行数据,从所述候选节点集中为推理任务分配对应的目标芯片节点,具体为:

26、根据所述实时运行数据,通过所述候选节点的当前待执行任务数、正在执行任务的预估剩余总时间和预设的动态权重,计算所述正在执行任务的加权负载值;

27、选取最小的所述加权负载值对应的所述候选节点为推理任务的所述目标芯片节点;

28、如果存在多个最小的所述加权负载值,则根据所述任务类型为推理任务选取对应的所述目标芯片节点。

29、上述方案通过计算加权负载值以反映各芯片节点当前的负载程度,避免仅凭待处理任务量等单一指标造成负载误判。选取加权负载值最小的候选节点作为目标芯片节点,有助于在集群中实现更优的负载均衡,缩短推理任务的排队等待时间。当存在多个最小加权负载值时,根据任务类型进一步选取目标芯片节点,能够优先将推理任务分配给更适合该任务类型的芯片,提高推理任务执行效率。

30、在第一方面的一种可能的实现方法中,结合所述目标芯片节点的硬件参数和所述推理请求特征,从所述加速策略库为推理任务匹配对应的最优加速方案,具体为:

31、将所述目标芯片节点与所述任务类型的组合作为匹配目标,从所述加速策略库中提取符合所述匹配目标的所有加速候选方案;

32、根据所述硬件参数和所述期望完成时限,对所述加速候选方案进行筛选,再从筛选结果中选取历史成功率最高的所述加速候选方案作为所述最优加速方案。

33、上述方案以目标芯片节点与任务类型的组合作为匹配目标,确保所选加速候选方案在该硬件和任务场景下具有适用性。结合硬件参数和期望完成时限进行筛选,剔除不符合硬件能力或无法满足时限要求的方案,保证加速方案的可行性和时效性。

34、在第一方面的一种可能的实现方法中,还包括:

35、根据所述数据体量和所述任务类型,计算推理任务的显存资源需求量;

36、如果所述显存资源需求量大于所述目标芯片节点的当前可用显存,则从所述候选节点中重新为所述推理任务分配对应的目标芯片节点。

37、上述方案在推理任务执行之前进行显存匹配,有效避免因显存不足导致的任务执行失败或性能严重下降。并且通过重分配确保推理任务总能分配到显存资源充足的目标芯片节点,提升推理任务的执行成功效率。

38、在第一方面的一种可能的实现方法中,基于所述最优协同执行策略,将推理任务发送至对应的所述目标芯片节点并进行推理加速优化,具体为:

39、将所述最优协同执行策略转换为对应的执行指令,将所述执行指令和所述推理任务发送至所述目标芯片节点;

40、在所述目标芯片节点本地生成批处理缓冲队列,当所述批处理缓冲队列满足任一设定条件时,将所述批处理缓冲队列中的推理任务打包至所述目标芯片节点的执行队列中进行推理加速优化。

41、上述方案在目标芯片节点本地生成批处理缓冲队列,能够将多个推理任务聚合打包处理,减少频繁的调度处理,提升芯片计算资源的利用效率。当批处理缓冲队列满足设定条件时,打包至执行队列进行推理加速优化,兼顾了批处理的吞吐量优势和任务响应的及时性,避免因过度等待而影响整体时延。

42、在第一方面的一种可能的实现方法中,所述设定条件包括所述批处理缓冲队列中的推理任务数量达到当前批次大小,以及所述批处理缓冲队列的等待时长超过预设的批处理超时阈值;

43、其中,当前批次大小是由所述目标芯片节点的当前负载状态确定的。

44、上述方案提供的两个条件既保证了一次能处理大量的推理任务,又防止推理任务等待太久,实现了吞吐量与延迟之间的有效平衡。

45、本技术第二方面提供了一种基于芯片算力推理的模型推理任务调度系统,所述系统包括:芯片算力记录模块、推理请求特征生成模块、执行策略生成模块和推理任务执行模块;

46、其中,芯片算力记录模块用于根据芯片算力集群中各芯片节点的实时运行数据、硬件参数和平均预期延迟参数,构建芯片算力集群的实时算力状态报表;

47、推理请求特征生成模块用于根据预设的业务时延要求和推理任务的数据体量,为推理任务生成对应的推理请求特征;其中,所述推理请求特征包括任务类型、算力需求等级、期望完成时限、推荐芯片型号和请求id;

48、执行策略生成模块用于根据所述实时算力状态报表,为推理任务分配对应的目标芯片节点,基于预设的加速策略库和所述推理请求特征,生成所述目标芯片节点执行推理任务的最优协同执行策略;

49、推理任务执行模块用于基于所述最优协同执行策略,将推理任务发送至对应的所述目标芯片节点并进行推理加速优化。