CN114881236A - 一种模型推理系统、方法及设备 - Google Patents
一种模型推理系统、方法及设备 Download PDFInfo
- Publication number
- CN114881236A CN114881236A CN202210626098.6A CN202210626098A CN114881236A CN 114881236 A CN114881236 A CN 114881236A CN 202210626098 A CN202210626098 A CN 202210626098A CN 114881236 A CN114881236 A CN 114881236A
- Authority
- CN
- China
- Prior art keywords
- model
- message
- queue
- module
- inference
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000008569 process Effects 0.000 claims abstract description 23
- 230000006978 adaptation Effects 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 20
- 238000012544 monitoring process Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 238000007639 printing Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 7
- 238000013136 deep learning model Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种模型推理系统、方法及设备,其中,所述模型推理系统包括:请求管理模块、业务调度模块、模型推理模块、引擎适配模块以及多个推理引擎,其中:所述请求管理模块,用于接收外部请求,并将所述外部请求对应的队列消息存放于消息队列中;所述业务调度模块,用于从所述消息队列中读取所述队列消息,在所述队列消息为模型推理消息的情况下,将所述队列消息传递至所述模型推理模块;所述模型推理模块,用于通过所述引擎适配模块,从所述多个推理引擎中,调用与部署所述模型推理系统的当前设备相匹配的目标推理引擎,以利用所述目标推理引擎对所述队列消息进行处理。本发明提供的技术方案,能够提高模型部署的适配性。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种模型推理系统、方法及设备。
背景技术
随着机器学习技术的不断发展,将机器学习得到的模型进行有效部署,成为了待解决的技术问题之一。目前,可以采用tf-serving(tensorflow serving,张量流服务)的方案,先将训练得到的模型转换为tf-serving支持的格式,然后再部署模型的配置文件。最终,通过启动服务并加载模型,在接收到模型推理请求时,就可以利用已部署的模型来处理该模型推理请求。
然而,现有的这种模型部署方式,对设备本身的硬件有一定的要求。例如,现有的这种模型部署方法,无法应用于不支持GPU(Graphics Processing Unit,图形处理器)的设备中。这就导致现有的模型部署方式的适配性较差。
发明内容
有鉴于此,本发明实施方式提供了一种模型推理系统、方法及设备,能够提高模型部署的适配性。
本发明一方面提供了一种模型推理系统,所述模型推理系统包括:请求管理模块、业务调度模块、模型推理模块、引擎适配模块以及多个推理引擎,其中:所述请求管理模块,用于接收外部请求,并将所述外部请求对应的队列消息存放于消息队列中;所述业务调度模块,用于从所述消息队列中读取所述队列消息,在所述队列消息为模型推理消息的情况下,将所述队列消息传递至所述模型推理模块;所述模型推理模块,用于通过所述引擎适配模块,从所述多个推理引擎中,调用与部署所述模型推理系统的当前设备相匹配的目标推理引擎,以利用所述目标推理引擎对所述队列消息进行处理。
本申请提供的技术方案,在模型推理系统中部署多个层级模块,各个层级模块之间通过协同运作,可以处理外部请求对应的队列消息。通过层级模块的方式进行部署,可以降低整个系统的耦合度,并可以方便地对出现问题的组件进行定位。同时,在模型推理系统中可以部署多个不同的推理引擎,通过引擎适配模块可以选择与当前设备相匹配的目标推理引擎,从而使得模型推理系统可以适用于具备不同硬件资源的设备,进而提高了模型部署的适配性。
在一个实施方式中,所述请求管理模块还用于,识别所述外部请求的请求类型,并将所述外部请求对应的队列消息,存放于与所述请求类型相匹配的消息队列中。
通过不同的消息队列管理不同类型的队列消息,能够提高队列消息的处理效率。
在一个实施方式中,所述业务调度模块中包含与所述消息队列相对应的线程组,所述消息队列中的队列消息由所述线程组内的各个线程并行读取。
每个消息队列可以对应各自的线程组,这样,线程组内的各个线程可以通过并行方式对消息队列中的队列消息进行读取并处理,从而提高了队列消息的处理效率。
在一个实施方式中,所述引擎适配模块提供具备不同功能的各个虚拟接口,各个所述推理引擎中均包括用于实现所述虚拟接口的子类。
引擎适配模块针对不同功能,可以提供对应的虚拟接口,不同的推理引擎可以根据自身的实际情况,实现该虚拟接口的子类,从而使得不同的推理引擎能够统一地接入引擎适配模块,进而使得模型推理系统能够适配于不同的设备。
在一个实施方式中,所述模型推理系统还包括监控模块;其中:所述业务调度模块,还用于在所述队列消息为监控消息的情况下,将所述队列消息传递至所述监控模块;所述监控模块,用于响应所述队列消息,反馈部署所述模型推理系统的当前设备的设备信息;其中,所述设备信息包括所述当前设备的资源使用信息和/或所述模型推理系统中的模型使用信息。
在接收到监控请求时,模型推理系统能够对该监控请求对应的监控消息进行处理,并反馈当前设备的各项设备信息,使得管理者能够对当前设备的状态以及设备中部署的模型进行确认和调试。
在一个实施方式中,所述模型推理系统还包括模型管理模块;其中:所述业务调度模块,还用于在所述队列消息为模型管理消息的情况下,将所述队列消息传递至所述模型管理模块;所述模型管理模块,用于识别所述队列消息中的模型管理类型,并针对目标模型,执行与所述模型管理类型相匹配的操作。
在接收到模型管理请求时,模型推理系统可以对模型管理消息进行处理。通过模型管理请求,可以灵活地对模型推理系统中部署的模型进行加载、卸载、更新、加解密等操作,从而提高了系统整体的便利性。
在一个实施方式中,所述模型推理系统还包括服务配置模块;其中:所述业务调度模块,还用于在所述队列消息为服务配置消息的情况下,将所述队列消息传递至所述服务配置模块;所述服务配置模块,用于根据所述服务配置消息,更新所述模型推理系统中的全局配置信息。
在一个实施方式中,所述服务配置模块在更新所述全局配置信息时,实现以下至少一种功能:设置日志打印等级,以使得所述模型推理系统打印出与所述日志打印等级相匹配的日志信息;设置中间结果保存策略,所述中间结果保存策略用于限定在对所述队列消息进行处理的过程中,产生的中间结果的保存方式;在所述当前设备支持多个推理引擎时,设置各个推理引擎的使用优先级。
通过处理服务配置消息,可以设置模型推理系统的全局配置信息。通过全局配置信息,可以灵活调节日志打印等级,设置中间结果的保存策略,以及设置各个推理引擎的优先级。通过这种方式,能够提高系统配置的灵活性。
本发明另一方面还提供一种应用于上述模型推理系统中的模型推理方法,所述方法包括:接收外部请求,并将所述外部请求对应的队列消息存放于消息队列中;从所述消息队列中读取所述队列消息,在所述队列消息为模型推理消息的情况下,从多个推理引擎中,调用与部署所述模型推理系统的当前设备相匹配的目标推理引擎;通过所述目标推理引擎对所述队列消息进行处理。
本发明另一方面还提供一种模型推理设备,所述模型推理设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的模型推理方法。
本发明另一方面还提供一种计算机存储介质,所述计算机存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的模型推理方法。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明一个实施方式中模型推理系统的结构示意图;
图2示出了本发明一个实施方式中模型推理方法的步骤示意图;
图3示出了本发明一个实施方式中模型推理设备的结构示意图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
本申请提供的模型推理系统,可以部署于不同的设备中,该设备可以根据应用场景的不同而不同。例如,该模型推理系统可以部署于硬件配置较高的服务器中,也可以部署于硬件配置相对较低的边缘设备中。具体地,在服务器中,可能会具备数据处理能力较高的GPU,但是在边缘设备中,可能并没有安装GPU。本申请提供的模型推理系统,能够适配于硬件配置差异较大的不同设备。
请参阅图1,本申请一个实施方式提供的模型推理系统,可以包括请求管理模块、业务调度模块、模型推理模块、引擎适配模块以及多个推理引擎。
在实际应用中,请求管理模块可以通过远程过程调用(Remote Procedure Call,RPC)的方式来实现。在请求管理模块中,可以预先通过RestFul的方式规定接口规范。此外,在请求管理模块中,还可以设定支持的网络请求协议。例如,请求管理模块可以支持HTTP(Hyper Text Transfer Protocol,超文本传输协议)。当接收到符合接口规范的HTTP请求时,请求管理模块就可以对该HTTP请求进行处理。当然,在实际应用中,请求管理模块还可以支持更多的网络请求协议,这里就不一一例举了。
为了保证数据传输的一致性,在请求管理模块中还可以设置数据序列化和反序列化的规范。例如,在请求管理模块中,可以设置传输的数据都要符合JSON(JavaScriptObject Notation,JS对象简谱)格式,在提高数据传输效率的同时,能够保证数据传输的一致性。
需要说明的是,请求管理模块还可以采用其它更多的方式来实现。例如,请求管理模块可以部署为一个网关,通过该网关可以接收外部发来的网络请求,还可以向网络请求的发起方反馈对应的响应内容。
在一个实施方式中,请求管理模块可以接收外部请求,并将该外部请求对应的队列消息放置于消息队列中。具体地,在模型推理系统中,可以部署多个不同的消息队列。不同的消息队列,对应的外部请求的请求类型也可以不同。请求管理模块在接收到外部请求时,可以识别该外部请求的请求类型,并将该外部请求对应的队列消息,存放于与所述请求类型相匹配的消息队列中。
在实际应用中,外部请求可以根据请求类型的不同进行划分。例如,外部请求可以包括模型推理请求、监控请求、模型管理请求以及服务配置请求等。
在本实施方式中,业务调度模块可以读取各个消息队列中的队列消息,并根据队列消息的类型,有选择地将队列消息传递至后续的模块。具体地,在业务调度模块中,可以包含与各个消息队列相对应的线程组。其中,每个消息队列都具备各自的线程组,在从消息队列中读取队列消息时,如果队列消息有多个,可以通过线程组中的各个线程并行读取和处理,从而提高队列消息的处理效率。
在一个实施方式中,若队列消息为模型推理消息,那么业务调度模块可以将该队列消息传递至模型推理模块。该模型推理模块可以按照预先设置的处理流程,对模型推理消息进行处理。
举例来说,若模型推理消息中携带待处理的图像,而模型推理模块中预先设定的处理流程是前处理、调用推理引擎和后处理,那么模型推理模块就可以先对该待处理的图像进行缩放、归一化、裁剪等前处理过程。然后再通过调用与图像处理相关的推理引擎,对前处理后的图像进行目标识别等操作。最终,针对推理引擎处理得到的结果,模型推理模块可以进行识别框坐标解析、阈值过滤等后处理过程。
在本实施方式中,在调用推理引擎对模型推理消息进行处理时,模型推理模块需要通过引擎适配模块,从多个推理引擎中,调用与部署所述模型推理系统的当前设备相匹配的目标推理引擎,从而利用所述目标推理引擎对该模型推理消息进行处理。
在模型推理系统中,引擎适配模块可以提供具备不同功能的各个虚拟接口,这些虚拟接口可以是采用虚方法实现的父类。各个不同的推理引擎通过实现该虚拟接口的子类,便可以接入到引擎适配模块中。
举例来说,不同的推理引擎可以是GPU引擎、CPU引擎、NPU(Neural networkProcessing Unit,神经网络处理器)引擎等。当然,在实际应用中,不同类型的引擎还可以有具体的实现方式。
在实际应用中,可以根据部署模型推理系统的当前设备的硬件配置,有选择地选用其中的一个推理引擎来对队列消息进行处理。具体地,若模型推理系统部署于服务器中,而该服务器上安装了GPU,那么可以调用GPU引擎来处理队列消息。而如果模型推理系统部署于边缘设备中,边缘设备通常没有安装GPU,那么可以调用CPU引擎来处理队列消息。
可见,通过引擎适配模块可以选择与当前设备相匹配的目标推理引擎,从而使得模型推理系统可以适用于具备不同硬件资源的设备,进而提高了模型部署的适配性。
请参阅图1,在一个实施方式中,模型推理系统还可以包括监控模块。具体地,业务调度模块还用于在队列消息为监控消息的情况下,将所述队列消息传递至所述监控模块。对应的,所述监控模块,用于响应所述队列消息,反馈部署所述模型推理系统的当前设备的设备信息;其中,所述设备信息包括所述当前设备的资源使用信息和/或所述模型推理系统中的模型使用信息。
具体地,监控消息通常需要获取与模型推理系统相关的软硬件信息,从而便于运维人员监测系统当前的运行状态。其中,设备的资源使用信息可以包括CPU、GPU以及RAM等硬件的使用信息,模型推理系统的模型使用信息则可以包括模型状态、模型推理时延等信息。
在本申请实施方式中的模型,可以指完成训练的深度学习模型,这些深度学习模型通过离线训练的方式完成训练后,可以部署到模型推理系统中,后续在调用推理引擎处理队列消息时,可以通过加载的深度学习模型对队列消息进行处理。
在一个实施方式中,模型推理系统中还可以包括模型管理模块,该模型管理模块可以对部署的各个深度学习模型进行管理。具体地,业务调度模块在所述队列消息为模型管理消息的情况下,可以将所述队列消息传递至所述模型管理模块。所述模型管理模块,用于识别所述队列消息中的模型管理类型,并针对目标模型,执行与所述模型管理类型相匹配的操作。
具体地,模型管理类型与对应执行的操作可以保持一致。例如,针对深度学习模型执行的操作可以包括加载、卸载、更新、加解密等操作。模型管理模块在接收到实际的模型管理消息后,可以执行与模型管理类型相匹配的操作。通过模型管理请求,可以灵活地对模型推理系统中部署的模型进行加载、卸载、更新、加解密等操作,从而提高了系统整体的便利性。
在一个实施方式中,模型推理系统中还可以包括服务配置模块。业务调度模块在所述队列消息为服务配置消息的情况下,可以将所述队列消息传递至所述服务配置模块。所述服务配置模块,可以根据所述服务配置消息,更新所述模型推理系统中的全局配置信息。
具体地,全局配置信息可以包括日志打印等级、中间结果保存策略以及推理引擎的使用优先级等。服务配置模块在更新全局配置信息时,可以实现以下一种或者多种功能:
设置日志打印等级,以使得所述模型推理系统打印出与所述日志打印等级相匹配的日志信息。
设置中间结果保存策略,所述中间结果保存策略用于限定在对所述队列消息进行处理的过程中,产生的中间结果的保存方式。
在所述当前设备支持多个推理引擎时,设置各个推理引擎的使用优先级。
举例来说,日志打印等级可以包括调试(DEBUG)、正常(INFO)、警告(WARNING)、错误(ERROR)四个等级,设置不同的等级,打印的信息量不同。例如,设置为DEBUG时会把所有的日志进行输出,设置为INFO时会打印INFO、WARNING、ERROR的日志信息,设置为WARNING时会打印WARNING、ERROR日志信息,设置为ERROR只打印ERROR信息。
中间结果是指在前处理、模型推理和后处理的流程中产生的结果。在实际应用中,每个步骤的一些中间结果可以进行保存,是否保存中间结果,可以通过中间结果保存策略来实现。例如,该策略可以包括:是否保存原图、是否保存归一化后的图片、检测到目标后是否在原图中画出识别框等。
若当前设备中同时具备CPU和GPU,那么可以通过将GPU引擎的优先级设置为高于CPU引擎的优先级,这样,在当前设备中可以优先使用GPU引擎来处理队列消息,从而加速推理速度,并且针对不同的设备,可以选择合适的推理引擎。
本申请提供的技术方案,在模型推理系统中部署多个层级模块,各个层级模块之间通过协同运作,可以处理外部请求对应的队列消息。通过层级模块的方式进行部署,可以降低整个系统的耦合度,并可以方便地对出现问题的组件进行定位。同时,在模型推理系统中可以部署多个不同的推理引擎,通过引擎适配模块可以选择与当前设备相匹配的目标推理引擎,从而使得模型推理系统可以适用于具备不同硬件资源的设备,进而提高了模型部署的适配性。
请参阅图2,本申请还提供一种应用于上述模型推理系统中的模型推理方法,所述方法包括:
S1:接收外部请求,并将所述外部请求对应的队列消息存放于消息队列中。
S2:从所述消息队列中读取所述队列消息,在所述队列消息为模型推理消息的情况下,从多个推理引擎中,调用与部署所述模型推理系统的当前设备相匹配的目标推理引擎。
S3:通过所述目标推理引擎对所述队列消息进行处理。
请参阅图3,本申请还提供一种模型推理设备,所述模型推理设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的模型推理方法。
本申请还提供一种计算机存储介质,所述计算机存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的模型推理方法。
在本申请中,处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本领域技术人员可以理解,实现上述实施方式方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施方式的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种模型推理系统,其特征在于,所述模型推理系统包括:请求管理模块、业务调度模块、模型推理模块、引擎适配模块以及多个推理引擎,其中:
所述请求管理模块,用于接收外部请求,并将所述外部请求对应的队列消息存放于消息队列中;
所述业务调度模块,用于从所述消息队列中读取所述队列消息,在所述队列消息为模型推理消息的情况下,将所述队列消息传递至所述模型推理模块;
所述模型推理模块,用于通过所述引擎适配模块,从所述多个推理引擎中,调用与部署所述模型推理系统的当前设备相匹配的目标推理引擎,以利用所述目标推理引擎对所述队列消息进行处理。
2.根据权利要求1所述的模型推理系统,其特征在于,所述请求管理模块还用于,识别所述外部请求的请求类型,并将所述外部请求对应的队列消息,存放于与所述请求类型相匹配的消息队列中。
3.根据权利要求1或2所述的模型推理系统,其特征在于,所述业务调度模块中包含与所述消息队列相对应的线程组,所述消息队列中的队列消息由所述线程组内的各个线程并行读取。
4.根据权利要求1所述的模型推理系统,其特征在于,所述引擎适配模块提供具备不同功能的各个虚拟接口,各个所述推理引擎中均包括用于实现所述虚拟接口的子类。
5.根据权利要求1所述的模型推理系统,其特征在于,所述模型推理系统还包括监控模块;其中:
所述业务调度模块,还用于在所述队列消息为监控消息的情况下,将所述队列消息传递至所述监控模块;
所述监控模块,用于响应所述队列消息,反馈部署所述模型推理系统的当前设备的设备信息;其中,所述设备信息包括所述当前设备的资源使用信息和/或所述模型推理系统中的模型使用信息。
6.根据权利要求1所述的模型推理系统,其特征在于,所述模型推理系统还包括模型管理模块;其中:
所述业务调度模块,还用于在所述队列消息为模型管理消息的情况下,将所述队列消息传递至所述模型管理模块;
所述模型管理模块,用于识别所述队列消息中的模型管理类型,并针对目标模型,执行与所述模型管理类型相匹配的操作。
7.根据权利要求1所述的模型推理系统,其特征在于,所述模型推理系统还包括服务配置模块;其中:
所述业务调度模块,还用于在所述队列消息为服务配置消息的情况下,将所述队列消息传递至所述服务配置模块;
所述服务配置模块,用于根据所述服务配置消息,更新所述模型推理系统中的全局配置信息。
8.根据权利要求7所述的模型推理系统,其特征在于,所述服务配置模块在更新所述全局配置信息时,实现以下至少一种功能:
设置日志打印等级,以使得所述模型推理系统打印出与所述日志打印等级相匹配的日志信息;
设置中间结果保存策略,所述中间结果保存策略用于限定在对所述队列消息进行处理的过程中,产生的中间结果的保存方式;
在所述当前设备支持多个推理引擎时,设置各个推理引擎的使用优先级。
9.一种应用于权利要求1至8中任一所述的模型推理系统中的模型推理方法,其特征在于,所述方法包括:
接收外部请求,并将所述外部请求对应的队列消息存放于消息队列中;
从所述消息队列中读取所述队列消息,在所述队列消息为模型推理消息的情况下,从多个推理引擎中,调用与部署所述模型推理系统的当前设备相匹配的目标推理引擎;
通过所述目标推理引擎对所述队列消息进行处理。
10.一种模型推理设备,其特征在于,所述模型推理设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求9所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210626098.6A CN114881236A (zh) | 2022-06-02 | 2022-06-02 | 一种模型推理系统、方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210626098.6A CN114881236A (zh) | 2022-06-02 | 2022-06-02 | 一种模型推理系统、方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114881236A true CN114881236A (zh) | 2022-08-09 |
Family
ID=82678803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210626098.6A Pending CN114881236A (zh) | 2022-06-02 | 2022-06-02 | 一种模型推理系统、方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114881236A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116702907A (zh) * | 2023-08-02 | 2023-09-05 | 北京大学 | 一种服务器无感知的大语言模型推理系统、方法和设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1589442A (zh) * | 2001-10-05 | 2005-03-02 | Bea系统公司 | 用于与多重调度池进行消息接发的应用服务器的系统 |
CN109271265A (zh) * | 2018-09-29 | 2019-01-25 | 平安科技(深圳)有限公司 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
CN111309466A (zh) * | 2020-02-22 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种基于云平台多线程调度的方法、系统、设备及介质 |
CN111738446A (zh) * | 2020-06-12 | 2020-10-02 | 北京百度网讯科技有限公司 | 深度学习推理引擎的调度方法、装置、设备和介质 |
CN111857734A (zh) * | 2020-06-19 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种分布式深度学习模型平台部署及使用方法 |
CN112270410A (zh) * | 2020-10-19 | 2021-01-26 | 北京达佳互联信息技术有限公司 | 在线推理服务系统、提供在线推理服务的方法及装置 |
CN113919490A (zh) * | 2020-07-10 | 2022-01-11 | 阿里巴巴集团控股有限公司 | 推理引擎的适配方法、装置及电子设备 |
CN114047921A (zh) * | 2021-11-15 | 2022-02-15 | 北京百度网讯科技有限公司 | 一种推理引擎开发平台、方法、电子设备及存储介质 |
-
2022
- 2022-06-02 CN CN202210626098.6A patent/CN114881236A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1589442A (zh) * | 2001-10-05 | 2005-03-02 | Bea系统公司 | 用于与多重调度池进行消息接发的应用服务器的系统 |
CN109271265A (zh) * | 2018-09-29 | 2019-01-25 | 平安科技(深圳)有限公司 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
CN111309466A (zh) * | 2020-02-22 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种基于云平台多线程调度的方法、系统、设备及介质 |
CN111738446A (zh) * | 2020-06-12 | 2020-10-02 | 北京百度网讯科技有限公司 | 深度学习推理引擎的调度方法、装置、设备和介质 |
CN111857734A (zh) * | 2020-06-19 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种分布式深度学习模型平台部署及使用方法 |
CN113919490A (zh) * | 2020-07-10 | 2022-01-11 | 阿里巴巴集团控股有限公司 | 推理引擎的适配方法、装置及电子设备 |
CN112270410A (zh) * | 2020-10-19 | 2021-01-26 | 北京达佳互联信息技术有限公司 | 在线推理服务系统、提供在线推理服务的方法及装置 |
CN114047921A (zh) * | 2021-11-15 | 2022-02-15 | 北京百度网讯科技有限公司 | 一种推理引擎开发平台、方法、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
KINDA: "tf serving 基础概念", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/496136245?UTM_ID=0》, 10 April 2022 (2022-04-10), pages 1 * |
NIEMINGMING: "tensorflow serving入门笔记", 《HTTPS://BLOG.CSDN.NET/NIEMINGMING/ARTICLE/DETAILS/118605434》, 9 July 2021 (2021-07-09), pages 1 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116702907A (zh) * | 2023-08-02 | 2023-09-05 | 北京大学 | 一种服务器无感知的大语言模型推理系统、方法和设备 |
CN116702907B (zh) * | 2023-08-02 | 2023-11-14 | 北京大学 | 一种服务器无感知的大语言模型推理系统、方法和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11616840B2 (en) | Method, apparatus and system for processing unmanned vehicle data, and storage medium | |
CN108566290B (zh) | 服务配置管理方法、系统、存储介质和服务器 | |
US20190109920A1 (en) | Browser resource pre-pulling method, terminal and storage medium | |
US20040080767A1 (en) | System for processing print jobs | |
CN107919987B (zh) | 一种微服务云部署的实现方法 | |
CN109218054B (zh) | 终端动态配置、相应服务器实现方法、装置和存储介质 | |
CN107402863B (zh) | 一种用于通过日志系统处理业务系统的日志的方法与设备 | |
CN112463290A (zh) | 动态调整计算容器的数量的方法、系统、装置和存储介质 | |
CN108900627B (zh) | 一种网络请求方法、终端装置及存储介质 | |
CN114881236A (zh) | 一种模型推理系统、方法及设备 | |
CN111371585A (zh) | 用于cdn节点的配置方法及装置 | |
CN113452774A (zh) | 消息推送方法、装置、设备及存储介质 | |
CN110333916B (zh) | 请求消息处理方法、装置、计算机系统及可读存储介质 | |
CN113342503B (zh) | 实时进度反馈方法、装置、设备及存储介质 | |
CN112732560B (zh) | 文件描述符泄露风险的检测方法及装置 | |
CN111813529B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109005465B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN109460215B (zh) | 应用控制方法及装置 | |
CN113127179A (zh) | 资源调度方法、装置、电子设备及计算机可读介质 | |
US20190109886A1 (en) | Selected data exchange | |
CN111352810A (zh) | 基于多进程的性能监控方法及装置、计算设备 | |
CN115378937A (zh) | 任务的分布式并发方法、装置、设备和可读存储介质 | |
CN111190607B (zh) | 任务插件处理方法和装置、任务调度服务器及存储介质 | |
CN109034768B (zh) | 财务调拨方法、装置、计算机设备和存储介质 | |
CN112612578A (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 |