CN113835828A - Ai推理方法、系统、电子设备、可读存储介质及产品 - Google Patents
Ai推理方法、系统、电子设备、可读存储介质及产品 Download PDFInfo
- Publication number
- CN113835828A CN113835828A CN202110970964.9A CN202110970964A CN113835828A CN 113835828 A CN113835828 A CN 113835828A CN 202110970964 A CN202110970964 A CN 202110970964A CN 113835828 A CN113835828 A CN 113835828A
- Authority
- CN
- China
- Prior art keywords
- model
- inference
- combined
- request
- service
- 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 58
- 238000003860 storage Methods 0.000 title claims abstract description 26
- 238000009826 distribution Methods 0.000 claims abstract description 244
- 230000004044 response Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 claims 1
- 239000000126 substance Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 7
- 238000013145 classification model Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005021 gait Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (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)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了AI推理方法、系统、电子设备、可读存储介质及产品,所述AI推理方法包括:接收客户端发送的AI组合推理服务请求,其中,所述AI组合推理服务请求包括至少一个AI组合推理需求;生成各所述AI组合推理需求对应的第一模型组合推理请求;对于每个所述第一模型组合推理请求分别执行:将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果;将各所述模型组合推理结果反馈至所述客户端。本申请解决了现有技术中客户端请求AI推理服务的效率低的技术问题。
Description
技术领域
本申请涉及模型部署技术领域,尤其涉及一种AI推理方法、系统、电子设备、可读存储介质及产品。
背景技术
随着人工智能技术的不断发展,AI模型的应用也越来越广泛,而在构建好AI模型后,通常需要通过特定的方法部署AI模型,以便客户端请求AI推理服务,目前,服务器通常通过tfserving的方式部署AI推理服务,但是,tfserving在部署时仅能对外暴露一个http服务,若客户端需要多个AI模型进行组合推理从而得到最终结果,则需要在业务层写很多的代码且进行多次http服务调用,客户端请求AI推理服务的效率较低。
发明内容
本申请的主要目的在于提供一种AI推理方法、系统、电子设备、可读存储介质及产品,旨在解决现有技术中客户端请求AI推理服务的效率低的技术问题。
为实现上述目的,本申请提供一种AI推理方法,所述AI推理方法包括:
接收客户端发送的AI组合推理服务请求,其中,所述AI组合推理服务请求包括至少一个AI组合推理需求;生成各所述AI组合推理需求对应的第一模型组合推理请求;
对于每个所述第一模型组合推理请求分别执行:将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果;
将各所述模型组合推理结果反馈至所述客户端。
可选地,所述分发容器序列包括至少一个依序排列的分发容器,所述将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果的步骤包括:
通过AI服务依序调用模块将所述第一模型组合推理请求传递至所述分发容器序列中排序第一的分发容器,其中,所述第一模型组合推理请求包括跟踪标识和待推理样本;
通过所述排序第一的分发容器调用对应的AI模型对所述待推理样本进行模型推理,得到模型推理结果;
依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器,向所述下一分发容器传递携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理并生成新的模型推理结果,直至没有匹配到下一分发容器时,将最新的模型推理结果作为所述模型组合推理结果。
可选地,所述依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器,向所述下一分发容器传递携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理并生成新的模型推理结果,直至没有匹配到下一分发容器时,将最新的模型推理结果作为所述模型组合推理结果的步骤包括:
依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器;
若匹配失败,则将最新的模型推理结果作为所述模型组合推理结果;
若匹配成功,则生成携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求;并且将所述第二模型组合推理请求传递至所述下一分发容器,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理,获得新的模型推理结果,并返回执行步骤:依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器。
可选地,通过分发容器调用对应的AI模型进行模型推理,得到模型推理结果的步骤包括:
将所述第一模型组合推理请求中的待推理样本或者所述第二模型组合推理请求中的模型推理结果由所述分发容器转发至所述分发容器对应的AI模型;
利用所述分发容器对应的AI模型,对所述待推理样本或者所述模型推理结果进行模型推理,得到当前AI模型的模型推理结果并反馈至所述分发容器。
可选地,所述将各所述模型组合推理结果反馈至所述客户端的步骤包括:
将各所述分发容器序列反馈的模型组合推理结果整合为服务请求响应结果;
将所述服务请求响应结果反馈至所述客户端。
可选地,在所述生成各所述AI组合推理需求对应的第一模型组合推理请求的步骤之前,所述AI推理方法还包括:
依据所述AI组合推理服务请求中AI组合推理需求信息,生成对应的模块标识;
依据所述模块标识,查询是否存在所述AI组合推理服务请求对应的AI服务依序调用模块;
若存在,则将所述AI组合推理服务请求传递至所述AI服务依序调用模块;
若不存在,则部署所述AI组合推理服务请求对应的AI组合推理服务,并将所述AI组合推理服务请求传递至所述AI组合推理服务中的AI服务依序调用模块。
本申请还提供一种AI推理系统,所述AI推理系统包括服务层、应用层以及单体AI服务层,其中,
所述服务层,至少部署一AI服务依序调用模块,其中,所述AI服务依序调用模块用于生成客户端发送的AI组合推理服务请求中各AI组合推理需求对应的第一模型组合推理请求,以及将分别响应于各所述第一模型组合推理请求生成的模型组合推理结果反馈至所述客户端;
所述应用层,至少部署一分发容器序列,其中,所述分发容器序列用于接收所述AI服务依序调用模块传递的第一模型组合推理请求,并通过调用对应的各AI模型进行模型推理,响应生成各所述第一模型组合推理请求对应的模型组合推理结果;
所述单体AI服务层,至少部署一所述AI模型,其中,所述AI模型用于进行模型推理。
可选地,所述应用层包括注册中心、容器分配模块以及构建中心,其中,
所述注册中心,用于注册AI组合推理服务以及注册所述AI服务依序调用模块;
所述容器分配模块,用于为各所述AI模型依序分配分发容器,形成各所述AI模型对应的分发容器序列;
所述构建中心,用于将所述单体AI服务层中各AI模型文件打包为具备向外服务功能的镜像。
可选地,所述AI服务依序调用模块包括:
接收生成单元,用于接收客户端发送的AI组合推理服务请求,其中,所述AI组合推理服务请求包括至少一个AI组合推理需求;生成各所述AI组合推理需求对应的第一模型组合推理请求;
请求调用单元,用于对于每个所述第一模型组合推理请求分别执行:将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果;
反馈单元,用于将各所述模型组合推理结果反馈至所述客户端。
可选地,所述分发容器序列包括至少一个依序排列的分发容器,所述请求调用单元还用于:
通过AI服务依序调用模块将所述第一模型组合推理请求传递至所述分发容器序列中排序第一的分发容器,其中,所述第一模型组合推理请求包括跟踪标识和待推理样本;
通过所述排序第一的分发容器调用对应的AI模型对所述待推理样本进行模型推理,得到模型推理结果;
依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器,向所述下一分发容器传递携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理并生成新的模型推理结果,直至没有匹配到下一分发容器时,将最新的模型推理结果作为所述模型组合推理结果。
可选地,所述请求调用单元还用于:
依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器;
若匹配失败,则将最新的模型推理结果作为所述模型组合推理结果;
若匹配成功,则生成携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求;并且将所述第二模型组合推理请求传递至所述下一分发容器,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理,获得新的模型推理结果,并返回执行步骤:依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器。
可选地,所述请求调用单元还用于:
将所述第一模型组合推理请求中的待推理样本或者所述第二模型组合推理请求中的模型推理结果由所述分发容器转发至所述分发容器对应的AI模型;
利用所述分发容器对应的AI模型,对所述待推理样本或者所述模型推理结果进行模型推理,得到当前AI模型的模型推理结果并反馈至所述分发容器。
可选地,所述反馈单元还用于:
将各所述分发容器序列反馈的模型组合推理结果整合为服务请求响应结果;
将所述服务请求响应结果反馈至所述客户端。
可选地,所述AI推理系统还包括:
模块标识生成单元,用于依据所述AI组合推理服务请求中AI组合推理需求信息,生成对应的模块标识;
查询单元,用于依据所述模块标识,查询是否存在所述AI组合推理服务请求对应的AI服务依序调用模块;若存在,则将所述AI组合推理服务请求传递至所述AI服务依序调用模块;若不存在,则部署所述AI组合推理服务请求对应的AI组合推理服务,并将所述AI组合推理服务请求传递至所述AI组合推理服务中的AI服务依序调用模块。
本申请还提供一种电子设备,所述电子设备为实体设备,所述电子设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述AI推理方法的程序,所述AI推理方法的程序被处理器执行时可实现如上述的AI推理方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有实现AI推理方法的程序,所述AI推理方法的程序被处理器执行时实现如上述的AI推理方法的步骤。
本申请还提供一种产品,所述产品为计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的AI推理方法的步骤。
本申请提供了一种AI推理方法、系统、电子设备、可读存储介质及产品,也即,本申请首先接收客户端发送的AI组合推理服务请求,其中,所述AI组合推理服务请求包括至少一个AI组合推理需求;生成各所述AI组合推理需求对应的第一模型组合推理请求,进而对于每个所述第一模型组合推理请求分别执行:将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果,进而实现了依据分发容器序列,分别调用各AI模型进行组合推理的目的,进而将各所述模型组合推理结果反馈至所述客户端,实现了只响应一次客户端的请求,即完成了对客户端的AI模型组合推理服务,也即,客户端在需要多个AI模型进行组合推理时,只需要进行一次模型推理服务的调用,即可完成AI组合推理服务的请求,进而克服了tfserving在部署时仅能对外暴露一个http服务,若客户端需要多个AI模型进行组合推理从而得到最终结果,则需要在业务层写很多的代码且进行多次http服务调用,客户端请求AI推理服务的效率较低的技术缺陷,提升了客户端请求AI推理服务的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请AI推理方法第一实施例的流程示意图;
图2为本申请AI推理方法第二实施例的流程示意图;
图3为本申请AI推理方法中进行AI推理的请求生命周期图;
图4为本申请AI推理方法中所述AI推理系统的系统框架图;
图5为本申请实施例中AI推理方法涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
本申请实施例提供一种AI推理方法,应用于数据发送方,在本申请AI推理方法的第一实施例中,参照图1,所述AI推理方法包括:
步骤S10,接收客户端发送的AI组合推理服务请求,其中,所述AI组合推理服务请求包括至少一个AI组合推理需求;生成各所述AI组合推理需求对应的第一模型组合推理请求;
步骤S20,对于每个所述第一模型组合推理请求分别执行:将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果;
步骤S30,将各所述模型组合推理结果反馈至所述客户端。
本申请实施例在接收客户端发送的AI组合推理服务请求之后,可依据AI组合推理服务请求中至少一个AI组合推理需求,生成至少一个AI组合推理请求,进而可依据各AI组合推理请求对应的分发容器序列,分别调用对应的至少一个AI模型进行模型组合推理,得到各第一模型组合推理请求对应的模型组合推理结果,进而将各模型组合推理结果反馈至客户端,可实现只响应一次客户端的请求,即完成对客户端的AI模型组合推理服务,也即,客户端在需要多个AI模型进行组合推理时,只需要进行一次模型推理服务的调用,即可完成AI组合推理服务的请求,而非客户端向服务方发送多个请求,以分别直接调用对应的AI模型进行模型推理,进而实现模型组合推理,所以可提升客户端请求AI推理服务的效率。
在本实施例中,需要说明的是,所述AI推理方法应用于AI推理系统,其中,所述AI推理系统中部署有AI服务依序调用模块,所述AI服务依序调用模块为AI定制化的线性通信模型,用于为客户端提供定制化的AI组合推理的服务,客户端向AI服务依序调用模块发送一次AI组合推理服务请求,AI服务依序调用模块即可反馈最终的模型推理结果,例如,假设客户端在对人脸图像进行图像识别时,目前需要依次调用特征提取模型以及分类模型进行人脸识别,进而需要向服务器发送2次http服务请求,以分别调用特征提取模型以及分类模型进行模型推理,从而得到最终的人脸识别结果,而在本申请实施例中,客户端只需向AI服务依序调用模块发送一次http服务,AI服务依序调用模块即可自动的依序调用特征提取模型以及分类模型,得到最终的人脸识别结果,并反馈至客户端。
具体实施中,步骤S10,接收客户端发送的AI组合推理服务请求,所述AI组合推理服务请求包括至少一个AI组合推理需求;生成各所述AI组合推理需求对应的第一模型组合推理请求,具体包括:通过AI服务依序调用模块接收客服端发送的AI组合推理服务请求,并对所述AI组合推理服务请求进行解析,得到至少一个AI组合推理需求,并为各所述AI组合推理需求生成对应的第一模型组合推理请求,其中,所述AI组合推理需求为调用至少一个AI模型进行模型推理而生成一个最终模型预测结果的需求,例如,假设客户端同时需求对人脸图像进行人脸识别以及虹膜识别,则人脸识别为一AI组合推理需求,进行人脸识别时需要调用人脸特征提取模型以及人脸特征分类模型进行模型推理,最终生成人脸识别结果,而虹膜识别为另一AI组合推理需求,进行虹膜识别时需要调用虹膜特征提取模型以及虹膜特征分类模型进行模型推理,最终生成虹膜识别结果。
其中,所述为各所述AI组合推理需求生成对应的第一模型组合推理请求的步骤包括:
获取所述AI组合推理服务请求中的待推理样本,并依据所述AI组合推理需求所需要调用的AI模型以及调用AI模型的顺序,生成所述AI组合推理需求对应的跟踪标识,进而将所述AI组合推理需求对应的跟踪标识以及对应的待推理样本封装为http服务请求,得到所述AI组合推理需求对应的第一模型组合推理请求,其中,所述待推理样本可以为图像对应的像素矩阵以及用户画像对应的用户特征矩阵等。
其中,在所述生成各所述AI组合推理需求对应的第一模型组合推理请求的步骤之前,所述AI推理方法还包括:
步骤A10,依据所述AI组合推理服务请求中AI组合推理需求信息,生成对应的模块标识;
在本实施例中,需要说明的是,所述AI组合推理服务请求为用于请求AI组合推理服务的http服务请求,所述AI组合推理服务请求至少包括待推理样本以及AI组合推理需求信息,其中,所述AI组合推理需求信息可以为客户端所需求的AI组合推理的类型,也可以为客户所需求的AI组合推理的标识等,例如假设客户端所需求的AI组合推理的类型可以为人脸识别类型,表示客户端需要对待推理样本进行人脸识别,又假设客户端所需求的AI组合推理的标识为编码A,则编码A表示客户端需要对到推理目标进行虹膜识别等。
依据所述AI组合推理服务请求中AI组合推理需求信息,生成对应的模块标识,具体地,依据所述AI组合推理服务请求中AI组合推理需求信息,确定模型调用信息,进而生成所述模型调用信息对应的模块标识。
其中,所述依据所述AI组合推理服务请求中AI组合推理需求信息,确定模型调用信息的步骤包括:
依据所述AI组合推理需求信息,查询所述待推理样本所需求调用的各AI模型以及调用各所述AI模型的模型调用顺序,进而将各所述AI模型以及所述模型调用顺序作为所述模型调用信息。
其中,所述生成所述模型调用信息对应的模块标识的步骤包括:
以模型调用顺序,将各所述AI模型对应的模型标识顺序拼接为向量,得到所述模块标识,例如假设各所述AI模型包括A模型、B模型、C模型以及D模型,对于AI组合推理服务请求中一AI组合推理需求信息,模型调用顺序为先A,再B,最后C,对于AI组合推理服务请求中另一AI组合推理需求信息,模型调用顺序为先A,后D,而A模型对应的模型标识为a,B模型对应的模型标识为b,C模型对应的模型标识为c,D模型对应的模型标识为d,则所述模块标识可设置为(a,b,c,a,d),也可以设置为由向量(a,b,c)以及向量(a,d)组成的矩阵。
或者,基于预先设置的模型调用信息与模块标识之间的映射关系,确定所述模型调用信息对应的模块标识。
另外地,需要说明的是,一所述AI组合推理需求信息对应一跟踪标识,所述模块标识可以由各所述AI组合推理需求信息对应的跟踪标识组成,例如将各跟踪标识直接拼接为模块标识,又或者取个各跟踪标识的第一位数值组成的向量作为模块标识等。
步骤A20,依据所述模块标识,查询是否存在所述AI组合推理服务请求对应的AI服务依序调用模块;
在本实施例中,依据所述模块标识,查询是否存在所述AI组合推理服务请求对应的AI服务依序调用模块,具体地,以所述模块标识为索引,查询是否存在所述AI组合推理服务请求对应的AI服务依序调用模块。
步骤A30,若存在,则将所述AI组合推理服务请求传递至所述AI服务依序调用模块;
步骤A40,若不存在,则部署所述AI组合推理服务请求对应的AI组合推理服务,并将所述AI组合推理服务请求传递至所述AI组合推理服务中的AI服务依序调用模块。
在本实施例中,若存在所述AI组合推理服务请求对应的AI服务依序调用模块,则将所述AI组合推理服务请求以及所述跟踪标识传递至所述AI服务依序调用模块,以通过所述AI服务依序调用模块执行步骤:生成各所述AI组合推理需求对应的第一模型组合推理请求;若不存在所述AI组合推理服务请求对应的AI服务依序调用模块,则证明所述AI组合推理服务请求为新需求,进而部署所述AI组合推理服务请求对应的AI组合推理服务,并将所述AI组合推理服务请求传递至新部署的AI服务依序调用模块,以通过新部署的AI服务依序调用模块执行步骤:生成各所述AI组合推理需求对应的第一模型组合推理请求。进而实现了识别AI组合推理服务请求是否为新需求的目的,使得当AI组合推理服务请求不为新需求时,则可直接为客户端提供定制化的AI组合推理服务,当AI组合推理服务请求为新需求时,则可以及时进行识别并部署对应的AI组合推理服务进行模型组合推理。
在本实施例中,针对步骤S20,对于每个所述第一模型组合推理请求分别执行:将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果;需要说明的是,一所述AI组合推理需求对应一所述第一模型组合推理请求,一所述分发容器序列对应一所述第一模型组合推理请求,所述分发容器序列的排列顺序与所述AI组合推理需求所对应的模型调用顺序一致,所述分发容器序列至少包括一依序排列的分发容器,所述分发容器用于调用对应的具备特定功能的AI模型进模型推理,也可以用于管理AI模型的输出结果,其中,具备特定功能的AI模型可以为人脸特征提取模型、人脸特征分类模型、虹膜特征提取模型以及虹膜特征分类模型等。
对于每个所述第一模型组合推理请求分别执行:将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果,具体地,所述第一模型组合推理请求的数量至少为1,对于每一所述第一模型组合推理请求均执行以下步骤:
通过所述AI服务依序调用模块将所述第一模型组合推理请求发送至所述第一模型组合推理请求与对应的分发容器序列,进而通过所述分发容器序列依据所述第一模型组合推理请求中的跟踪标识,依次调用所述分发容器序列中各分发容器对应的AI模型对所述第一模型组合推理请求中的待推理样本进行模型推理,得到模型组合推理结果。
进一步地,步骤S30,将各所述模型组合推理结果反馈至所述客户端,具体包括:
步骤S31,通过所述AI服务依序调用模块将各所述分发容器序列反馈的模型组合推理结果整合为服务请求响应结果;
在本实施例中,需要说明的是,所述第一模型组合推理请求可以为http服务请求,则请求响应结果为http服务请求的响应结果,每一模型组合推理结果均由对应的分发容器序列中排名最末的分发容器所调用的AI模型生成。
将各所述分发容器序列反馈的模型组合推理结果整合为服务请求响应结果,具体的,对于每一所述模型组合推理结果均执行以下步骤:依据所述分发容器序列中各分发容器的排列顺序,由排名最末的分发容器逐层向排名第一的分发容器反馈模型组合推理结果,进而由排名第一的分发容器向AAI服务依序调用模块反馈模型组合推理结果,进而通过所述AI服务依序调用模块接收各分发容器序列中排名第一的分发容器发送的模型组合推理结果,并通过所述AI服务依序调用模块将各模型组合推理结果整合为服务请求响应结果。
其中,所述将各所述分发容器序列反馈的模型组合推理结果整合为服务请求响应结果的步骤还包括:
依据预设聚合聚合规则,通过所述AI服务依序调用模块将各所述模型组合推理结果进行聚合,得到服务请求响应结果,其中,预设聚合聚合规则可以为求平均、加权求和以及加权求平均等。例如,假设各所述模型组合推理结果分别为A以及B,预设聚合规则为求平均,其中,A为通过人脸识别确定用户为本人的概率,具体数值为0.8,B为通过虹膜识别确定用户为本人的概率,具体数值为0.7,则服务请求响应结果为确定用户为本人的概率,具体数值为0.75。
其中,所述将各所述分发容器序列反馈的模型组合推理结果整合为服务请求响应结果的步骤还包括:
通过所述AI服务依序调用模块将各所述模型组合推理结果进行拼接,得到服务请求响应结果,并将所述服务请求响应结果反馈至所述客户端,例如,假设各所述模型组合推理结果分别为人脸识别分类标签X、虹膜识别分类标签Y以及步态特征识别分类标签Z,则所述服务请求响应结果为向量(X,Y,Z)。
步骤S32,通过所述AI服务依序调用模块将所述服务请求响应结果反馈至所述客户端。
在本实施例中,将所述服务请求响应结果作为所述AI组合推理服务请求的请求响应结果反馈至所述客户端。
本申请实施例提供了一种AI推理方法、系统、电子设备、可读存储介质及产品,也即,本申请实施例首先接收客户端发送的AI组合推理服务请求,其中,所述AI组合推理服务请求包括至少一个AI组合推理需求;生成各所述AI组合推理需求对应的第一模型组合推理请求,进而对于每个所述第一模型组合推理请求分别执行:将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果,进而实现了依据分发容器序列,分别调用各AI模型进行组合推理的目的,进而将各所述模型组合推理结果反馈至所述客户端,实现了只响应一次客户端的请求,即完成了对客户端的AI模型组合推理服务,也即,客户端在需要多个AI模型进行组合推理时,只需要进行一次模型推理服务的调用,即可完成AI组合推理服务的请求,进而克服了tfserving在部署时仅能对外暴露一个http服务,若客户端需要多个AI模型进行组合推理从而得到最终结果,则需要在业务层写很多的代码且进行多次http服务调用,客户端请求AI推理服务的效率较低的技术缺陷,提升了客户端请求AI推理服务的效率。
实施例二
进一步地,参照图2,基于本申请第一实施例,在本申请另一实施例中,所述分发容器序列包括至少一个依序排列的分发容器,本实施例中,与上述实施例一相同或相似的内容,可以参考上文介绍,后续不再赘述。在此基础上,
步骤S20,对于每个所述第一模型组合推理请求分别执行:所述将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果的步骤包括:
步骤B10,通过AI服务依序调用模块将所述第一模型组合推理请求传递至所述分发容器序列中排序第一的分发容器,其中,所述第一模型组合推理请求包括跟踪标识和待推理样本;
步骤B20,通过所述排序第一的分发容器调用对应的AI模型对所述待推理样本进行模型推理,得到模型推理结果;
步骤B30,依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器,向所述下一分发容器传递携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理并生成新的模型推理结果,直至没有匹配到下一分发容器时,将最新的模型推理结果作为所述模型组合推理结果。
本申请实施例实现了依据跟踪标识和分发容器序列,对待推理样本进行模型组合推理的目的,AI服务依序调用模块只需向容器分发序列发送一次服务请求,即可得到模型组合推理结果,避免了所述AI服务依序调用模块多次调用AI模型的情况发生,提升了通过所述AI服务依序调用模块进行模型组合推理的效率。
在本实施例中,需要说明的是,所述第一模型组合推理请求可以为包括跟踪标识和待推理样本的http服务请求,所述跟踪标识为由至少一模型标识组成的序列,所述模型标识的排列顺序与所述分发容器的排列顺序一致,一所述模型标识对应一分发容器,对应一具备特定功能的AI模型,依据排序第一的模型标识,可确定所述第一模型组合推理请求需要传递的分发容器,例如,假设所述跟踪标识为序列ABC,则第一模型组合推理请求需要由AI服务依序调用模块传递至模型标识A对应的分发容器,进一步地模型标识A对应的分发容器可向模型标识B对应的分发容器传递第二模型组合推理请求,而模型标识B对应的分发容器可向模型标识C对应的分发容器传递新的第二模型组合推理请求。
其中,步骤B10,通过AI服务依序调用模块将所述第一模型组合推理请求传递至所述分发容器序列中排序第一的分发容器,其中,所述第一模型组合推理请求包括跟踪标识和待推理样本,具体包括:通过所述AI服务依序调用模块调用所述跟踪标识中排序第一的模型标识,并将所述第一模型组合推理请求传递至所述排序第一的模型标识对应的分发容器,其中,所述第一模型组合推理请求包括跟踪标识和待推理样本。
步骤B20,通过所述排序第一的分发容器调用对应的AI模型对所述待推理样本进行模型推理,得到模型推理结果,具体实现方式为:通过所述排序第一的分发容器将所述第一模型组合推理请求中的待推理样本转发至对应的AI模型,进而通过AI模型对所述待推理样本进行模型推理,得到模型推理结果。
进一步地,步骤B20,通过分发容器调用对应的AI模型进行模型推理,得到模型推理结果的步骤包括:
步骤C10,将所述第一模型组合推理请求中的待推理样本或者所述第二模型组合推理请求中的模型推理结果由所述分发容器转发至所述分发容器对应的AI模型;
在本实施例中,当分发容器为分发容器序列中排序第一的分发容器,则通过分发容器将对应的第一模型组合推理请求中的待推理样本传递至对应的AI模型,当分发容器不为分发容器序列中排序第一的分发容器,则通过分发容器将对应的第二模型组合推理请求中的模型推理结果传递至对应的AI模型。
步骤C20,利用所述分发容器对应的AI模型,对所述待推理样本或者所述模型推理结果进行模型推理,得到当前AI模型的模型推理结果并反馈至所述分发容器。
在本实施例中,利用所述分发容器对应的AI模型,对所述待推理样本或者所述模型推理结果进行模型推理,得到当前的模型推理结果,并将当前的模型推理结果反馈至对应的分发容器。
在本实施例中,步骤B30,依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器,向所述下一分发容器传递携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理并生成新的模型推理结果,直至没有匹配到下一分发容器时,将最新的模型推理结果作为所述模型组合推理结果,具体包括:依据所述跟踪标识中的下一模型标识,通过排序第一的分发容器匹配所述分发容器序列中的下一分发容器,并生成携带所述模型推理结果与所述跟踪标识第二模型组合推理请求,向所述下一分发容器传递第二模型组合推理请求,以通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理并生成新的模型推理结果,直至没有匹配到下一分发容器时,将最新的模型推理结果作为所述模型组合推理结果。
其中,需要说明的是,所述跟踪标识中的模型标识只能调用一次,且只能依序调用,例如,将所述跟踪标识为(A,B),则第一次只能调用模型标识A,第二次只能调用模型标识B。
其中,所述依据所述跟踪标识中的下一模型标识,通过排序第一的分发容器匹配所述分发容器序列中的下一分发容器,并生成携带所述模型推理结果与所述跟踪标识第二模型组合推理请求,向所述下一分发容器传递第二模型组合推理请求,以通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理并生成新的模型推理结果,直至没有匹配到下一分发容器时,将最新的模型推理结果作为所述模型组合推理结果的步骤包括:
在所述跟踪标识中调用下一模型标识,若在所述跟踪标识中调用下一模型标识成功,则生成携带所述模型推理结果与所述跟踪标识第二模型组合推理请求,向所述下一分发容器传递第二模型组合推理请求,以调用下一分发容器对应的AI模型,对所述模型推理结果继续进行模型推理,得到下一模型推理结果,并返回执行步骤:在所述跟踪标识中调用下一模型标识,若在所述跟踪标识中调用模型标识失败,则将最新的模型推理结果作为模型组合推理结果。
其中,步骤B30,所述依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器,向所述下一分发容器传递携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理并生成新的模型推理结果,直至没有匹配到下一分发容器时,将最新的模型推理结果作为所述模型组合推理结果的步骤包括:
步骤B31,依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器;
在本实施例中,依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器,具体地,通过调用所述跟踪标识中的模型标识,匹配所述分发容器序列中的下一分发容器。
其中,通过调用所述跟踪标识中的模型标识,匹配所述分发容器序列中的下一分发容器,具体地,调用所述跟踪标识中的模型标识,若调用成功,则匹配所述分发容器序列中的下一分发容器成功,若调用失败,则匹配所述分发容器序列中的下一分发容器失败。
步骤B32,若匹配失败,则将最新的模型推理结果作为所述模型组合推理结果;
步骤B34,若匹配成功,则生成携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求;并且将所述第二模型组合推理请求传递至所述下一分发容器,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理,获得新的模型推理结果,并返回执行步骤:依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器。
在本实施例中,若匹配失败,则证明本次模型组合推理过程结束,进而将最新的模型推理结果作为模型组合推理结果,并将所述模型组合推理结果由当前的分发容器逐步反馈至排序第一的分发容器,并由排序第一的分发容器反馈至所述所述AI服务依序调用模块;若匹配成功,则生成携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求,进而将所述第二模型组合推理请求传递至所述下一分发容器,进而通过所述下一分发容器将所述第二模型组合推理请求中的模型推理结果传递所述下一分发容器对应的AI模型,以通过下一分发容器对应的AI模型对模型推理结果进一步进行模型推理,得到新的模型推理结果,并返回执行步骤:依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器,其中,由于本申请实施例中并未构建AI模型序列,进而同一AI模型可被多个分发容器进行调用,各AI模型可任意进行组合而实现模型组合推理,避免了将各AI模型组成固定的AI模型序列而导致AI模型被占用的情况发生,AI模型可复用于多个模型组合推理服务中,进而提高了AI模型的利用效率。
如图3所示为本申请实施例进行AI推理的请求生命周期图,其中,http为http服务请求或者为http请求服务对应的应答反馈,AI Pipline1为所述AI服务依序调用模块,trace id为所述跟踪标识,AI1、AI2以及AI3均为AI模型,Dispatch Sidecar为所述分发容器。
本申请实施例公开了一种模型组合推理方法,也即首先通过AI服务依序调用模块将所述第一模型组合推理请求传递至所述分发容器序列中排序第一的分发容器,其中,所述第一模型组合推理请求包括跟踪标识和待推理样本,进而通过所述排序第一的分发容器调用对应的AI模型对所述待推理样本进行模型推理,得到模型推理结果,进而依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器,向所述下一分发容器传递携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理并生成新的模型推理结果,直至没有匹配到下一分发容器时,将最新的模型推理结果作为所述模型组合推理结果,实现了依据跟踪标识和分发容器序列,对待推理样本进行组合推理的目的,AI服务依序调用模块只需向容器分发序列发送一次服务请求,即可得到模型组合推理结果,避免了所述AI服务依序调用模块多次调用AI模型的情况发生,提升了通过所述AI服务依序调用模块进行模型组合推理的效率。
实施例三
与上述实施例一和实施例二相对应的,本申请实施例还提供一种AI推理系统,包括服务层、应用层以及单体AI服务层,其中,
所述服务层,至少部署一AI服务依序调用模块,其中,所述AI服务依序调用模块用于生成客户端发送的AI组合推理服务请求中各AI组合推理需求对应的第一模型组合推理请求,以及将分别响应于各所述第一模型组合推理请求生成的模型组合推理结果反馈至所述客户端;
所述应用层,至少部署一分发容器序列,其中,所述分发容器序列用于接收所述AI服务依序调用模块传递的第一模型组合推理请求,并通过调用对应的各AI模型进行模型推理,响应生成各所述第一模型组合推理请求对应的模型组合推理结果;
所述单体AI服务层,至少部署一所述AI模型,其中,所述AI模型用于进行模型推理。
其中,所述应用层包括注册中心、容器分配模块以及构建中心,其中,
所述注册中心,用于注册AI组合推理服务以及注册所述AI服务依序调用模块;
所述容器分配模块,用于为各所述AI模型依序分配分发容器,形成各所述AI模型对应的分发容器序列;
所述构建中心,用于将所述单体AI服务层中各AI模型文件打包为具备向外服务功能的镜像。
可选地,所述AI服务依序调用模块包括:
接收生成单元,用于接收客户端发送的AI组合推理服务请求,其中,所述AI组合推理服务请求包括至少一个AI组合推理需求;生成各所述AI组合推理需求对应的第一模型组合推理请求;
请求调用单元,用于对于每个所述第一模型组合推理请求分别执行:将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果;
反馈单元,用于将各所述模型组合推理结果反馈至所述客户端。
可选地,所述分发容器序列包括至少一个依序排列的分发容器,所述请求调用单元还用于:
通过AI服务依序调用模块将所述第一模型组合推理请求传递至所述分发容器序列中排序第一的分发容器,其中,所述第一模型组合推理请求包括跟踪标识和待推理样本;
通过所述排序第一的分发容器调用对应的AI模型对所述待推理样本进行模型推理,得到模型推理结果;
依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器,向所述下一分发容器传递携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理并生成新的模型推理结果,直至没有匹配到下一分发容器时,将最新的模型推理结果作为所述模型组合推理结果。
可选地,所述请求调用单元还用于:
依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器;
若匹配失败,则将最新的模型推理结果作为所述模型组合推理结果;
若匹配成功,则生成携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求;并且将所述第二模型组合推理请求传递至所述下一分发容器,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理,获得新的模型推理结果,并返回执行步骤:依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器。
可选地,所述请求调用单元还用于:
将所述第一模型组合推理请求中的待推理样本或者所述第二模型组合推理请求中的模型推理结果由所述分发容器转发至所述分发容器对应的AI模型;
利用所述分发容器对应的AI模型,对所述待推理样本或者所述模型推理结果进行模型推理,得到当前AI模型的模型推理结果并反馈至所述分发容器。
可选地,所述反馈单元还用于:
将各所述分发容器序列反馈的模型组合推理结果整合为服务请求响应结果;
将所述服务请求响应结果反馈至所述客户端。
可选地,所述AI推理系统还包括:
模块标识生成单元,用于依据所述AI组合推理服务请求中AI组合推理需求信息,生成对应的模块标识;
查询单元,用于依据所述模块标识,查询是否存在所述AI组合推理服务请求对应的AI服务依序调用模块;若存在,则将所述AI组合推理服务请求传递至所述AI服务依序调用模块;若不存在,则部署所述AI组合推理服务请求对应的AI组合推理服务,并将所述AI组合推理服务请求传递至所述AI组合推理服务中的AI服务依序调用模块。
具体地,如图4所示为所述AI推理系统的系统框架图。其中,AI Serving Pipeline为所述AI服务依序调用模块,
第一层为服务层,提供各AI服务依序调用模块。通过对一个AI推理服务的AI服务依序调用模块的调用,即可实现整个AI服务依序调用模块中所有预定好的AI的组合推理服务的调用,得到最终的模型组合推理结果。
第二层为应用层,包括注册中心,容器分配模块,构建中心和服务可视化页面组成。其中,构建中心将下一层的单体AI服务层中的AI模型文件打包成一个向外服务功能的镜像(rpc服务或者http服务),通过注册中心可进行AI推理服务的部署和注册。利用tfserving(或者其他种方式)进行部署一个AI推理服务时,会自动在这个服务边上启动一个分发容器(Dispatch SideCar),由这个容器做服务请求的分发、上下文输入输出处理和下一个AI推理服务的跳转。注册中心还可用于进行AI服务依序调用模块的注册,AI服务依序调用模块相当于多个AI推理服务的组合服务,以Pipeline(管道或者流水线的方式)来存在,其中,Pipeline是通过配置文件(如yaml格式)声明式的向注册中心发起Pipeline的注册申请,配置文件中包括但不限于:Pipeline的服务路由、Pipeline名称、使用到的AI推理服务、AI推理服务的顺序以及上下文输入输出格式处理代码等。所有的配置都会更新到每一个AI推理服务边上的分发容器(Dispatch SideCar)。服务可视化页面(ServingDashboard)提供了服务的可视化的界面,提供Pipeline的浏览和AI推理服务的浏览,以及当前这些AI推理服务的负载情况和副本数量的监控。
第三层为AI推理服务,也是我们可利用的最小化AI推理单元,也即为AI模型。
第四层为底层应用,主要是利用到了Kubernetes,Docker容器仓库以及redis等基础服务。
其中,本申请实施例中,与实施例一或实施例二相同或相应的内容,请参考上文介绍,后续不再赘述。
本发明AI推理系统,采用上述实施例一提供的AI推理方法,解决了客户端请求AI推理服务的效率低的技术问题。与现有技术相比,本发明实施例提供的AI推理系统的有益效果与上述实施例一提供的AI推理方法的有益效果相同,且该系统中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
实施例四
本发明实施例提供一种电子设备,电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例一中的AI推理方法。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM)中的程序或者从存储装置加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有电子设备操作所需的各种程序和数据。处理装置、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
通常,以下系统可以连接至I/O接口:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种系统的电子设备,但是应理解的是,并不要求实施或具备所有示出的系统。可以替代地实施或具备更多或更少的系统。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从ROM被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。
本发明提供的电子设备,采用上述实施例一或实施例二中的AI推理方法,解决了客户端请求AI推理服务的效率低的技术问题。与现有技术相比,本发明实施例提供的电子设备的有益效果与上述实施例一提供的AI推理方法的有益效果相同,且该电子设备中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
实施例五
本实施例提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行上述实施例一中的AI推理的方法。
本发明实施例提供的计算机可读存储介质例如可以是U盘,但不限于电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。
本发明提供的计算机可读存储介质,存储有用于执行上述AI推理方法的计算机可读程序指令,解决了客户端请求AI推理服务的效率低的技术问题。与现有技术相比,本发明实施例提供的计算机可读存储介质的有益效果与上述实施例一或实施例二提供的AI推理方法的有益效果相同,在此不做赘述。
实施例六
本申请还提供一种产品,所述产品为计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的AI推理方法的步骤。
本申请提供的计算机程序产品解决了客户端请求AI推理服务的效率低的技术问题。与现有技术相比,本发明实施例提供的计算机程序产品的有益效果与上述实施例一或实施例二提供的AI推理方法的有益效果相同,在此不做赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。
Claims (11)
1.一种AI推理方法,其特征在于,所述AI推理方法包括:
接收客户端发送的AI组合推理服务请求,其中,所述AI组合推理服务请求包括至少一个AI组合推理需求;生成各所述AI组合推理需求对应的第一模型组合推理请求;
对于每个所述第一模型组合推理请求分别执行:将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果;
将各所述模型组合推理结果反馈至所述客户端。
2.如权利要求1所述AI推理方法,其特征在于,所述分发容器序列包括至少一个依序排列的分发容器,所述将所述第一模型组合推理请求发送至对应的分发容器序列,以请求调用所述分发容器序列对应的至少一个AI模型进行模型推理,得到所述第一模型组合推理请求对应的模型组合推理结果的步骤包括:
通过AI服务依序调用模块将所述第一模型组合推理请求传递至所述分发容器序列中排序第一的分发容器,其中,所述第一模型组合推理请求包括跟踪标识和待推理样本;
通过所述排序第一的分发容器调用对应的AI模型对所述待推理样本进行模型推理,得到模型推理结果;
依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器,向所述下一分发容器传递携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理并生成新的模型推理结果,直至没有匹配到下一分发容器时,将最新的模型推理结果作为所述模型组合推理结果。
3.如权利要求2所述AI推理方法,其特征在于,所述依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器,向所述下一分发容器传递携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理并生成新的模型推理结果,直至没有匹配到下一分发容器时,将最新的模型推理结果作为所述模型组合推理结果的步骤包括:
依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器;
若匹配失败,则将最新的模型推理结果作为所述模型组合推理结果;
若匹配成功,则生成携带所述模型推理结果和所述跟踪标识的第二模型组合推理请求;并且将所述第二模型组合推理请求传递至所述下一分发容器,通过所述下一分发容器调用对应的AI模型对所述模型推理结果进行模型推理,获得新的模型推理结果,并返回执行步骤:依据所述跟踪标识,匹配所述分发容器序列中的下一分发容器。
4.如权利要求1或2所述AI推理方法,其特征在于,通过分发容器调用对应的AI模型进行模型推理,得到模型推理结果的步骤包括:
将所述第一模型组合推理请求中的待推理样本或者所述第二模型组合推理请求中的模型推理结果由所述分发容器转发至所述分发容器对应的AI模型;
利用所述分发容器对应的AI模型,对所述待推理样本或者所述模型推理结果进行模型推理,得到当前AI模型的模型推理结果并反馈至所述分发容器。
5.如权利要求1所述AI推理方法,其特征在于,所述将各所述模型组合推理结果反馈至所述客户端的步骤包括:
将各所述分发容器序列反馈的模型组合推理结果整合为服务请求响应结果;
将所述服务请求响应结果反馈至所述客户端。
6.如权利要求1所述AI推理方法,其特征在于,在所述生成各所述AI组合推理需求对应的第一模型组合推理请求的步骤之前,所述AI推理方法还包括:
依据所述AI组合推理服务请求中AI组合推理需求信息,生成对应的模块标识;
依据所述模块标识,查询是否存在所述AI组合推理服务请求对应的AI服务依序调用模块;
若存在,则将所述AI组合推理服务请求传递至所述AI服务依序调用模块;
若不存在,则部署所述AI组合推理服务请求对应的AI组合推理服务,并将所述AI组合推理服务请求传递至所述AI组合推理服务中的AI服务依序调用模块。
7.一种AI推理系统,其特征在于,包括服务层、应用层以及单体AI服务层,其中,
所述服务层,至少部署一AI服务依序调用模块,其中,所述AI服务依序调用模块用于生成客户端发送的AI组合推理服务请求中各AI组合推理需求对应的第一模型组合推理请求,以及将分别响应于各所述第一模型组合推理请求生成的模型组合推理结果反馈至所述客户端;
所述应用层,至少部署一分发容器序列,其中,所述分发容器序列用于接收所述AI服务依序调用模块传递的第一模型组合推理请求,并通过调用对应的各AI模型进行模型推理,响应生成各所述第一模型组合推理请求对应的模型组合推理结果;
所述单体AI服务层,至少部署一所述AI模型,其中,所述AI模型用于进行模型推理。
8.如权利要求7所述AI推理系统,其特征在于,所述应用层包括注册中心、容器分配模块以及构建中心,其中,
所述注册中心,用于注册AI组合推理服务以及注册所述AI服务依序调用模块;
所述容器分配模块,用于为各所述AI模型依序分配分发容器,形成各所述AI模型对应的分发容器序列;
所述构建中心,用于将所述单体AI服务层中各AI模型文件打包为具备向外服务功能的镜像。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至6中任一项所述的AI推理方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有实现AI推理方法的程序,所述实现AI推理方法的程序被处理器执行以实现如权利要求1至6中任一项所述AI推理方法的步骤。
11.一种产品,所述产品为计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述AI推理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110970964.9A CN113835828A (zh) | 2021-08-23 | 2021-08-23 | Ai推理方法、系统、电子设备、可读存储介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110970964.9A CN113835828A (zh) | 2021-08-23 | 2021-08-23 | Ai推理方法、系统、电子设备、可读存储介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113835828A true CN113835828A (zh) | 2021-12-24 |
Family
ID=78960939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110970964.9A Pending CN113835828A (zh) | 2021-08-23 | 2021-08-23 | Ai推理方法、系统、电子设备、可读存储介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113835828A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200027210A1 (en) * | 2018-07-18 | 2020-01-23 | Nvidia Corporation | Virtualized computing platform for inferencing, advanced processing, and machine learning applications |
CN110888722A (zh) * | 2019-11-15 | 2020-03-17 | 北京奇艺世纪科技有限公司 | 任务处理方法、装置、电子设备及计算机可读存储介质 |
CN113139660A (zh) * | 2021-05-08 | 2021-07-20 | 北京首都在线科技股份有限公司 | 模型推理方法、装置、电子设备及存储介质 |
-
2021
- 2021-08-23 CN CN202110970964.9A patent/CN113835828A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200027210A1 (en) * | 2018-07-18 | 2020-01-23 | Nvidia Corporation | Virtualized computing platform for inferencing, advanced processing, and machine learning applications |
CN110888722A (zh) * | 2019-11-15 | 2020-03-17 | 北京奇艺世纪科技有限公司 | 任务处理方法、装置、电子设备及计算机可读存储介质 |
CN113139660A (zh) * | 2021-05-08 | 2021-07-20 | 北京首都在线科技股份有限公司 | 模型推理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110310034B (zh) | 一种应用于SaaS的服务编排、业务流程处理方法和装置 | |
CN111291103A (zh) | 接口数据的解析方法、装置、电子设备及存储介质 | |
CN113918232B (zh) | 一种算法服务的调用方法、装置、服务器和存储介质 | |
CN113553178A (zh) | 任务处理方法、装置和电子设备 | |
CN116166395A (zh) | 任务调度方法、装置、介质及电子设备 | |
CN110618768B (zh) | 信息呈现方法和装置 | |
CN112306685B (zh) | 任务隔离方法、装置、电子设备及计算机可读介质 | |
CN112698930A (zh) | 一种获取服务器标识的方法、装置、设备及介质 | |
CN111666098B (zh) | 基于业务组件创建toB工程的方法及系统 | |
CN111324258A (zh) | 多级下拉菜单配置项内容生成方法、装置、设备和介质 | |
CN113835828A (zh) | Ai推理方法、系统、电子设备、可读存储介质及产品 | |
CN114579206B (zh) | 动态加载应用程序的方法、装置、设备及介质 | |
CN113780650B (zh) | 运力锁定方法、装置、设备和存储介质 | |
CN115437647A (zh) | 适配多框架的微服务部署方法、装置、终端及存储介质 | |
CN115809292A (zh) | 数据处理方法、装置、设备及介质 | |
CN112333270B (zh) | 一种微服务动态路由的方法及系统 | |
CN108804088A (zh) | 协议处理方法和装置 | |
CN112905273A (zh) | 一种服务调用方法和装置 | |
CN112084247A (zh) | 一种应用程序服务扩展的方法和装置 | |
CN115878586B (zh) | Ipfs存储封装方法、装置、电子设备及可读存储介质 | |
CN113935613A (zh) | 一种设备巡检方法、装置、电子设备及计算机可读介质 | |
CN112311833B (zh) | 数据更新方法和装置 | |
CN113112193B (zh) | 用于确定包裹位置的方法、装置、服务器和介质 | |
CN116820354B (zh) | 数据存储方法、数据存储装置和数据存储系统 | |
CN116560756B (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 |