本发明涉及人工智能,尤其涉及一种模型推理方法、装置、电子设备和存储介质。
背景技术:
1、人工智能技术快速发展,特别是大型语言模型(large language model,llm)的普及,导致模型参数量大增,需高算力支持。因此,常将模型部署于多显卡或多服务器进行分布式处理,以提升速度和实时性。
2、在分布式处理中,模型切分是常用技术。以张量并行(tensor parallelism, tp)为例,它允许模型各部分在多显卡上并行工作,以提升效率。但tp带来的大量通信操作成为模型推理的性能瓶颈,导致了推理时延的增加。另外,由于显卡需要等待通信完成之后才能进行下一轮计算,频繁的通信操作还会导致显卡的计算资源在模型推理期间存在闲置时段、无法得到有效利用,进一步加剧模型推理的时延问题。
技术实现思路
1、本发明提供一种模型推理方法、装置、电子设备和存储介质,用以解决相关技术中模型推理效率低下的缺陷。
2、本发明提供一种模型推理方法,包括:
3、将输入数据切分为多个子数据;
4、基于模型推理中应用的第一计算节点,对所述多个子数据进行计算,得到每个子数据的第一计算结果;
5、基于所述模型推理中应用的第一通信节点,对一个子数据的第一计算结果进行通信处理,并传输给所述模型推理中应用的第二计算节点进行计算,并在基于所述第二计算节点对接收到一个子数据的第一通信结果进行计算的同时,基于所述第一通信节点对下一子数据的第一计算结果进行通信处理;所述一个子数据的第一通信结果由所述第一通信节点对所述一个子数据的第一计算结果进行通信处理得到;
6、所述第二计算节点与所述第一通信节点部署于不同的硬件资源。
7、根据本发明提供的一种模型推理方法,所述基于模型推理中应用的第一计算节点,对所述多个子数据进行计算,包括:
8、基于模型推理中应用的第一计算节点,顺序对所述多个子数据进行计算;
9、所述基于所述模型推理中应用的第一通信节点,对一个子数据的第一计算结果进行通信处理,包括:
10、在基于所述第一计算节点对一个子数据进行计算的同时,基于所述第一通信节点,对上一子数据的第一计算结果进行通信处理;
11、所述第一计算节点和所述第一通信节点部署于不同的硬件资源。
12、根据本发明提供的一种模型推理方法,所述将输入数据切分为多个子数据,包括:
13、将所述输入数据按照批次切分为多个子数据,每个子数据所对应的模型推理相互独立。
14、根据本发明提供的一种模型推理方法,所述将输入数据切分为多个子数据,包括:
15、将所述输入数据按照数据量切分为多个子数据,每个子数据中包含的词元为完整词元。
16、根据本发明提供的一种模型推理方法,还包括:
17、在基于所述第二计算节点对下一子数据的第一通信结果进行计算的同时,基于所述模型推理中应用的第二通信节点,对一个子数据的第二计算结果进行通信处理,并传输给所述模型推理中应用的第三计算节点进行计算,所述一个子数据的第二计算结果由所述第二计算节点对所述一个子数据的第一通信结果进行计算得到;
18、以及,在基于所述第三计算节点对接收到的一个子数据的第二通信结果进行计算的同时,基于所述第二通信节点对下一子数据的第二计算结果进行通信处理,所述一个子数据的第二通信结果由所述第二通信节点对所述一个子数据的第二计算结果进行通信处理得到;
19、所述第二计算节点和所述第二通信节点部署于不同的硬件资源,所述第三计算节点与所述第二通信节点部署于不同的硬件资源。
20、根据本发明提供的一种模型推理方法,所述第一计算节点和所述第二计算节点部署于流处理器集簇,所述第一通信节点部署于直接存储器读取模块。
21、本发明还提供一种模型推理装置,包括:
22、切分单元,用于将输入数据切分为多个子数据;
23、第一推理单元,用于基于模型推理中应用的第一计算节点,对所述多个子数据进行计算,得到每个子数据的第一计算结果;
24、第二推理单元,用于基于所述模型推理中应用的第一通信节点,对一个子数据的第一计算结果进行通信处理,并传输给所述模型推理中应用的第二计算节点进行计算,并在基于所述第二计算节点对接收到的一个子数据的第一通信结果进行计算的同时,基于所述第一通信节点对下一子数据的第一计算结果进行通信处理;所述一个子数据的第一通信结果由所述第一通信节点对所述一个子数据的第一计算结果进行通信处理得到;
25、所述第二计算节点与所述第一通信节点部署于不同的硬件资源。
26、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述模型推理方法。
27、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述模型推理方法。
28、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述模型推理方法。
29、本发明提供的模型推理方法、装置、电子设备和存储介质,将输入数据切分为多个子数据,从而在基于第二计算节点对接收到一个子数据的第一通信结果进行计算的同时,基于第一通信节点对下一子数据的第一计算结果进行通信处理,实现了通信与计算的并行,由此使得在分布式的模型推理下,通信操作的绝大多数耗时能够被计算耗时隐藏,且尽量减少计算节点被闲置的情况,进而有效提升模型推理效率。
1.一种模型推理方法,其特征在于,包括:
2.根据权利要求1所述的模型推理方法,其特征在于,所述基于模型推理中应用的第一计算节点,对所述多个子数据进行计算,包括:
3.根据权利要求1所述的模型推理方法,其特征在于,所述将输入数据切分为多个子数据,包括:
4.根据权利要求1所述的模型推理方法,其特征在于,所述将输入数据切分为多个子数据,包括:
5.根据权利要求1至4中任一项所述的模型推理方法,其特征在于,所述模型推理方法还包括:
6.根据权利要求1至4中任一项所述的模型推理方法,其特征在于,所述第一计算节点和所述第二计算节点部署于流处理器集簇,所述第一通信节点部署于直接存储器读取模块。
7.一种模型推理装置,其特征在于,包括:
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述模型推理方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述模型推理方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述模型推理方法。
