一种预测推理系统及方法与流程

未命名 09-22 阅读:56 评论:0


1.本技术涉及机器学习技术领域,尤其涉及一种预测推理系统及方法。


背景技术:

2.预测推理系统中存在预测推理功能和持续学习功能。目前,在预测推理系统的架构中,预测推理功能与持续学习功能共同使用一个图像处理器gpu,图像处理器gpu对于进程间切换支持较差、成本很高,预测推理功能与持续学习功能放在同一个gpu会导致相互争抢gpu资源,会导致训练效率极低。并且会使得预测推理功能大量占用持续学习功能的资源,导致数据吞吐量下降,使得预测推理的效率低下。


技术实现要素:

3.有鉴于此,本技术的目的在于提供一种预测推理系统及方法,提高模型训练的效率以及提高预测推理的效率。
4.为实现上述目的,本技术实施例公开了如下技术方案:
5.第一方面,本技术提供了一种预测推理系统,所述预测推理系统包括持续学习模块、预测推理模块以及数据生成模块,所述持续学习模块和所述预测推理模块运行在不同的图像处理器gpu;
6.所述数据生成模块,用于获取环境交互数据,将所述环境交互数据送入经验回放中转站中进行存储;
7.所述持续学习模块,用于从所述经验回放中转站中获取所述环境交互数据,根据所述环境交互数据确定模型更新权重参数;
8.所述预测推理模块,用于根据所述模型更新权重参数更新预测模型,得到更新后的预测模型,响应于接收预测请求,将所述预测请求中携带的待预测数据输入至所述更新后的预测模型中,得到预测结果。
9.可选的,所述预测请求包括n个进程,所述预测推理系统包括m个图像处理器gpu,所述预测推理模块,还用于调用m个图像处理器gpu处理n个所述进程,其中,m≥2且m为正整数,n≥2且n为正整数,m≤n。
10.可选的,所述进程包括k个线程,k≥2且k为正整数,所述预测推理模块,还包括:
11.确定子模块,用于分别获取k个线程的任务量,根据所述任务量确定系统资源分配量;
12.获取子模块,用于确定达到预设时间后,重新获取k个线程的任务量,得到更新后的k个线程的任务量;
13.确定子模块,还用于根据所述更新后的k个线程的任务量重新确定所述系统资源分配量。
14.可选的,确定子模块,还用于:分别确定更新后的k个线程的任务量与更新前的k个线程的任务量的差值大于平滑阈值,则根据所述更新后的k个线程的任务量重新确定所述
系统资源分配量。
15.可选的,预测推理模块还包括:
16.预处理子模块,用于将所述预测请求中的待预测数据进行预处理。
17.可选的,预测推理模块还包括:
18.进程恢复子模块,用于响应于获取进程错误通知,恢复所述进程错误通知对应的进程。
19.第二方面,本技术还提供一种预测推理方法,所述方法应用于第一方面任一项所述的系统,所述方法包括:获取环境交互数据,将所述环境交互数据送入经验回放中转站中进行存储;
20.从所述经验回放中转站中获取所述环境交互数据,根据所述环境交互数据确定模型更新权重参数;
21.根据所述模型更新权重参数更新预测模型,得到更新后的预测模型,响应于接收预测请求,将所述预测请求中携带的待预测数据输入至所述更新后的预测模型中,得到预测结果。
22.可选的,所述预测请求包括n个进程,所述预测推理系统包括m个图像处理器gpu,所述方法还包括:调用m个gpu处理n个所述进程,其中,m≥2且m为正整数,n≥2且n为正整数,m≤n。
23.可选的,所述进程包括k个线程,k≥2且k为正整数,所述方法还包括:
24.分别获取k个线程的任务量,根据所述任务量确定系统资源分配量;
25.确定达到预设时间后,重新获取k个线程的任务量,得到更新后的k个线程的任务量;
26.根据所述更新后的k个线程的任务量重新确定所述系统资源分配量。
27.可选的,所述根据所述更新后的k个线程的任务量重新确定所述系统资源分配量之前,所述方法还包括:分别确定更新后的k个线程的任务量与更新前的k个线程的任务量的差值大于平滑阈值。
28.可选的,所述方法还包括:获取进程错误通知,恢复所述进程错误通知对应的进程。
29.上述技术方案具有如下有益效果:
30.本技术提供的一种预测推理系统及方法,在一种预测推理系统中,预测推理系统包括持续学习模块、预测推理模块以及数据生成模块,持续学习模块和预测推理模块运行在不同的图像处理器gpu,数据生成模块,用于获取环境交互数据,将环境交互数据送入经验回放中转站中进行存储;持续学习模块,用于从经验回放中转站中获取环境交互数据,根据环境交互数据确定模型更新权重参数;预测推理模块,用于根据模型更新权重参数更新预测模型,得到更新后的预测模型,响应于接收预测请求,将预测请求中携带的待预测数据输入至更新后的预测模型中,得到预测结果。可见,通过上述系统,将预测推理功能与持续学习功能运行在不同的图像处理器gpu,避免了预测推理功能与持续学习功能争抢图像处理器gpu资源,从而提高模型训练以及预测推理的效率。
附图说明
31.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.图1是本技术实施例提供的一种预测推理系统的结构示意图;
33.图2是本技术实施例提供的一种预测推理方法的流程示意图;
34.图3是本技术实施例提供的另一种预测推理方法的流程示意图。
具体实施方式
35.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
36.为便于理解本技术提供的技术方案,下面将结合附图对本技术提供的一种预测推理系统进行说明。参见图1,该图为本技术实施例提供的一种预测推理系统的结构示意图,如图1所示,预测推理系统包括数据生成模块101,持续学习模块102、预测推理模块103。预测推理系统中的续学习模块102和预测推理模块103分别运行在不同的图像处理器gpu。
37.数据生成模块101,用于获取环境交互数据,将环境交互数据送入经验回放中转站中进行存储。
38.可以理解的是,环境交互数据是智能体actor与环境交互后生成的数据,环境交互数据可以包括:态势observation、指令action以及奖励点reward,其中,态势observation是指环境和智能体actor交互过程中,由环境对象发送给智能体actor的数据,也成为引擎层的态势。action是指环境和智能体actor交互过程中,由智能体actor发送至环境对象的数据,reward是环境将该信息传递给智能体actor,actor通过触碰奖励点的动作得到了奖赏,并将此行为记作一次经验。
39.本技术实施例中,数据生成模块在获取到环境交互数据后,会将环境交互数据送入经验回放中转站中进行存储。可以理解的是,经验回放中转站是用于存放数据的存储结构。
40.持续学习模块102,用于从经验回放中转站中获取所述环境交互数据,根据所述环境交互数据确定模型更新权重参数。
41.本技术实施例中,持续学习模块,会从经验回放中转站中获取环境交互数据,并根据环境交互数据进行确定模型更新权重参数,可以理解的是,模型更新权重参数可以是一组权重数据,可以用于更新模型中的权重参数。本技术不限制根据环境交互数据进行确定模型更新权重参数的具体方式,作为一种示例,本技术可以使用强化学习算法进行计算模型更新权重参数。
42.预测推理模块103,用于根据模型更新权重参数更新预测模型,得到更新后的预测模型,响应于接收预测请求,将预测请求中携带的待预测数据输入至所述更新后的预测模型中,得到预测结果。
43.本技术实施例中,预测推理模块,会根据模型更新权重参数进行更新预测模型。然后再接收预测请求,使用更新后的预测模型进行预测待预测数据,以得到预测结果。可以理解的是,本技术中在使用预测模型进行预测待预测数据之前,都会检查是否有模型更新权重参数,如果有,则会先根据模型更新权重参数进行更新预测模型。
44.本技术不限制接收预测请求的具体方式,作为一种示例,预测推理模块可以直接接收客户端发送的远程预测请求,预测推理模块可知支持多种远程预测制请求的协议,包括但不限于grpc/http1/http2/brpc。可以理解的是,预测推理模块可以直接提供在线模型服务,因此可以直接接收客户端发送的远程预测请求。作为另一种示例,客户端还可以通过数据生成模块进行传输预测请求,可以理解的是,本技术中数据生成模块中还存在负载均衡和滚动逻辑的计算能力,使得客户端可以复用数据生成模块的负载均衡和滚动逻辑,间接发送预测请求。
45.在一种预测推理系统中,包括持续学习模块、预测推理模块以及数据生成模块,持续学习模块和预测推理模块运行在不同的图像处理器gpu,数据生成模块,用于获取环境交互数据,将环境交互数据送入经验回放中转站中进行存储;持续学习模块,用于获取环境交互数据,确定模型更新权重参数;预测推理模块,用于根据模型更新权重参数更新预测模型,得到更新后的预测模型,接收预测请求,将预测请求中携带的待预测数据输入至更新后的预测模型中,得到预测结果。可见,通过该系统,将预测推理功能与持续学习功能运行在不同的gpu,使得持续学习功能在确定模型更新权重参数的过程与预测推理功能在进行预测过程中不会争抢图像处理器gpu资源,从而提高模型训练以及预测推理的效率。
46.作为一种可能的实现方式,预测请求包括n个进程,预测推理系统包括m个图像处理器gpu。本技术提供的预测推理模块,还用于调用m个图像处理器gpu处理n个进程,其中,m≥2且m为正整数,n≥2且n为正整数,m≤n。
47.可以理解的是,本技术实施例中,预测请求可以包括多个进程,即预测推理模块需要处理多个进程。本技术还可以同时调用多个图像处理器gpu进行同时处理多个进程,通过多个图像处理器gpu可以更好地实现进程的并行处理,进一步提供预测推理的效率。
48.作为一种可能的实现方式,进程包括k个线程,k≥2且k为正整数,本技术提供的预测推理模块,还包括:
49.确定子模块,用于分别获取k个线程的任务量,根据任务量确定系统资源分配量。
50.本技术实施例中,一个进程中可以并发多个线程,本技术会根据进程中不同线程的任务量进行分配系统资源,可以理解的是,线程的任务量越大,为该线程分配的系统资源越多。线程的任务量越少,为该线程分配的系统资源越少,从而可以保证进程的运行效率,从而提高系统预测推理的效率。
51.获取子模块,用于确定达到预设时间后,重新获取k个线程的任务量,得到更新后的k个线程的任务量。
52.本技术实施例中,会存在监控功能,可以监控不同线程的任务量。在每一次到达预设时间后,就会重新获取获取k个线程的任务量,得到更新后的k个线程的任务量。本技术不限制预设时间的具体数值,作为一种示例,预设时间可以为2分钟。
53.确定子模块,还用于根据更新后的k个线程的任务量重新确定系统资源分配量。
54.可以理解的是,本技术可以每隔预设时间,就自动调整系统资源分配量,以保证系
统资源分配的是合理的,进一步提高进程的运行效率,从而提高系统预测推理的效率。
55.作为一种可能的实现方式,确定子模块,还用于:分别确定更新后的k个线程的任务量与更新前的k个线程的任务量的差值大于平滑阈值,则根据更新后的k个线程的任务量重新确定所述系统资源分配量。
56.可以理解的是,本技术还会设置平滑阈值,该平滑阈值可以表示线程任务量的变化程度的大小,当任务量的变化程度大于平滑阈值时,此时任务的变化程度过大,才会进行重新分配系统资源。当任务量的变化程度小于或等于平滑阈值时,此时任务的变化程度较小,不会进行重新分配系统资源系统。资源重新分配的过程会涉及到模型的上下文切换,这可能会带来一些不稳定,通过设定平滑阈值可以减少资源调度的发生,以保证系统的稳定性。
57.作为一种可能的实现方式,预测推理模块还包括:预处理子模块,用于将所述预测请求中的待预测数据进行预处理。
58.本技术实施例中,在将待预测数据输入预测模型之前,还会先对待预测数据进行预处理。预处理包括对数据的批尺寸进行优化。本技术不限制对待预测数据进行预处理的方法,作为一种示例,可以使用批尺寸调节算法进行预处理。通过对数据的批尺寸进行优化,可以加快模型的优化程度和速度。
59.作为一种可能的实现方式,预测推理模块还包括:进程恢复子模块,用于获取进程错误通知,恢复所述进程错误通知对应的进程。
60.本技术实施例中,当进程出现错误时,会及时生成进程错误通知,本技术会根据进程错误通知,进行及时恢复进程,提高了系统的容错能力。
61.作为一种可能的实现方式,预测推理模块还包括:进程备份子模块,用于备份进程。
62.可以理解的是,本技术可以通过备份进程的执行进度,从而能够快速地恢复进程,提高系统的处理效率,并且通过备份进程也可以使得在资源调度时更加稳定,避免出现错误,使得用户对于调度无感知。
63.作为一种可能的实现方式,预测推理模块还包括:系统优化子模块,用于根据加速线性代数优化xla算法对预测模型进行优化。
64.可以理解的是,本技术可以使用加速线性代数优化xla算法对预测模型进行优化,加速线性代数优化xla算法可以在不改变运算逻辑的前提下加快模型运行速。
65.作为一种可能的实现方式,预测推理模块还包括:线程错误提醒子模块,用于获取线程错误通知。
66.可以理解的是,本技术中一个进程存在多个线程,一个进程可以使用多个子模型进行处理,每个线程可以对应部署一个子模型。当检测到某个子模型出现错误时,则会生成线程错误通知。一个线程错误,该进程中其他线程所对应运行的子模型可以正常运行。
67.作为一种可能的实现方式,预测推理模块还包括:扩容单元,用于响应于获取扩容消息,为所述系统进行扩容。可以理解的是,本技术中,当进程进程无法执行或者预测请求的负载过大时,会自动生成扩容消息,从而可以动态地为系统中的预测推理模块进行扩容,以保证其他进程的正常运行。
68.参见图2,图2为本技术示出的一种预测推理方法的流程示意图。数据生成模块会
将智能体actor和环境互动后获取到的环境交互数据放入经验回放中转站中进行存储。持续学习引擎可以在经验回放中转站进行不放回随机采样,根据采样得到的环境交互数据进行生成模型更新权重参数。模型更新权重参数根据远程预测请求放入到队列中,推送到预测推理模块中。预测推理模块还会将远程预测请求分发到对应的模型中并组成一个训练数据组,在将训练数据组进行预测推理之前进行预处理,预处理之后就可以进行调用预测模型、生成对应的预测结果,并将预测结果进行返回。一个预测推理模型可以同时处理多个预测推断服务,图2仅示出了一个预测推断模块仅同时处理3个预测推断服务的情况。并且,图2中还示出了数据生成模块也可以直接与预测推断模块进行交互,数据生成模块会发送环境的态势给预测推断模块,预测推断模块在进行前向计算后返回给数据生成模块,这样可以完成一个大规模分布式强化学习训练。
69.参见图3,图3是本技术实施例提供的另一种预测推理方法,该方法应用于上述实施例所提供系统,方法包括:
70.s301:获取环境交互数据,将所述环境交互数据送入经验回放中转站中进行存储;
71.s302:从所述经验回放中转站中获取所述环境交互数据,根据所述环境交互数据确定模型更新权重参数;
72.s303:根据所述模型更新权重参数更新预测模型,得到更新后的预测模型,响应于接收预测请求,将所述预测请求中携带的待预测数据输入至所述更新后的预测模型中,得到预测结果。
73.作为一种可能的实现方式,所述预测请求包括n个进程,所述预测推理系统包括m个图像处理器gpu,所述方法还包括:调用m个gpu处理n个所述进程,其中,m≥2且m为正整数,n≥2且n为正整数,m≤n。
74.作为一种可能的实现方式,所述进程包括k个线程,k≥2且k为正整数,所述方法还包括:
75.分别获取k个线程的任务量,根据所述任务量确定系统资源分配量;
76.确定达到预设时间后,重新获取k个线程的任务量,得到更新后的k个线程的任务量;
77.根据所述更新后的k个线程的任务量重新确定所述系统资源分配量。
78.作为一种可能的实现方式,所述根据所述更新后的k个线程的任务量重新确定所述系统资源分配量之前,所述方法还包括:分别确定更新后的k个线程的任务量与更新前的k个线程的任务量的差值大于平滑阈值。
79.作为一种可能的实现方式,所述方法还包括:获取进程错误通知,恢复所述进程错误通知对应的进程。
80.需要说明的是,本技术实施例提供的一种预测推理方法,具有如上任意一个实施例所具有的技术效果,本技术实施例在此并不作赘述。
81.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
82.本领域技术人员可以理解,图所示的流程图仅是本技术的实施方式可以在其中得以实现的一个示例,本技术实施方式的适用范围不受到该流程图任何方面的限制。
83.在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以
通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
84.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
85.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
86.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种预测推理系统,其特征在于,所述预测推理系统包括持续学习模块、预测推理模块以及数据生成模块,所述持续学习模块和所述预测推理模块运行在不同的图像处理器gpu;所述数据生成模块,用于获取环境交互数据,将所述环境交互数据送入经验回放中转站中进行存储;所述持续学习模块,用于从所述经验回放中转站中获取所述环境交互数据,根据所述环境交互数据确定模型更新权重参数;所述预测推理模块,用于根据所述模型更新权重参数更新预测模型,得到更新后的预测模型,响应于接收预测请求,将所述预测请求中携带的待预测数据输入至所述更新后的预测模型中,得到预测结果。2.根据权利要求1所述的系统,其特征在于,所述预测请求包括n个进程,所述预测推理系统包括m个图像处理器gpu,所述预测推理模块,还用于调用m个图像处理器gpu处理n个所述进程,其中,m≥2且m为正整数,n≥2且n为正整数,m≤n。3.根据权利要求2所述的系统,其特征在于,所述进程包括k个线程,k≥2且k为正整数,所述预测推理模块,还包括:确定子模块,用于分别获取k个线程的任务量,根据所述任务量确定系统资源分配量;获取子模块,用于确定达到预设时间后,重新获取k个线程的任务量,得到更新后的k个线程的任务量;所述确定子模块,还用于根据所述更新后的k个线程的任务量重新确定所述系统资源分配量。4.根据权利要求3所述的系统,其特征在于,所述确定子模块,还用于:分别确定更新后的k个线程的任务量与更新前的k个线程的任务量的差值大于平滑阈值,则根据所述更新后的k个线程的任务量重新确定所述系统资源分配量。5.根据权利要求1所述的系统,其特征在于,所述预测推理模块还包括:预处理子模块,用于将所述预测请求中的待预测数据进行预处理。6.根据权利要求1所述的系统,其特征在于,所述预测推理模块还包括:进程恢复子模块,用于获取进程错误通知,恢复所述进程错误通知对应的进程。7.一种预测推理方法,其特征在于,所述方法应用于权利要求1-6任一项所述的系统,所述方法包括:获取环境交互数据,将所述环境交互数据送入经验回放中转站中进行存储;从所述经验回放中转站中获取所述环境交互数据,根据所述环境交互数据确定模型更新权重参数;根据所述模型更新权重参数更新预测模型,得到更新后的预测模型,响应于接收预测请求,将所述预测请求中携带的待预测数据输入至所述更新后的预测模型中,得到预测结果。8.根据权利要求7所述的方法,其特征在于,所述预测请求包括n个进程,所述方法还包括:调用m个图像处理器gpu处理n个所述进程,其中,m≥2且m为正整数,n≥2且n为正整数,m≤n。9.根据权利要求8所述的方法,其特征在于,所述进程包括k个线程,k≥2且k为正整数,
所述方法还包括:分别获取k个线程的任务量,根据所述任务量确定系统资源分配量;确定达到预设时间后,重新获取k个线程的任务量,得到更新后的k个线程的任务量;根据所述更新后的k个线程的任务量重新确定所述系统资源分配量。10.根据权利要求9所述的方法,其特征在于,所述根据所述更新后的k个线程的任务量重新确定所述系统资源分配量之前,所述方法还包括:分别确定更新后的k个线程的任务量与更新前的k个线程的任务量的差值大于平滑阈值。

技术总结
本申请提供的一种预测推理系统及方法。在一种预测推理系统中,包括持续学习模块、预测推理模块以及数据生成模块,持续学习模块和预测推理模块运行在不同的图像处理器GPU,数据生成模块,用于获取环境交互数据,将环境交互数据送入经验回放中转站中进行存储;持续学习模块,用于获取环境交互数据,确定模型更新权重参数;预测推理模块,用于根据模型更新权重参数更新预测模型,得到更新后的预测模型,接收预测请求,将预测请求中携带的待预测数据输入至更新后的预测模型中,得到预测结果。可见,通过该系统,将预测推理功能与持续学习功能运行在不同的GPU,避免了预测推理功能与持续学习功能争抢GPU资源,从而提高模型训练以及预测推理的效率。测推理的效率。测推理的效率。


技术研发人员:张嘉益
受保护的技术使用者:启元世界(深圳)科技有限公司
技术研发日:2023.06.05
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐