CN114706622B - 启动模型服务的方法、装置、设备、介质及产品 - Google Patents
启动模型服务的方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN114706622B CN114706622B CN202210238004.8A CN202210238004A CN114706622B CN 114706622 B CN114706622 B CN 114706622B CN 202210238004 A CN202210238004 A CN 202210238004A CN 114706622 B CN114706622 B CN 114706622B
- Authority
- CN
- China
- Prior art keywords
- service
- model
- service model
- image file
- context information
- 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
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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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
-
- 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本公开提供了一种启动模型服务的方法、装置、设备、介质及产品,涉及计算机技术领域,尤其涉及AI平台技术领域。具体实现方案为:响应于服务模型被触发启动,获取所述服务模型所对应的镜像文件,其中,所述镜像文件中包括所述服务模型的元信息,以及所述服务模型所运行服务进程的上下文信息;加载所述镜像文件,以启动所述服务模型进行服务。本公开能够获取服务模型对应的镜像文件,通过加载镜像文件实现服务模型的启动,减少模型启动时间,提高模型服务启动速度,从而提升用户体验。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及AI平台技术领域,具体涉及一种启动模型服务的方法、装置、设备、介质及产品。
背景技术
随着科技的进步,人工智能(Artificial Intelligence,AI)技术得以飞速发展,应用于人类生活中的各个领域。例如,智能家居、智能穿戴设备、虚拟助理、自动驾驶、无人机、机器人、智能医疗、智能客服等,均属于AI技术的范畴。
AI服务通过AI服务平台为用户提供服务,实现客户定制化AI模型的部署与上线,随着客户量的增加,不同模型数量激增,占用的内存资源越来越庞大。
发明内容
本公开提供了一种用于启动模型服务的方法、装置、设备、存储介质及程序产品。
根据本公开的一方面,提供了一种启动模型服务的方法,包括:响应于服务模型被触发启动,获取所述服务模型所对应的镜像文件,其中,所述镜像文件中包括所述服务模型的元信息,以及所述服务模型所运行服务进程的上下文信息;加载所述镜像文件,以启动所述服务模型进行服务。
根据本公开的另一方面,提供了一种启动模型服务的装置,包括:获取模块,用于当服务模型被触发启动时,获取所述服务模型所对应的镜像文件,其中,所述镜像文件中包括所述服务模型的元信息,以及所述服务模型所运行服务进程的上下文信息;启动模块,用于加载所述镜像文件,以启动所述服务模型。
根据本公开的又一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开中任一项所述的启动模型服务的方法。
根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开中任一项所述的启动模型服务的方法。
根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开中任一项所述的启动模型服务的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的启动模型服务的方法的流程示意图;
图2是根据本公开的创建镜像文件的方法的流程示意图;
图3是根据本公开的控制服务模型运行服务进程方法的流程示意图;
图4是根据本公开的获取服务模型所运行服务进程的上下文信息以及服务模型的元信息方法的流程示意图;
图5是根据本公开的获取服务模型所运行服务进程的上下文信息以及服务模型的元信息方法的流程示意图;
图6是根据本公开的加载所述镜像文件,以启动所述服务模型方法的流程示意图;
图7是根据本公开的实现启动模型服务的方法的系统结构示意图;
图8是根据本公开的启动模型服务的装置的框图;
图9是根据本公开的启动模型服务的装置的框图;
图10是用来实现本公开实施例的启动模型服务的方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
AI作为计算机科学的一个分支,仿真以人类智能相似的方式做出反应,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。AI技术诞生以来,理论和技术日益成熟,其在各行各业被广泛应用,通过将本领域业务与AI技术相结合的方式,进行降本增效。
为了满足广阔的市场需求,通过AI服务平台,进行客户定制化AI模型的部署与上线,大量模型占用的资源也越来越庞大。模型服务启动时,由于需要重新加载模型,导致启动时间较长。
当前技术中,为了解决AI模型加载的耗时问题,可以通过对模型进行剪枝、量化等操作,减小模型体量,以加快AI模型加载速度。但是,对模型进行剪枝、量化会降低模型服务精度,且对模型剪枝、量化也会带来成本的增加。或者,在AI模型启动时采用懒加载的方式以提高模型的启动速度,例如,不采取层间融合策略或者不使用指令集优化等。但此种方式下,AI模型加载速度只能得到有限的提高,且影响使用模型进行推理的速度,造成流量丢失。
鉴于此,本公开实施例提供了一种启动模型服务的方法,在AI服务启动时,获取并加载AI服务模型对应的镜像文件,通过加载镜像文件,实现AI模型的快速加载以实现服务的启动,从而提升用户体验。
图1是根据本公开的启动模型服务的方法的流程示意图。如图1所示,本公开的方法包括以下步骤。
在步骤S101中,响应于服务模型被触发启动,获取服务模型所对应的镜像文件,其中,镜像文件中包括服务模型的元信息,以及服务模型所运行服务进程的上下文信息。
在本公开实施例中,以服务模型为AI服务模型为例进行描述,在启动AI服务模型时,获取AI服务模型对应的镜像文件,以实现AI服务模型的正常应用。镜像文件中包括AI服务模型的元信息,元信息用于记录AI服务模型的功能、实现模型推理服务等自身依赖的条件,可以是包括:服务进程标识、服务统一资源定位符(Universal Resource Locator,URL)以及其他服务日志等。AI服务模型对应的镜像文件还包括服务模型所运行服务进程的上下文信息,例如,加载模型到内存的过程、AI服务模型进程的状态等。
在步骤S102中,加载镜像文件,以启动服务模型进行服务。
在本公开实施例中,在启动AI服务模型时,不进行模型的加载,而是获取AI服务模型对应的镜像文件,并通过该获取到的镜像文件,启动AI服务模型提供服务。
根据本公开实施例,在AI服务模型启动并提供服务时,获取AI服务模型对应的镜像文件,通过加载镜像文件实现AI服务模型的启动,减少模型启动时间,提高模型服务启动速度,从而提升用户体验。
图2是根据本公开的创建镜像文件的方法的流程示意图。如图2所示,本公开的方法包括以下步骤。
在步骤S201中,控制服务模型运行服务进程。
在本公开实施例中,可以是预先创建AI服务模型所对应的镜像文件,可以是在AI服务模型服务首次启动时进行镜像文件的创建,也可以将创建镜像文件作为AI服务模型提供服务的前置过程,以在使用AI服务时进行镜像文件的获取。控制AI服务模型运行服务进程,包括安装AI服务模型运行所需的环境,例如,配置底层硬件驱动、安装运行AI服务模型时所需的依赖库等。运行环境安装后,启动AI服务模型以提供相应的服务,可以理解地,AI服务模型可以提供基于各种协议的服务,例如,超文本传输协议(Hyper Text TransferProtocol,HTTP)服务、远程过程调用(Remote Procedure Call,RPC)服务、传输控制协议(Transmission Control Protocol,TCP)服务等,本公开实施例对此不作限定。
在步骤S202,获取服务模型所运行服务进程的上下文信息以及服务模型的元信息。
在本公开实施例中,AI服务模型提供服务时,可以通过检查点(Checkpoint)操作获取服务模型所运行服务进程的上下文信息以及服务模型的元信息。通过系统调用(ptrace)机制,将一段特殊代码注入到服务模型所运行服务进程并运行,以收集服务进程的上下文信息。可以理解地,ptrace机制中,父进程得以监视和控制其它进程,可改变子进程中的寄存器和内核映像,实现断点调试和系统调用的跟踪。在执行系统调用之前,如果当前进程处于被“跟踪”的状态,将控制权交给跟踪进程,使跟踪进程得以察看或者修改被跟踪进程的寄存器。进行Checkpoint操作时,对应该Checkpoint检查点将AI服务模型所运行服务进程的上下文信息以及服务模型的元信息,进行转储。
在步骤S203中,创建包括元信息以及上下文信息的镜像文件。
将AI服务模型运行服务时,获取到的AI服务模型所运行服务进程的上下文信息以及AI服务模型的元信息,进行转储操作,创建包括AI服务模型的元信息以及上下文信息的镜像文件。对包括元信息以及上下文信息的镜像文件的进行存储时,可以通过提供统一的应用程序接口,屏蔽后端具体的存储细节。可以通过后端支持本地存储、分布式存储、对象存储等多种方式,实现镜像文件的存储。
根据本公开的实施例,AI服务模型运行服务进程提供服务,将包括运行服务进程的上下文信息以及服务模型的元信息创建镜像文件,以在AI服务模型再次被触发启动,通过加载镜像文件启动AI服务模型,提高模型服务启动速度,减少模型服务启动时间。
图3是根据本公开的控制服务模型运行服务进程方法的流程示意图。如图3所示,本公开的方法包括以下步骤。
在步骤S301中,调用运行的服务模型。
在步骤S302中,触发服务模型中包括的工作实例加载服务模型,以唤醒服务模型运行服务进程。
在本公开实施例中,启动AI服务模型,AI服务模型运行服务进程以提供相应的服务。可以通过脚本,调用运行的AI服务模型,并触发AI服务模型中包括的工作实例加载服务模型。AI服务模型中可以包括多个工作实例,多个工作实例并行利用服务模型进行推理,以提供服务。
根据本公开的实施例,调用运行的AI服务模型,触发AI服务模型中的工作实例加载AI服务模型,以唤醒服务模型运行服务进程,并获取服务模型所运行服务进程的上下文信息以及服务模型的元信息,使服务模型所对应的镜像文件包括AI服务模型的信息,为通过加载镜像文件启动AI服务模型提供保障。
图4是根据本公开的获取服务模型所运行服务进程的上下文信息以及服务模型的元信息方法的流程示意图。如图4所示,本公开的方法包括以下步骤。
在步骤S401中,响应于确定服务模型被唤醒成功,监测服务模型所运行服务进程的上下文信息。
在步骤S402中,存储上下文信息,并记录服务模型的元信息。
在本公开实施例中,AI服务模型启动并运行服务进程,以提供相应的服务。通过脚本调用运行的AI服务模型,以实现对AI服务模型进行唤醒。AI服务模型中包括多个工作实例,多个工作实例响应接收到的调用AI服务的请求,进行AI服务模型加载,并基于加载的AI服务模型进行推理工作。通过轮询AI服务模型中包括的多个工作实例,以确定AI服务模型被唤醒成功。当确定AI服务模型被成功唤醒时,通过对AI服务模型进行Checkpoint操作,将模型所运行服务进程的上下文信息进行存储,并记录AI服务模型的元信息。
根据本公开实施例,调用运行的AI服务模型,并唤醒AI服务模型运行服务进程,确定AI服务模型被唤醒成功时,存储AI服务模型所运行服务进程的上下文信息,并记录AI服务模型的元信息,以创建AI服务模型所对应的镜像文件,为通过加载镜像文件启动AI服务模型提供保障。
图5是根据本公开的获取所述服务模型所运行服务进程的上下文信息以及所述服务模型的元信息方法的流程示意图。如图5所示,本公开的方法包括以下步骤。
在步骤S501中,若确定大于数量阈值的工作实例完成服务模型的加载,且基于服务模型成功完成推理,则确定服务模型被唤醒成功。
在步骤S502中,监测服务模型所运行服务进程的上下文信息。
在步骤S503中,存储上下文信息,并记录服务模型的元信息。
在本公开实施例中,创建包括AI服务模型的元信息,以及AI服务模型所运行服务进程的上下文信息的镜像文件,以在启动AI服务模型时,能够基于镜像文件代替加载AI服务模型,实现通过AI服务模型提供服务。在创建镜像文件时,通过脚本调用运行的AI服务模型,触发AI服务模型中包括的多个工作实例加载服务模型。通过轮询,确定对AI服务模型唤醒成功时,存储服务模型所运行服务进程的上下文信息,并记录服务模型的元信息,从而创建元信息以及上下文信息的镜像文件。其中,AI服务模型中包括的多个工作实例,响应于接收到的调用AI服务的请求,进行AI服务模型加载,并基于加载的AI服务模型进行推理工作。确定大于数量阈值的工作实例完成服务模型的加载,且基于服务模型成功完成推理,即确定服务模型被唤醒成功。
根据本公开实施例,调用运行的AI服务模型,并唤醒AI服务模型运行服务进程,确定大于数量阈值的工作实例完成AI服务模型的加载,且基于AI服务模型成功完成推理时,存储AI服务模型所运行服务进程的上下文信息,并记录AI服务模型的元信息,以充分记录AI服务模型全部工作实例的服务进程信息,创建AI服务模型所对应的镜像文件,为通过加载镜像文件启动AI服务模型提供保障。
图6是根据本公开的加载所述镜像文件,以启动所述服务模型方法的流程示意图。如图6所示,本公开的方法包括以下步骤。
在步骤S601中,解析镜像文件,得到服务进程的上下文信息以及服务模型的元信息。
在本公开实施例中,AI服务模型启动,运行以提供服务,通过获取并加载包括AI服务模型的元信息,以及AI服务模型所运行服务进程的上下文信息的镜像文件,代替对AI服务模型的加载,以恢复AI服务模型的服务。将镜像文件复制到本地,加载至内存,并解析镜像文件,得到AI服务进程的上下文信息以及AI服务模型的元信息。
在步骤S602中,基于服务模型的元信息以及服务进程的上下文信息,确定服务模型所运行服务进程的目标运行状态。
在步骤S603中,控制服务模型所运行的服务进程,在目标运行状态下提供服务。
在本公开实施例中,通过解析得到的AI服务模型的元信息,以及服务进程的上下文信息,确定AI服务模型的目标运行状态,即将AI服务模型的运行状态恢复至镜像文件中包括的AI服务模型运行服务进程的运行状态。AI服务模型基于目标运行状态,继续提供服务。
根据本公开实施例,在需要启动AI服务模型时,无需加载模型,通过读取、解析预先创建的镜像文件,恢复AI服务模型,并基于服务模型的元信息以及服务进程的上下文信息,恢复服务模型所运行服务进程的运行状态,确保模型能够有效地提供服务,减少模型启动时间,提高模型服务启动速度。
图7是根据本公开的实现启动模型服务的方法的系统结构示意图。如图7所示,本公开实施例的启动模型服务的方法,可以基于用户空间中的检查点和恢复(Checkpointand Restore in User space,CRIU)实现,CRIU可以在用户空间实现检查点以及恢复功能,即检查点进程文件,应用备份得到的进程文件,恢复进程。该系统可以包括启动(launch)模块、准备(warm up)模块、转储(dump)模块、恢复(restore)模块、存储模块等。其中,launch模块负责安装AI服务运行所需的环境依赖,包括底层硬件驱动、运行时所需的依赖库等,并正常启动AI服务,基于HTTP服务、RPC服务、TCP服务等对外提供服务。Launch模块通过多个算法,对应启动多个AI服务。当launch模块正常运行时,warmup模块通过脚本调用AI服务模型运行的AI服务,触发AI服务内部的多个工作实例接收到调用运行服务进程的请求,以唤醒AI服务。Dump模块轮训warmup模块是否完成AI服务模型的唤醒,即AI服务模型内部的多个实例均完成服务模型的加载,并基于服务模型完成推理工作。确定AI服务模型被充分唤醒后,进行AI服务的Checkpoint操作,即将AI服务模型运行的AI服务进程树中的服务进程上下文信息存储在存储模块中,并记录AI服务模型的元信息,元信息可以包括服务进程编码、服务URL、服务日志等,创建镜像文件。存储模块将dump模块Checkpoint操作生成的镜像文件进行存储,通过提供统一的应用程序接口,屏蔽后端具体的存储细节,后端可以以本地存储、分布式存储、对象存储等多种方式实现。恢复模块从存储模块将AI服务模型对应的镜像文件复制到本地,加载至内存,并进行解析,恢复AI服务模型所运行服务进程的运行状态,继续对外提供服务。恢复模块,也可以通过上述方式实现AI服务模型对应的镜像文件的多次加载。
根据本公开实施例的启动模型服务方法,在AI服务模型启动时,通过读取AI服务模型对应的镜像文件来代替模型的加载,减少模型启动时间,提高模型服务启动速度,从而提升用户体验。
基于相同的构思,本公开实施例还提供一种启动模型服务的装置。
可以理解的是,本公开实施例提供的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本公开实施例中所公开的各示例的单元及算法步骤,本公开实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本公开实施例的技术方案的范围。
图8是根据本公开的启动模型服务的装置的框图。
如图8所示,本公开实施例的启动模型服务的装置700,包括:获取模块701和启动模块702。
获取模块701,用于当服务模型被触发启动时,获取服务模型所对应的镜像文件,其中,镜像文件中包括服务模型的元信息,以及服务模型所运行服务进程的上下文信息;
启动模块702,用于加载镜像文件,以启动服务模型进行服务。
图9是根据本公开的启动模型服务的装置的框图。
如图9所示,本公开实施例的启动模型服务的装置700,还包括:创建模块703。
创建模块703,用于控制服务模型运行服务进程,获取服务模型所运行服务进程的上下文信息以及服务模型的元信息,创建包括元信息以及上下文信息的镜像文件。
在本公开示例性的实施方式中,创建模块703还用于:调用运行的服务模型;触发服务模型中包括的工作实例加载服务模型,以唤醒服务模型运行服务进程。
在本公开示例性的实施方式中,获取模块701还用于:响应于确定服务模型被唤醒成功,监测服务模型所运行服务进程的上下文信息;存储上下文信息,并记录服务模型的元信息。
在本公开示例性的实施方式中,获取模块701还用于:若确定大于数量阈值的工作实例完成服务模型的加载,且基于服务模型成功完成推理,则确定服务模型被唤醒成功。
在本公开示例性的实施方式中,启动模块702还用于:解析镜像文件,得到服务进程的上下文信息以及服务模型的元信息;基于服务模型的元信息以及服务进程的上下文信息,确定服务模型所运行服务进程的目标运行状态;控制服务模型所运行的服务进程,在目标运行状态下提供服务。
综上,根据本公开实施例的启动模型服务的装置,在AI服务模型启动并提供服务时,获取AI服务模型对应的镜像文件,通过加载镜像文件实现AI服务模型的启动,减少模型启动时间,提高模型服务启动速度,从而提升用户体验。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图10示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如启动模型服务的方法。例如,在一些实施例中,启动模型服务的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的启动模型服务的方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行启动模型服务的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
根据本公开实施例提供的技术方案,本公开能够在AI服务模型启动并提供服务时,获取AI服务模型对应的镜像文件,通过加载镜像文件实现AI服务模型的启动,减少模型启动时间,提高模型服务启动速度,从而提升用户体验。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (10)
1.一种启动模型服务的方法,包括:
响应于服务模型被触发启动,获取所述服务模型所对应的镜像文件,其中,所述镜像文件中包括所述服务模型的元信息,以及所述服务模型所运行服务进程的上下文信息;
加载所述镜像文件,以启动所述服务模型进行服务;
其中,所述镜像文件采用如下方式创建:
控制所述服务模型运行服务进程;
获取所述服务模型所运行服务进程的上下文信息以及所述服务模型的元信息;
创建包括所述元信息以及所述上下文信息的镜像文件;
其中,所述加载所述镜像文件,以启动所述服务模型,包括:
解析所述镜像文件,得到服务进程的上下文信息以及所述服务模型的元信息;
基于所述服务模型的元信息以及所述服务进程的上下文信息,确定所述服务模型所运行服务进程的目标运行状态;
控制所述服务模型所运行的服务进程,在所述目标运行状态下提供服务。
2.根据权利要求1所述的方法,所述控制所述服务模型运行服务进程,包括:
调用运行的所述服务模型;
触发所述服务模型中包括的工作实例加载所述服务模型,以唤醒所述服务模型运行服务进程。
3.根据权利要求1或2所述的方法,其中,所述获取所述服务模型所运行服务进程的上下文信息以及所述服务模型的元信息,包括:
响应于确定所述服务模型被唤醒成功,监测所述服务模型所运行服务进程的上下文信息;
存储所述上下文信息,并记录所述服务模型的元信息。
4.根据权利要求3所述的方法,其中,所述确定所述服务模型被唤醒成功,包括:
若确定大于数量阈值的工作实例完成所述服务模型的加载,且基于所述服务模型成功完成推理,则确定服务模型被唤醒成功。
5.一种启动模型服务的装置,包括:
获取模块,用于当服务模型被触发启动时,获取所述服务模型所对应的镜像文件,其中,所述镜像文件中包括所述服务模型的元信息,以及所述服务模型所运行服务进程的上下文信息;
启动模块,用于加载所述镜像文件,以启动所述服务模型进行服务;
其中,所述装置还包括:
创建模块,用于控制所述服务模型运行服务进程,获取所述服务模型所运行服务进程的上下文信息以及所述服务模型的元信息,创建包括所述元信息以及所述上下文信息的镜像文件;
其中,所述启动模块还用于:
解析所述镜像文件,得到服务进程的上下文信息以及所述服务模型的元信息;
基于所述服务模型的元信息以及所述服务进程的上下文信息,确定所述服务模型所运行服务进程的目标运行状态;
控制所述服务模型所运行的服务进程,在所述目标运行状态下提供服务。
6.根据权利要求5所述的装置,所述创建模块还用于:
调用运行的所述服务模型;
触发所述服务模型中包括的工作实例加载所述服务模型,以唤醒所述服务模型运行服务进程。
7.根据权利要求5或6所述的装置,其中,所述获取模块还用于:
响应于确定所述服务模型被唤醒成功,监测所述服务模型所运行服务进程的上下文信息;
存储所述上下文信息,并记录所述服务模型的元信息。
8.根据权利要求7所述的装置,其中,所述获取模块还用于:
若确定大于数量阈值的工作实例完成所述服务模型的加载,且基于所述服务模型成功完成推理,则确定服务模型被唤醒成功。
9.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的启动模型服务的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-4中任一项所述的启动模型服务的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210238004.8A CN114706622B (zh) | 2022-03-10 | 2022-03-10 | 启动模型服务的方法、装置、设备、介质及产品 |
PCT/CN2022/105180 WO2023168875A1 (zh) | 2022-03-10 | 2022-07-12 | 启动模型服务的方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210238004.8A CN114706622B (zh) | 2022-03-10 | 2022-03-10 | 启动模型服务的方法、装置、设备、介质及产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114706622A CN114706622A (zh) | 2022-07-05 |
CN114706622B true CN114706622B (zh) | 2023-08-18 |
Family
ID=82169401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210238004.8A Active CN114706622B (zh) | 2022-03-10 | 2022-03-10 | 启动模型服务的方法、装置、设备、介质及产品 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114706622B (zh) |
WO (1) | WO2023168875A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706622B (zh) * | 2022-03-10 | 2023-08-18 | 北京百度网讯科技有限公司 | 启动模型服务的方法、装置、设备、介质及产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2159680A2 (en) * | 2008-08-29 | 2010-03-03 | R. Brent Johnson | Secure virtual tape management system with balanced storage and multi-mirror options |
WO2015180601A1 (zh) * | 2014-05-30 | 2015-12-03 | 阿里巴巴集团控股有限公司 | WebApp启动运行、生成镜像文件的方法和装置 |
WO2017129106A1 (zh) * | 2016-01-29 | 2017-08-03 | 腾讯科技(深圳)有限公司 | 数据请求处理的方法、服务器及系统 |
WO2019100605A1 (zh) * | 2017-11-21 | 2019-05-31 | 平安科技(深圳)有限公司 | 平台即服务paas容器平台的构建方法、服务器、系统及存储介质 |
CN112035228A (zh) * | 2020-08-28 | 2020-12-04 | 光大科技有限公司 | 一种资源调度方法及装置 |
CN113900721A (zh) * | 2021-10-15 | 2022-01-07 | 北京字节跳动网络技术有限公司 | 操作系统启动方法、装置和电子设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2525409B (en) * | 2014-04-24 | 2016-11-02 | Ibm | Enabling an external operating system to access encrypted data units of a data storage system |
CN104102506B (zh) * | 2014-04-25 | 2017-05-31 | 华南理工大学 | 一种基于ARM平台的Android启动加速方法 |
CN104216776A (zh) * | 2014-08-25 | 2014-12-17 | 成都三零凯天通信实业有限公司 | 一种基于blcr技术的安卓操作系统快速启动方法 |
US10860393B2 (en) * | 2017-04-22 | 2020-12-08 | Nicira, Inc. | Tracking driver load and unload on windows OS |
CN110716758A (zh) * | 2018-06-26 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 程序运行方法、装置、设备以及存储介质 |
CN109189480B (zh) * | 2018-07-02 | 2021-11-09 | 新华三技术有限公司成都分公司 | 文件系统启动方法及装置 |
CN111930429A (zh) * | 2020-07-07 | 2020-11-13 | 上海商米科技集团股份有限公司 | 一种Android操作系统快速启动的方法及电子设备 |
CN114064190A (zh) * | 2020-07-30 | 2022-02-18 | 华为技术有限公司 | 一种容器启动方法及装置 |
CN112416467A (zh) * | 2020-12-10 | 2021-02-26 | 上海维宏电子科技股份有限公司 | 实现数控系统快速启动和初始化的控制系统、方法、装置、处理器及计算机可读存储介质 |
CN113885967B (zh) * | 2021-10-22 | 2024-02-13 | 北京字跳网络技术有限公司 | 一种小程序的启动方法、装置、设备及介质 |
CN114706622B (zh) * | 2022-03-10 | 2023-08-18 | 北京百度网讯科技有限公司 | 启动模型服务的方法、装置、设备、介质及产品 |
-
2022
- 2022-03-10 CN CN202210238004.8A patent/CN114706622B/zh active Active
- 2022-07-12 WO PCT/CN2022/105180 patent/WO2023168875A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2159680A2 (en) * | 2008-08-29 | 2010-03-03 | R. Brent Johnson | Secure virtual tape management system with balanced storage and multi-mirror options |
WO2015180601A1 (zh) * | 2014-05-30 | 2015-12-03 | 阿里巴巴集团控股有限公司 | WebApp启动运行、生成镜像文件的方法和装置 |
WO2017129106A1 (zh) * | 2016-01-29 | 2017-08-03 | 腾讯科技(深圳)有限公司 | 数据请求处理的方法、服务器及系统 |
WO2019100605A1 (zh) * | 2017-11-21 | 2019-05-31 | 平安科技(深圳)有限公司 | 平台即服务paas容器平台的构建方法、服务器、系统及存储介质 |
CN112035228A (zh) * | 2020-08-28 | 2020-12-04 | 光大科技有限公司 | 一种资源调度方法及装置 |
CN113900721A (zh) * | 2021-10-15 | 2022-01-07 | 北京字节跳动网络技术有限公司 | 操作系统启动方法、装置和电子设备 |
Non-Patent Citations (1)
Title |
---|
Ming-Chieh Cheng等.An Input Current Ripple-Free Flyback-Type Converter With Passive Pulsating Ripple Canceling Circuit.IEEE Transactions on Industry Applications.2016,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114706622A (zh) | 2022-07-05 |
WO2023168875A1 (zh) | 2023-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102493449B1 (ko) | 엣지 컴퓨팅 테스트 방법, 장치, 전자 장치 및 컴퓨터 판독 가능 매체 | |
CN105765534A (zh) | 虚拟计算系统和方法 | |
CN110413432B (zh) | 一种信息处理方法、电子设备及存储介质 | |
CN110673936B (zh) | 编排业务的断点续作方法、装置、存储介质及电子设备 | |
CN112465466B (zh) | 流程任务执行方法、装置、计算机设备和存储介质 | |
CN109951553B (zh) | 数据处理方法、系统、电子设备以及计算机可读存储介质 | |
CN112527281B (zh) | 基于人工智能的算子升级方法、装置、电子设备及介质 | |
CN112925587A (zh) | 用于初始化应用的方法和装置 | |
CN114706622B (zh) | 启动模型服务的方法、装置、设备、介质及产品 | |
CN110888639A (zh) | 一种业务代码编译打包方法和装置 | |
US8468388B2 (en) | Restoring programs after operating system failure | |
CN114035829A (zh) | 页面组件更新方法、装置、电子设备以及存储介质 | |
CN113051055A (zh) | 一种任务处理方法和装置 | |
CN110673898B (zh) | 一种设备管理方法、第一设备及交互系统 | |
US20180165136A1 (en) | A system, method, computer program and data signal for hosting and executing a program on a mainframe | |
US9378123B2 (en) | Testing of transaction tracking software | |
WO2022206295A1 (en) | Program context migration | |
CN116051031A (zh) | 项目调度系统、介质及电子设备 | |
CN111061259A (zh) | 行走机器人的事件化驱动方法、系统、设备及存储介质 | |
CN115509850A (zh) | 日志处理方法、装置、设备、储存介质及计算机程序 | |
US11797770B2 (en) | Self-improving document classification and splitting for document processing in robotic process automation | |
CN114091909A (zh) | 一种协同开发的方法、系统、装置及电子设备 | |
CN114047976A (zh) | 插件加载方法、装置、电子设备、存储介质 | |
CN113849287A (zh) | 算法服务的处理方法、装置、电子设备及存储介质 | |
CN112491940A (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 |