本技术涉及人工智能,特别是一种服务器无感知的大语言模型推理系统、方法和设备。
背景技术:
1、推理服务对于基于大语言模型的交互式人工智能应用至关重要。对于交互式人工智能应用来说,大语言模型的推理工作完成时间越低,该应用于用户之间的交互越顺畅,用户的体验效果就越好。
2、然而,大语言模型的规模和复杂性给推理服务基础设施带来了巨大的压力。大语言模型的推理过程遵循一个自回归模式,这使得其每一次的推理执行时间无法被提前预测。而现有的推理服务解决方案,主要是为残差卷积网络等确定性模型推理工作而设计。它们依靠精确的执行时间分析来做出调度决策,这对于执行时间不固定的大语言模型推理来说是行不通的。
3、因此,有必要开发一种服务器无感知的大语言模型推理系统、方法和设备,以实现对大语言模型的推理作业调度,提高推理作业效率。
技术实现思路
1、鉴于上述问题,本技术实施例提供了一种服务器无感知的大语言模型推理系统、方法和设备,以便克服上述问题或者至少部分地解决上述问题。
2、本技术实施例第一方面提供了一种服务器无感知的大语言模型推理系统,所述系统包括:调度器和gpu集群;
3、所述调度器包括:
4、作业分析模块,用于对接收到的目标推理作业请求,进行信息预测,得到预测执行时间,所述预测执行时间表示,执行目标推理作业中的第一次迭代所需要的时间;
5、调度模块,用于根据所述预测执行时间,确定所述目标推理作业请求所需要进入的目标优先级队列,所述目标优先级队列为所述调度模块维护的多个优先级队列中的一个;
6、所述调度模块,还用于从所述多个优先级队列中,选择一个或多个推理作业请求发送给所述gpu集群;
7、所述gpu集群包括:
8、分布式执行模块,用于接收所述调度模块发送的所述一个或多个推理作业请求,执行所述一个或多个推理作业请求所对应的推理作业,得到推理结果;大语言模型通过服务器无感知的方式部署在所述分布式执行模块中;
9、所述内存管理模块,用于管理所述分布式执行模块执行推理作业的过程中产生的中间状态数据。
10、在一种可选的实施方式中,所述作业分析模块,包括:
11、信息获取子模块,用于获取所述gpu集群的硬件参数信息、所述大语言模型的模型参数量信息和所述目标推理作业的第一次迭代的输入长度信息;
12、分析子模块,用于根据所述信息获取子模块所获取到的信息,进行信息预测,得到所述预测执行时间。
13、在一种可选的实施方式中,每个所述优先级队列预先设定有一个降级阈值,按照优先级从高到低的顺序,所述降级阈值按照预设比例逐渐增大,所述调度模块,包括:
14、比较子模块,用于比较所述预测执行时间和每个所述优先级队列的降级阈值;
15、队列确定子模块,用于将所述降级阈值大于所述预测执行时间的优先级队列中,所述降级阈值最小的优先级队列确定为所述目标优先级队列;
16、第一调度子模块,用于将所述目标推理作业请求放入所述目标优先级队列。
17、在一种可选的实施方式中,所述内存管理模块,还用于监控正在执行的各个推理作业的执行时长,并将所述执行时长实时发送至所述调度模块;
18、所述调度模块还用于,在所述执行时长超出了所在优先级队列的降级阈值的情况下,将所述执行时长对应的推理作业请求降级至优先级更低一级的优先级队列中。
19、在一种可选的实施方式中,所述调度模块,还用于:
20、每隔预设时长,检测每个处于等待状态的推理作业请求的等待时长;
21、在所述等待时长超出预设晋升阈值的情况下,将该推理作业请求移动至优先级最高的优先级队列中。
22、在一种可选的实施方式中,所述调度模块还包括:
23、选择子模块,用于根据所述gpu集群的内存容量信息,从优先级最高的优先级队列中,选择多个推理作业请求;
24、第二调度子模块,用于将所述多个推理作业请求发送至所述分布式执行模块。
25、在一种可选的实施方式中,所述分布式执行模块在执行推理作业时,是按照张量并行和/或流水线并行两种方式执行的。
26、在一种可选的实施方式中,所述内存管理模块还用于,将进行降级的推理作业请求的中间状态数据,作为中间推理结果发送给用户终端。
27、本技术实施例第二方面还提供了一种大语言模型推理方法,所述方法包括:
28、对接收到的目标推理作业请求,进行信息预测,得到预测执行时间,所述预测执行时间表示,执行目标推理作业中的第一次迭代所需要的时间;
29、根据所述预测执行时间,确定所述目标推理作业请求所需要进入的目标优先级队列,所述目标优先级队列为所述调度模块维护的多个优先级队列中的一个;
30、从所述多个优先级队列中,选择一个或多个推理作业请求;
31、执行所述一个或多个推理作业请求所对应的推理作业,得到推理结果;
32、管理执行推理作业的过程中产生的中间状态数据。
33、在一种可选的实施方式中,所述对接收到的目标推理作业请求,进行信息预测,得到预测执行时间,包括:
34、获取gpu集群的硬件参数信息、大语言模型的模型参数量信息和所述目标推理作业的第一次迭代的输入长度信息;
35、根据所述信息获取子模块所获取到的信息,进行信息预测,得到所述预测执行时间。
36、在一种可选的实施方式中,每个所述优先级队列预先设定有一个降级阈值,按照优先级从高到低的顺序,所述降级阈值按照预设比例逐渐增大,所述根据所述预测执行时间,确定所述目标推理作业请求所需要进入的目标优先级队列,包括:
37、比较所述预测执行时间和每个所述优先级队列的降级阈值;
38、将所述降级阈值大于所述预测执行时间的优先级队列中,所述降级阈值最小的优先级队列确定为所述目标优先级队列;
39、将所述目标推理作业请求放入所述目标优先级队列。
40、在一种可选的实施方式中,所述方法还包括:
41、监控正在执行的各个推理作业的执行时长;
42、在所述执行时长超出了所在优先级队列的降级阈值的情况下,将所述执行时长对应的推理作业请求降级至优先级更低一级的优先级队列中。
43、在一种可选的实施方式中,所述方法还包括:
44、每隔预设时长,检测每个处于等待状态的推理作业请求的等待时长;
45、在所述等待时长超出预设晋升阈值的情况下,将该推理作业请求移动至优先级最高的优先级队列中。
46、在一种可选的实施方式中,所述方法还包括:
47、根据所述gpu集群的内存容量信息,从优先级最高的优先级队列中,选择多个推理作业请求。
48、在一种可选的实施方式中,所述方法还包括:
49、在执行推理作业时,是按照张量并行和/或流水线并行两种方式执行的。
50、在一种可选的实施方式中,所述方法还包括:将进行降级的推理作业请求的中间状态数据,作为中间推理结果发送给用户终端。
51、本技术实施例第三方面还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现如本技术实施例第二方面所述的大语言模型推理方法的步骤。
52、本技术实施例提供的一种服务器无感知的大语言模型推理系统,所述系统包括:调度器和gpu集群;所述调度器包括:作业分析模块,用于对接收到的目标推理作业请求,进行信息预测,得到预测执行时间,所述预测执行时间表示,执行目标推理作业中的第一次迭代所需要的时间;调度模块,用于根据所述预测执行时间,确定所述目标推理作业请求所需要进入的目标优先级队列,所述目标优先级队列为所述调度模块维护的多个优先级队列中的一个;所述调度模块,还用于从所述多个优先级队列中,选择一个或多个推理作业请求发送给所述gpu集群;所述gpu集群包括:分布式执行模块,用于接收所述调度模块发送的所述一个或多个推理作业请求,执行所述一个或多个推理作业请求所对应的推理作业,得到推理结果;大语言模型通过服务器无感知的方式部署在所述分布式执行模块中;所述内存管理模块,用于管理所述分布式执行模块执行推理作业的过程中产生的中间状态数据。
53、本技术实施例有益效果在于:
54、一方面,本技术利用作业分析模块,用于对接收到的目标推理作业请求,进行信息预测,得到预测执行时间。针对大语言模型每次执行推理作业的时间难以预测的问题,本技术利用相关信息对该推理作业的第一次迭代所需要的时间进行预测,将第一次迭代所需要的时间作为该推理作业的预测执行时间。基于该预测执行时间,对推理作业进行调度,以提高大语言模型作业效率。
55、另一方面,本技术利用多个优先级队列,根据不同的预测执行时间,将推理作业调度至优先级不同的队列中,扩展了经典的多级反馈队列调度策略,将推理作业分为不同优先级,避免了执行时间特别长的推理作业优先处理导致的队头堵塞问题,同时避免了频繁降级带来的开销,进一步提高推理作业执行效率。