CN111629061B - 一种基于Kubernetes的推理服务系统 - Google Patents
一种基于Kubernetes的推理服务系统 Download PDFInfo
- Publication number
- CN111629061B CN111629061B CN202010470862.6A CN202010470862A CN111629061B CN 111629061 B CN111629061 B CN 111629061B CN 202010470862 A CN202010470862 A CN 202010470862A CN 111629061 B CN111629061 B CN 111629061B
- Authority
- CN
- China
- Prior art keywords
- model
- reasoning
- service
- module
- user
- 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.)
- Active
Links
- 238000004806 packaging method and process Methods 0.000 claims abstract description 6
- 238000012360 testing method Methods 0.000 claims description 64
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000011056 performance test Methods 0.000 claims description 4
- 238000005096 rolling process Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种基于Kubernetes的推理服务系统,包括:计算资源集群和推理服务平台;其中,推理服务平台包括:多框架模型模块,用于支持多种框架导出的模型;自定义镜像模块,用于获取用户发送的镜像文件,根据镜像文件进行部署,并执行推理服务,其中,镜像文件是用户将完成训练的模型和运行环境进行封装而得到的文件。可见,本申请将训练完成的模型和运行环境以镜像形式进行封装,提交到推理服务平台,推理服务平台通过参数传递形式进行线上推理服务的部署,不需要转换模型类型,也无需顾虑模型兼容性即可进行推理任务,提高了推理服务运行的效率。
Description
技术领域
本申请涉及推理服务技术领域,特别涉及一种基于Kubernetes的推理服务系统。
背景技术
在线推理服务(Online Inference Service),是机器学习工程中的重要的一环,通过在线推理服务,训练出来的模型得以在生产环节中体现其价值。很多互联网或具有线上业务的企业通常存在几个甚至几十个线上推理服务,每天调用次数高达千万级别。为了高效稳定的支撑在线服务,在线线服务框架需要能够支持主流深度学习框架,支持运行在CPU和GPU资源上,并且单显卡支持运行多个模型,提升GPU资源利用率。相关技术中虽然采用的提供了多框架模型的支持,但是对于非标准深度学习框架训练得到的模型,及SaaS层的AI应用,现有技术无法提供在线部署功能进行在线推理服务。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本申请的目的是提供一种基于Kubernetes的推理服务系统,能够将训练完成的模型和运行环境以镜像形式进行封装,提交到推理服务平台,推理服务平台通过参数传递形式进行线上推理服务的部署,不需要转换模型类型,也无需顾虑模型兼容性即可进行推理任务。其具体方案如下:
本申请提供了一种基于Kubernetes的推理服务系统,包括:
计算资源集群和推理服务平台;
其中,所述推理服务平台包括:
多框架模型模块,用于支持多种框架导出的模型;
自定义镜像模块,用于获取用户发送的镜像文件,根据所述镜像文件进行部署,并执行推理服务,其中,所述镜像文件是用户将完成训练的模型和运行环境进行封装而得到的文件。
可选的,所述推理服务平台还包括:
测试与发布模块,用于获取测试模型,并基于所述测试模型、对应的运行模型利用A/B测试和对应的分流信息进行性能测试,当所述测试模型的性能大于所述运行模型的性能时,将所述测试模型滚动发布。
可选的,所述测试与发布模块,用于在空闲时间,将所有所述运行模型对应的用户迁移到所述测试模型上,实现所述测试模型的发布。
可选的,所述测试与发布模块,用于依次的将所述运行模型对应的用户迁移到所述测试模型上,实现所述测试模型的发布。
可选的,所述推理服务平台还包括:
流量管理模型,用于通过预设方式分流用户的请求流量,得到所述分流信息。
可选的,所述多框架模型模块,还用于获取修改预上线推理服务的配置文件,创建推理服务实例。
可选的,所述多框架模型模块,还用于获取添加预上线推理服务的配置文件的参数,创建推理服务实例。
可选的,所述自定义镜像模块,还用于对所述镜像文件进行解析,得到所述训练的模型和所述运行环境;基于所述训练的模型和所述运行环境执行所述推理服务,得到推理结果,并将所述推理结果反馈至所述用户。
可选的,还包括:调度模块,用于根据所述计算资源集群中的计算资源的利用率或者用户提供的度量指标,确定对应的pod的数量。
可选的,所述推理服务平台还包括:
监控模块,用于监控所述计算资源集群;当所述推理服务出现错误时,执行服务预警。
本申请提供一种基于Kubernetes的推理服务系统,包括:计算资源集群和推理服务平台;其中,所述推理服务平台包括:多框架模型模块,用于支持多种框架导出的模型;自定义镜像模块,用于获取用户发送的镜像文件,根据所述镜像文件进行部署,并执行推理服务,其中,所述镜像文件是用户将完成训练的模型和运行环境进行封装而得到的文件。
可见,本申请将训练完成的模型和运行环境以镜像形式进行封装,提交到推理服务平台,推理服务平台通过参数传递形式进行线上推理服务的部署,不需要转换模型类型,也无需顾虑模型兼容性即可进行推理任务,提高了推理服务运行的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种基于Kubernetes的推理服务系统的结构示意图;
图2为本申请实施例提供的另一种基于Kubernetes的推理服务系统的结构示意图;
图3为本申请实施例提供的一种测试与发布的流程示意图;
图4为本申请实施例提供的一种推理服务平台的测试结构示意图;
图5为本申请实施例提供的一种调度示意图;
图6为本申请实施例提供的一种自定义镜像模块工作的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中虽然采用的提供了多框架模型的支持,但是对于非标准深度学习框架训练得到的模型,及SaaS层的AI应用,现有技术无法提供在线部署功能进行在线推理服务。未解决上述技术问题,本实施例提供一种基于Kubernetes的推理服务系统,请参考图1,图1为本申请实施例提供的一种基于Kubernetes的推理服务系统的结构示意图,包括:
计算资源集群100和推理服务平台200;
其中,推理服务平台200包括:
多框架模型模块,用于支持多种框架导出的模型;
自定义镜像模块,用于获取用户发送的镜像文件,根据镜像文件进行部署,并执行推理服务,其中,镜像文件是用户将完成训练的模型和运行环境进行封装而得到的文件。
其中,本申请在实施过程中是以Python和go编程语言开发的,部署环境为Linux系统。但是该方案不受语言和系统环境的限制,在其他语言和环境下也完全可以实现。
其中,计算资源集群100中的计算资源的数量用户可自定义设置,可以理解的是,每个计算资源中设置有加速器,该加速器包括但是不限定于GPU、CPU、寒武纪MLU和专用神经网络处理器,可以是同构加速器也可以是异构加速器。
针对推理服务平台200进行进一步阐述,推理服务平台200对应的在线推理服务不是一种模型,而是一种对于模型进行上线部署及前期准备的服务流程。具体的,操作用户可以通过细粒度的计算资源管理和调度为线上推理服务提供可靠的计算力保证,并且推理服务平台200提供了多框架模型模块、自定义镜像模块,进一步的,请参考图2,图2为本申请实施例提供的另一种基于Kubernetes的推理服务系统的结构示意图,该系统还可以包括:数据处理模块、流量管理模块、测试与发布模块、用户与存储模块,监控模块、调度模块和资源模块,使得线上推理服务的部署更加稳定与便捷。其中,数据处理模块包括数据前/后处理、模型平均和模型转换;多框架模型模块具体可以包括TensorFlow Serving、Pytorch、TensorRT Inference Server、ML Model Serving;用户与存储模块具体可以包括多用户策略、镜像仓库、模型管理;监控模块具体可以包括日志、集群监控和服务报警。
值得注意的是,推理服务平台200或软件可以基于Kubernetes API资源配置和控制器状态,提供快速的自动伸缩能力,解决了基于虚拟化技术的管理及部署机制在应对服务快速扩容和缩容需求时存在的手动创建资源实例、无法统一运行环境、实例部署、资源回收效率低和弹性能力差等问题,同时根据所使用的计算资源的利用率或其他应程序提供的度量指标Custom Metrics,自动伸缩Replication Controller、Deployment和Replica Set中的Pod数量,使得集群管理和运行更加高效,稳定性,同时有效地降低计算资源成本。
具体的,多框架模型模块,用于支持多种框架导出的模型,其中,多种框架包括但是不限定于:TensorFlow、Pytorch、TensorRT、SKLearn。可见,推理服务平台200或软件支持多种的深度学习/机器学习框架导出的模型,并且为所支持的模型提供数据前/后处理的服务支持,同时可根据不同数据处理需求选择不同的计算资源(CPUs或者GPUs)。通过修改或添加相应预上线推理服务的配置文件(.yaml文件)或配置文件中的参数创建推理服务实例,快速将所需模型的推理服务部署在线上环境。
具体的,自定义镜像模块,用于获取用户发送的镜像文件,根据镜像文件进行部署,并执行推理服务,其中,镜像文件是用户将完成训练的模型和运行环境进行封装而得到的文件。
可以理解的是,推理服务平台200或软件支持非标准发布框架模型的推理服务,包括:TensorFlow、Pytorch、TensorRT等经过优化或者自定义框架模型的推理服务实例创建,用户根据训练模型所使用的运行环境,将训练完成的模型和运行环境(非标准框架、运行脚本等)以镜像形式进行封装,得到镜像文件,将镜像文件提交到推理服务平台200或软件,推理服务平台通过参数传递形式进行线上推理服务的部署,不需要转换模型类型,也无需顾虑模型兼容性即可进行推理任务。具体的,自定义镜像模块,还用于对镜像文件进行解析,得到训练的模型和运行环境;基于训练的模型和运行环境执行推理服务,得到推理结果,并将推理结果反馈至用户。
请参考图6,图6为本申请实施例提供的一种自定义镜像模块工作的结构示意图。具体的,用户将完成训练的模型和运行环境,还可以包括配置文件进行封装,得到镜像文件,将镜像文件发送至基于Kubernetes的推理服务系统。基于Kubernetes的推理服务系统的自定义镜像模块接收到镜像文件,对镜像文件进行解析,得到训练的模型和运行环境还有配置文件,基于训练的模型和运行环境执行推理服务,得到推理结果,并将推理结果反馈至用户,当然,将还包括了存储服务,用于存储镜像文件等,还包括监控服务,用于监控镜像文件的推理服务。
进一步的,为了使开发或运维人员能够快速将已训练好的模型推送至线上环境,获得真实流量的验证,作为后续服务的能力支持,本实施例中,推理服务平台200还包括:
测试与发布模块,用于获取测试模型,并基于测试模型、对应的运行模型利用A/B测试和对应的分流信息进行性能测试,当测试模型的性能大于运行模型的性能时,将测试模型滚动发布。
推理服务平台200或软件为生产环境下的服务提供了模型服务在线测试功能,用户可以针对线上服务进行推理结果及性能验证,支持通过A/B测试进行在线服务的灰度发布。考虑到生产环境的重要性和严肃性,预上线模型即测试模型必须经过线上真实流量的测试后才可以进行全量发布,使用A/B测试可以有效地为预上线模型提供自定义规模的线上流量进行测试,在保证了流量稳定和准确隔离的基础上,通过推理服务平台200或软件提供的发布策略,可以定时、定量地对模型进行发布策略上的控制,确保线上请求数量不会对现有可用计算资源造成负载冲击,使后续发布的模型能够平稳过渡为全量模型。请参考图3和图4,图3为本申请实施例提供的一种测试与发布的流程示意图。具体的,从模型与镜像管理中得到测试模型1和运行模型2,根据发布策略基于测试模型1进行模型部署1和运行模型2执行对应的模型部署2,利用A/B测试和预处理后得到的对应的分流信息进行性能测试,实现推理服务,得到对应的计算结果;只有当测试模型的性能大于运行模型的性能时,才能够进行测试模型的滚动发布。图4为本申请实施例提供的一种推理服务平台200的测试的结构示意图。可以理解的是,测试模型必须经过线上真实流量的测试后才可以进行全量发布。具体的,用户下发请求至推理服务平台,当推理服务平台接收到该请求后,基于内外集群负载平衡,会分配真实流量到对应的测试模型和运行模型,其中分配测试模型测试流量,分配运行模型默认流量,使测试模型和运行模型分别执行推理服务,测试模型和运行模型分别执行对应流量的模型服务1、模型服务2、模型服务n,然后得到运行模型和测试模型的A/B测试的计算结果。
进一步的,为了避免底层计算资源的加速器的负荷过大,造成用户信息获取的延时,本实施例中,测试与发布模块,用于在空闲时间,将所有运行模型对应的用户迁移到测试模型上,实现测试模型的发布。通过在空闲时间将所有运行模型对应的用户迁移到测试模型上,在用户不使用的情况下进行迁移,避免了在实际使用时延时现象的发生。
进一步的,为了避免底层计算资源的加速器的负荷过大,造成的延时现象的发生,本实施例中,测试与发布模块,用于依次的将运行模型对应的用户迁移到测试模型上,实现测试模型的发布。通过依次的将运行模型对应的用户迁移到测试模型上,避免了负荷过大的问题的出现,其中,该依次可以是依次迁移一个、两个或者其他数量的用户,只要是能够实现本实施例的目的即可,本实施例不在进行限定。可见,通过依次的将运行模型对应的用户迁移到测试模型上,避免了负荷过大的问题的出现,进而避免了延时现象的发生。
进一步的,为了将流量与基础设施扩容进行解耦,本实施例中,推理服务平台200还包括:流量管理模型,用于通过预设方式分流用户的请求流量,得到分流信息。
其中,本实施例中的流量管理模型是使用Istio的流量管理模型,是将流量与基础设施扩容进行解耦,让运维人员可以通过Pilot指定流量遵循什么规则,而不是指定哪些pods/VM应该接收流量。通过将流量从基础设施扩展中解耦,就可以让Istio提供各种独立于应用程序代码之外的流量管理功能。这些功能是通过部署的Envoy sidecar代理来实现的。Pod包含一个sidecar代理,该代理作为Istio网格的一部分,负责协调Pod的所有入站和出站流量。在Istio网格中,Pilot负责将高级路由规则转换为配置并将它们传播到sidecar代理。这意味着当服务彼此通信时,它们的路由决策是由客户端确定的。推理服务的流量调控方案使线上正在运行的服务可以通过预设方式(如:随机、制定ID等)分流线上用户的请求流量,并将真实流量请求通过HTTP方式发送到服务端,进行基于不同模型框架的推理服务,通过计算结果对比验证测试模型的有效性。
进一步的,为了支持主流标准框架模型的线上模型服务,对于有修改的计算框架无法提供有效的服务,本实施例中,多框架模型模块,还用于获取修改预上线推理服务的配置文件,创建推理服务实例。
进一步的,为了支持主流标准框架模型的线上模型服务,对于有修改或有升级版本的计算框架无法提供有效的服务,本实施例中,多框架模型模块,还用于获取添加预上线推理服务的配置文件的参数,创建推理服务实例。
进一步的,为了使得集群管理和运行更加高效,稳定性,同时有效地降低计算资源成本灵活的部署模式也为运维人员提供了云端计算资源、本地计算资源等一系列的部署方案,让推理服务的使用者能够根据实际情况对资源和服务进行更高效的利用,还包括:调度模块,用于根据计算资源集群100中的计算资源的利用率或者用户提供的度量指标,确定对应的pod的数量。
具体的,推理服务平台200或软件可以基于Kubernetes API资源配置和控制器状态,提供快速的自动伸缩能力,解决了基于虚拟化技术的管理及部署机制在应对服务快速扩容和缩容需求时存在的手动创建资源实例、无法统一运行环境、实例部署、资源回收效率低和弹性能力差等问题。进一步的,狄导读模块根据所使用的计算资源的利用率或其他应程序提供的度量指标Custom Metrics,自动伸缩Replication Controller、Deployment和Replica Set中的Pod数量,灵活的部署模式也为运维人员提供了云端计算资源、本地计算资源等一系列的部署方案,让推理服务的使用者能够根据实际情况对资源和服务进行更高效的利用,使得集群管理和运行更加高效,稳定性,同时有效地降低计算资源成本。可见,本实施例通过安全有效的资源管控方式合理调配不同计算力来执行调度。
进一步的,调度模块还可以是接收到用户请求,推理服务平台200执行推理服务,得到计算结果,并将计算结果反馈至用户。具体请参考图5,图5为本申请实施例提供的一种调度示意图。具体的,推理服务平台获取镜像文件,基于发布策略进行镜像文件对应的模型的部署,根据用户的请求,利用该模型执行推理服务,得到对应的推理服务结果,也就是计算结果。具体的,当该请求是识别图像中的人物时,得到的计算结果可以是图像中的人物图像或者图像中无人物两种情况;当该请求是获取语音中的声纹信息时,得到的计算结果就是该语音中的声纹信息;当然还可能存在其他的请求,用户可根据实际需求进行设置,只要是能够实现本实施例的目的即可。
进一步的,为了实现更好地资源部署,本实施例中,推理服务平台200还包括:监控模块,用于监控计算资源集群100;当所述推理服务出现错误时,执行服务预警。
本实施例中设置监控模块,用于监控计算资源集群100,及时获取运行信息和使用信息。并且当推理服务出现错误时,执行服务预警,以使技术人员进行维护。
因此,本发明能够为用户提供基于本地集群或云服务端的部署的AI计算资源的快速部署和有效调度,降低本地或云平台的上线、运行与维护成本,帮助具有各种线上推理业务需求或企业内算法及业务团队快速落地应用或服务。
基于上述技术手段,本实施例将训练完成的模型和运行环境以镜像形式进行封装,提交到推理服务平台200,推理服务平台通过参数传递形式进行线上推理服务的部署,不需要转换模型类型,也无需顾虑模型兼容性即可进行推理任务,提高了推理服务运行的效率。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种基于Kubernetes的推理服务系统进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (9)
1.一种基于Kubernetes的推理服务系统,其特征在于,包括:
计算资源集群和推理服务平台;
其中,所述推理服务平台包括:
多框架模型模块,用于支持多种框架导出的模型;
自定义镜像模块,用于获取用户发送的镜像文件,根据所述镜像文件进行部署,并执行推理服务,其中,所述镜像文件是用户将完成训练的模型和运行环境进行封装而得到的文件;
其中,所述自定义镜像模块,还用于对所述镜像文件进行解析,得到所述训练的模型和所述运行环境;基于所述训练的模型和所述运行环境执行所述推理服务,得到推理结果,并将所述推理结果反馈至所述用户。
2.根据权利要求1所述的基于Kubernetes的推理服务系统,其特征在于,所述推理服务平台还包括:
测试与发布模块,用于获取测试模型,并基于所述测试模型、对应的运行模型利用A/B测试和对应的分流信息进行性能测试,当所述测试模型的性能大于所述运行模型的性能时,将所述测试模型滚动发布。
3.根据权利要求2所述的基于Kubernetes的推理服务系统,其特征在于,所述测试与发布模块,用于在空闲时间,将所有所述运行模型对应的用户迁移到所述测试模型上,实现所述测试模型的发布。
4.根据权利要求2所述的基于Kubernetes的推理服务系统,其特征在于,所述测试与发布模块,用于依次的将所述运行模型对应的用户迁移到所述测试模型上,实现所述测试模型的发布。
5.根据权利要求2所述的基于Kubernetes的推理服务系统,其特征在于,所述推理服务平台还包括:
流量管理模型,用于通过预设方式分流用户的请求流量,得到所述分流信息。
6.根据权利要求1所述的基于Kubernetes的推理服务系统,其特征在于,所述多框架模型模块,还用于获取修改预上线推理服务的配置文件,创建推理服务实例。
7.根据权利要求1所述的基于Kubernetes的推理服务系统,其特征在于,所述多框架模型模块,还用于获取添加预上线推理服务的配置文件的参数,创建推理服务实例。
8.根据权利要求1所述的基于Kubernetes的推理服务系统,其特征在于,还包括:调度模块,用于根据所述计算资源集群中的计算资源的利用率或者用户提供的度量指标,确定对应的pod的数量。
9.根据权利要求1所述的基于Kubernetes的推理服务系统,其特征在于,所述推理服务平台还包括:
监控模块,用于监控所述计算资源集群;当所述推理服务出现错误时,执行服务预警。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470862.6A CN111629061B (zh) | 2020-05-28 | 2020-05-28 | 一种基于Kubernetes的推理服务系统 |
PCT/CN2021/073345 WO2021238251A1 (zh) | 2020-05-28 | 2021-01-22 | 一种基于Kubernetes的推理服务系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470862.6A CN111629061B (zh) | 2020-05-28 | 2020-05-28 | 一种基于Kubernetes的推理服务系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111629061A CN111629061A (zh) | 2020-09-04 |
CN111629061B true CN111629061B (zh) | 2023-01-24 |
Family
ID=72260850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010470862.6A Active CN111629061B (zh) | 2020-05-28 | 2020-05-28 | 一种基于Kubernetes的推理服务系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111629061B (zh) |
WO (1) | WO2021238251A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111629061B (zh) * | 2020-05-28 | 2023-01-24 | 苏州浪潮智能科技有限公司 | 一种基于Kubernetes的推理服务系统 |
CN112015470B (zh) * | 2020-09-09 | 2022-02-01 | 平安科技(深圳)有限公司 | 模型部署方法、装置、设备及存储介质 |
CN112214285A (zh) * | 2020-10-22 | 2021-01-12 | 厦门渊亭信息科技有限公司 | 一种基于Docker的模型服务部署系统 |
CN112286705A (zh) * | 2020-11-24 | 2021-01-29 | 四川长虹电器股份有限公司 | 一种基于Kubernetes的容器web服务接口聚合系统 |
CN112671582B (zh) * | 2020-12-25 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种基于边缘推理集群的人工智能推理方法和系统 |
CN112579303A (zh) * | 2020-12-30 | 2021-03-30 | 苏州浪潮智能科技有限公司 | 一种深度学习开发平台资源的分配方法及设备 |
CN112817581A (zh) * | 2021-02-20 | 2021-05-18 | 中国电子科技集团公司第二十八研究所 | 一种轻量级智能服务构建和运行支撑方法 |
CN113467931B (zh) * | 2021-06-04 | 2023-12-22 | 中国联合网络通信集团有限公司 | 算力任务的处理方法、装置及系统 |
CN113608751B (zh) * | 2021-08-04 | 2023-04-07 | 北京百度网讯科技有限公司 | 推理服务平台的运行方法、装置、设备及存储介质 |
CN113723610B (zh) * | 2021-08-30 | 2023-07-28 | 苏州浪潮智能科技有限公司 | 一种推理框架动态更新方法、装置、设备及可读存储介质 |
CN113791759A (zh) * | 2021-09-09 | 2021-12-14 | 上海仙塔智能科技有限公司 | 代码开发的处理方法、装置、电子设备与存储介质 |
CN114036031B (zh) * | 2022-01-05 | 2022-06-24 | 阿里云计算有限公司 | 一种企业数字中台中资源服务应用的调度系统和方法 |
CN114780110B (zh) * | 2022-06-21 | 2022-09-09 | 山东极视角科技有限公司 | 一种算法链路的优化方法及优化系统 |
CN115248692A (zh) * | 2022-09-21 | 2022-10-28 | 之江实验室 | 一种支持多种深度学习框架模型云端部署的装置及方法 |
CN115344356B (zh) * | 2022-10-18 | 2023-01-31 | 江苏智云天工科技有限公司 | 基于容器化实现分布式训练系统及其构建方法 |
CN115562813B (zh) * | 2022-10-27 | 2023-04-18 | 北京同创永益科技发展有限公司 | 一种云原生环境动态构建工作负载的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302771A (zh) * | 2016-08-23 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种基于Docker容器创建的应用的域名配置方法 |
CN109272116A (zh) * | 2018-09-05 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种深度学习的方法及装置 |
CN110058922A (zh) * | 2019-03-19 | 2019-07-26 | 华为技术有限公司 | 一种提取机器学习任务的元数据的方法、装置 |
CN110516934A (zh) * | 2019-08-13 | 2019-11-29 | 湖南智擎科技有限公司 | 基于可伸缩集群的智能化大数据实训方法及系统 |
CN110941474A (zh) * | 2018-09-25 | 2020-03-31 | 北京京东尚科信息技术有限公司 | Hadoop与Kubernetes系统共享计算资源的方法、系统、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920259B (zh) * | 2018-03-30 | 2022-06-24 | 华为云计算技术有限公司 | 深度学习作业调度方法、系统和相关设备 |
CN111629061B (zh) * | 2020-05-28 | 2023-01-24 | 苏州浪潮智能科技有限公司 | 一种基于Kubernetes的推理服务系统 |
-
2020
- 2020-05-28 CN CN202010470862.6A patent/CN111629061B/zh active Active
-
2021
- 2021-01-22 WO PCT/CN2021/073345 patent/WO2021238251A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302771A (zh) * | 2016-08-23 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种基于Docker容器创建的应用的域名配置方法 |
CN109272116A (zh) * | 2018-09-05 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种深度学习的方法及装置 |
CN110941474A (zh) * | 2018-09-25 | 2020-03-31 | 北京京东尚科信息技术有限公司 | Hadoop与Kubernetes系统共享计算资源的方法、系统、设备及存储介质 |
CN110058922A (zh) * | 2019-03-19 | 2019-07-26 | 华为技术有限公司 | 一种提取机器学习任务的元数据的方法、装置 |
CN110516934A (zh) * | 2019-08-13 | 2019-11-29 | 湖南智擎科技有限公司 | 基于可伸缩集群的智能化大数据实训方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2021238251A1 (zh) | 2021-12-02 |
CN111629061A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111629061B (zh) | 一种基于Kubernetes的推理服务系统 | |
CN102880503B (zh) | 数据分析系统及数据分析方法 | |
US10289539B1 (en) | Performance testing in a software deployment pipeline | |
US11200157B1 (en) | Automated execution reporting for container builds | |
US20130262931A1 (en) | Systems and/or methods for testing client reactions to simulated disruptions | |
CN111341445B (zh) | 微服务调用链的健康检测方法和健康检测系统 | |
CN112395196B (zh) | 数据作业开发测试方法、装置、设备、系统及存储介质 | |
CN111258913A (zh) | 算法自动测试方法、装置、计算机系统及可读存储介质 | |
CN117056240B (zh) | 一种支持离线Jar包的数据元件开发调试方法和系统 | |
CN114564374A (zh) | 算子性能评估方法、装置、电子设备及存储介质 | |
Koziolek et al. | Lightweight kubernetes distributions: A performance comparison of microk8s, k3s, k0s, and microshift | |
CN112306857A (zh) | 用于测试应用的方法和装置 | |
EP3829112B1 (en) | Testing and maintaining outage resilience of server resources | |
CN111897684B (zh) | 磁盘故障模拟测试的方法、装置及电子设备 | |
CN111124310B (zh) | 存储系统调度优化方法及相关组件 | |
CN114168439A (zh) | 一种集群内服务的压测控制方法、装置、存储介质及终端 | |
CN114238091A (zh) | 一种常驻型交互式服务集群测试方法及系统 | |
CN111008116A (zh) | 一种定时快照特性测试方法及系统 | |
CN116909756B (zh) | 跨云服务方法、装置、电子设备及存储介质 | |
ALMENARES | A Framework for Microservice Migration and Performance Assesment | |
US11340940B2 (en) | Workload assessment and configuration simulator | |
CN116069504B (zh) | 自动驾驶仿真中多核处理器的调度方法及装置 | |
CN111324523B (zh) | 一种数据处理方法及装置 | |
CN112925721A (zh) | 一种分布式系统的测试方法及装置 | |
CN116521458A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |