多模型的管理方法、系统、介质及服务器与流程

文档序号:22343760发布日期:2020-09-25 18:15阅读:121来源:国知局
多模型的管理方法、系统、介质及服务器与流程

本发明属于模型部署的技术领域,涉及一种模型管理方法,特别是涉及一种多模型的管理方法、系统、介质及服务器。



背景技术:

在诸多模型的生产过程中,例如机器学习模型,为了让模型能够顺利的运行,需要运行环境能够提供和模型所匹配的依赖环境。然而,不同模型所需要的依赖环境并不一致。如何正确的管理运行环境和模型,使得它们能够匹配,是模型部署阶段的一个难点。

尽管存在docker等容器化技术,能够可靠对特定的模型创建匹配的运行环境,但是这会导致每个模型都需要一个独立的docker容器包,造成大量硬件资源的浪费。例如,如果存在100个模型,那么服务器上要运行100个独立的服务,如果这些模型需要用到tensorflow,pandas等常见的第三方库,那么每个环境都可能需要占用超过1g的硬盘空间。其中,tensorflow是一个基于数据流编程的符号数学系统,被广泛应用于各类机器学习算法的编程实现,pandas是python的一个数据分析包,为了解决数据分析任务而创建。

与此同时,依赖库的升级也会变得困难。例如,如果发现有个依赖库存在bug,需要升级修复,那么需要对所有模型的依赖库进行替换和升级。

因此,如何提供一种多模型的管理方法、系统、介质及服务器,以解决现有技术无法简化依赖库的升级过程并通过优化运行环境数量进行硬件资源的有效利用等缺陷,成为本领域技术人员亟待解决的技术问题。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种多模型的管理方法、系统、介质及服务器,用于解决现有技术无法简化依赖库的升级过程并通过优化运行环境数量进行硬件资源的有效利用的问题。

为实现上述目的及其他相关目的,本发明一方面提供一种多模型的管理方法,所述多模型的管理方法包括:根据模型的依赖库的依赖关系确定所述模型适用的运行环境;比较所述模型的依赖库与所述运行环境的依赖库之间版本信息的差异;判断差异的程度,并根据所述差异的程度对所述运行环境进行更新。

于本发明的一实施例中,根据模型的依赖库的依赖关系确定所述模型适用的运行环境的步骤包括:遍历所有的运行环境的依赖关系,在所有的运行环境中查找与所述模型匹配的运行环境。

于本发明的一实施例中,判断差异的程度,并根据所述差异的程度对所述运行环境进行更新的步骤包括:根据是否需要向后兼容的升级,将所述差异的程度分为次版本号升级和主版本号升级;若为次版本号升级,则对所述运行环境进行升级;若为主版本号升级,则在所述运行环境的基础上创建新的运行环境。

于本发明的一实施例中,若为次版本号升级,则对所述运行环境进行升级的步骤包括:逐一确定所述模型依赖的多个依赖库的版本;在所述运行环境中确定待升级的依赖库和/或待补充的依赖库;将所述运行环境中待升级的依赖库替换为所述模型依赖的依赖库和/或在所述运行环境中补入待补充的依赖库。

于本发明的一实施例中,若为主版本号升级,则在所述运行环境的基础上创建新的运行环境的步骤包括:逐一确定所述模型依赖的多个依赖库的版本;按照所述模型的依赖库版本与依赖关系,创建新的运行环境。

于本发明的一实施例中,根据模型的依赖库的依赖关系确定所述模型适用的运行环境的步骤之前,所述多模型的管理方法还包括:在所述模型的训练过程中,记录所述模型需要调用的各个依赖库之间的依赖关系。

于本发明的一实施例中,在判断差异的程度,并根据所述差异的程度对所述运行环境进行更新的步骤之后,所述多模型的管理方法还包括:在所述运行环境更新完毕后,将所述模型部署于所述运行环境中,以使所述模型调用与之对应的运行环境中的依赖库后进行运行与测试。

本发明另一方面提供一种多模型的管理系统,所述多模型的管理系统包括:运行环境确定模块,用于根据模型的依赖库的依赖关系确定所述模型适用的运行环境;差异比较模块,用于比较所述模型的依赖库与所述运行环境的依赖库之间版本信息的差异;更新模块,用于判断差异的程度,并根据所述差异的程度对所述运行环境进行更新。

本发明又一方面提供一种介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的多模型的管理方法。

本发明最后一方面提供一种服务器,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述服务器执行所述的多模型的管理方法。

如上所述,本发明所述的多模型的管理方法、系统、介质及服务器,具有以下有益效果:本发明通过是否需要向后兼容升级的判断分别对主版本号和次版本号采用不同的运行环境更新方式,简化了依赖库的升级过程。提供了一种自动化升级管理模型运行环境的管理策略,最大化减少多模型所需的运行环境数量。同时,降低模型过程的硬件资源消耗,以及提升运行环境维护效率。

附图说明

图1显示为本发明的多模型的管理方法于一实施例中的原理流程图。

图2显示为本发明的多模型的管理方法于一实施例中的运行环境更新流程图。

图3显示为本发明的多模型的管理方法于一实施例中的次版本号依赖树示意图。

图4显示为本发明的多模型的管理方法于一实施例中的次版本号升级示意图。

图5显示为本发明的多模型的管理方法于一实施例中的主版本号依赖树示意图。

图6显示为本发明的多模型的管理方法于一实施例中的主版本号升级示意图。

图7显示为本发明的多模型的管理系统于一实施例中的结构原理图。

图8显示为本发明的服务器于一实施例中的结构连接示意图。

元件标号说明

7多模型的管理系统

71运行环境确定模块

72差异比较模块

73更新模块

8服务器

81处理器

82存储器

83通信接口

84系统总线

s11~s13步骤

s131~s133步骤。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

本发明所述的多模型的管理方法提供了一种模型和运行环境管理系统,实现了能让同一个运行环境支持多个模型的运行,最大限度的减少需要维护的运行环境的数量。

以下将结合图1至图8详细阐述本实施例的一种多模型的管理方法、系统、介质及服务器的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本实施例的多模型的管理方法、系统、介质及服务器。

请参阅图1,显示为本发明的多模型的管理方法于一实施例中的原理流程图。所述多模型的管理方法可以应用于机器学习模型的管理,也可以应用于评分模型、各种预设规则的数学模型或其他依据各种算法建立的数学模型。如图1所示,所述多模型的管理方法具体包括以下几个步骤。

s11,根据模型的依赖库的依赖关系确定所述模型适用的运行环境。

在本实施例中,遍历所有的运行环境的依赖关系,在所有的运行环境中查找与所述模型匹配的运行环境。

具体地,每当有新模型完成训练,需要部署时,遍历查询所有运行环境的依赖关系,以找到新模型适用的运行环境。所有运行环境的依赖关系通过json((javascriptobjectnotation,js对象简谱)存储为树形结构。在查询时,提供一个查询函数接口,通过调用查询函数,对json存储的依赖数据进行解析,获取树形结构中各依赖库的依赖信息。

s12,比较所述模型的依赖库与所述运行环境的依赖库之间版本信息的差异。

s13,判断差异的程度,并根据所述差异的程度对所述运行环境进行更新。

请参阅图2,显示为本发明的多模型的管理方法于一实施例中的运行环境更新流程图。如图2所示,s13包括如下步骤。

s131,根据是否需要向后兼容的升级,将所述差异的程度分为次版本号升级和主版本号升级。于一实施例中,依赖库的版本号由三位数字组成,格式为v1.2.3,其中,第一个数字1可以表示主版本号,第二个数字2可以表示次版本号,第三个数字3可以表示修订号。具体表示方式可依据实际需求进行调整,但并不影响本发明多模型的管理方法的实现。

s132,若为次版本号升级,则对所述运行环境进行升级。

在本实施例中,s132包括:(1)逐一确定所述模型依赖的多个依赖库的版本。

(2)在所述运行环境中确定待升级的依赖库和/或待补充的依赖库。

(3)将所述运行环境中待升级的依赖库替换为所述模型依赖的依赖库和/或在所述运行环境中补入待补充的依赖库。

具体地,模型依赖的依赖库领先运行环境的依赖库,但是属于向后兼容的次版本号升级;或者需要的依赖库运行环境尚未安装。这时,可以通过升级运行环境中已有依赖库或在已有运行环境中补入新的依赖库的方式,让运行环境适应新的模型需求。在运行环境升级后,将模型部署于该运行环境。其中,默认数字大的版本号领先于数字小的版本号。

请参阅图3,显示为本发明的多模型的管理方法于一实施例中的次版本号依赖树示意图。如图3所示,该模型的依赖树包括依赖库a、依赖库b、依赖库c、依赖库d、依赖库e和依赖库f。其中,依赖库a(版本为v1.0.0)分别依赖于依赖库b(版本为v1.4.2)和依赖库c(版本为v1.3.0),依赖库c(版本为v1.3.0)依赖于依赖库d(版本为v1.3.1),依赖库e(版本为v1.0.0)单独依赖于依赖库f(版本为v1.0.0)。

请参阅图4,显示为本发明的多模型的管理方法于一实施例中的次版本号升级示意图。如图4所示,在多个运行环境中,根据图3模型依赖树,匹配到运行环境ⅰ,运行环境ⅰ包括依赖库a、依赖库b、依赖库c和依赖库d。其中,依赖库a(版本为v1.0.0)分别依赖于依赖库b(版本为v1.1.0)和依赖库c(版本为v1.3.0),依赖库c(版本为v1.3.0)依赖于依赖库d(版本为v1.0.0)。

与图3模型依赖树相比,运行环境ⅰ需要更新的地方包括:(1)依赖库b和依赖库d的版本更新。(2)依赖库e和依赖库f的增加。

升级旧环境之后,运行环境ⅰ对已有的依赖库b和依赖库d进行了次版本号的升级,而且补入了之前没有的依赖库e和依赖库f,以实现运行环境ⅰ提供的依赖树与图3模型依赖树完全匹配。

s133,若为主版本号升级,则在所述运行环境的基础上创建新的运行环境。

在本实施例中,s133包括:(1)逐一确定所述模型依赖的多个依赖库的版本。

(2)按照所述模型的依赖库版本与依赖关系,创建新的运行环境。

具体地,模型依赖的依赖库领先运行环境,需要做向后不兼容的大版本号升级。这时,无法通过升级已有运行环境的方式适应新模型(如果为了适应新模型,作出向后不兼容的升级,可能会导致该运行环境已有的模型无法顺利运行),这时,基于新模型的需求,创建一个新的运行环境,并且将模型部署于这个新的运行环境。

请参阅图5,显示为本发明的多模型的管理方法于一实施例中的主版本号依赖树示意图。如图5所示,该模型的依赖树包括依赖库a、依赖库b、依赖库c、依赖库d、依赖库e和依赖库f。其中,依赖库a(版本为v1.0.0)分别依赖于依赖库b(版本为v1.1.0)和依赖库c(版本为v2.0.3),依赖库c(版本为v2.0.3)依赖于依赖库d(版本为v1.2.0),依赖库e(版本为v1.0.0)单独依赖于依赖库f(版本为v1.0.0)。

请参阅图6,显示为本发明的多模型的管理方法于一实施例中的主版本号升级示意图。如图6所示,在多个运行环境中,根据图5模型依赖树,匹配到运行环境ⅰ,运行环境ⅰ包括依赖库a、依赖库b、依赖库c、依赖库d、依赖库e和依赖库f。其中,依赖库a(版本为v1.0.0)分别依赖于依赖库b(版本为v1.1.0)和依赖库c(版本为v1.2.0),依赖库c(版本为v1.2.0)依赖于依赖库d(版本为v1.2.0),依赖库e(版本为v1.0.0)单独依赖于依赖库f(版本为v1.0.0)。

与图5模型依赖树相比,运行环境ⅰ需要更新的地方为依赖库c的主版本号升级。

在向后不兼容的情况下需创建新的运行环境ⅱ,运行环境ⅱ新增了所有的依赖库,以实现运行环境ⅱ提供的依赖树与图5模型依赖树完全匹配。

在本实施例中,在s11之前,所述多模型的管理方法还包括:在所述模型的训练过程中,记录所述模型需要调用的各个依赖库之间的依赖关系,如图3和图5所示,在所述模型的训练过程中,分别记录图3中模型需要调用的各个依赖库之间的依赖关系和图4中模型需要调用的各个依赖库之间的依赖关系。

在本实施例中,在s13之后,所述多模型的管理方法还包括:在所述运行环境更新完毕后,将所述模型部署于所述运行环境中,以使所述模型调用与之对应的运行环境中的依赖库后进行运行与测试。

于本发明的实际应用中,针对vte(venousthromboembolism,静脉血栓栓塞症)风险预测模型、脓毒症预测模型及肺炎分诊模型进行管理。其中,通过tensorflow、pandas进行模型训练。tensorflow是一个基于数据流编程(dataflowprogramming)的符号数学系统,被广泛应用于各类机器学习(machinelearning)算法的编程实现。pandas是基于numpy的一种工具,该工具是为了解决数据分析任务而创建的。pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。

(1)用依赖库tensorflow1.0训练了vte(venousthromboembolism,静脉血栓栓塞症)风险预测模型v1.0,运行环境为运行环境ⅰ。

(2)在调整模型训练参数后,用依赖库tensorflow1.0训练了vte风险预测模型v1.1,但依赖库仍是tensorflow1.0,没有改变,运行环境ⅰ也无需改变。

(3)用依赖库tensorflow1.0、依赖库pandas0.23训练了脓毒症预测模型v1.0,此环境可以兼容vte风险预测模型v1.0、vte风险预测模型v1.1的运行,需要在当前运行环境ⅰ中添加依赖库pandas0.23。

(4)用依赖库tensorflow2.0、依赖库pandas1.1训练了肺炎分诊模型v1.0,此环境无法兼容模型vte风险预测模型v1.0、vte风险预测模型v1.1以及脓毒症预测模型v1.0的运行,需要新创建一个运行环境ⅱ,来运行肺炎分诊模型v1.0。

(5)至此,一共有两个运行环境,即运行环境ⅰ与运行环境ⅱ,运行环境ⅰ运行vte风险预测模型v1.0、vte风险预测模型v1.1以及脓毒症预测模型v1.0;运行环境ⅱ运行肺炎分诊模型v1.0。

需要说明的是,本发明所述的多模型的管理方法除应用于多种疾病预测模型、医疗数据分析模型以外,还可以应用于教学分析模型、金融数据分析模型等其他模型的管理场景中。

本发明所述的多模型的管理方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。

本实施例提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述多模型的管理方法。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的计算机可读存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的计算机存储介质。

以下将结合图示对本实施例所提供的多模型的管理系统进行详细描述。需要说明的是,应理解以下系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如:某一模块可以为单独设立的处理元件,也可以集成在下述系统的某一个芯片中实现。此外,某一模块也可以以程序代码的形式存储于下述系统的存储器中,由下述系统的某一个处理元件调用并执行以下某一模块的功能。其它模块的实现与之类似。这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以下各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

以下这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),一个或多个数字信号处理器(digitalsignalprocessor,简称dsp),一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。当以下某个模块通过处理元件调用程序代码的形式实现时,该处理元件可以是通用处理器,如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

请参阅图7,显示为本发明的多模型的管理系统于一实施例中的结构原理图。如图7所示,所述多模型的管理系统7包括:运行环境确定模块71、差异比较模块72和更新模块73。

所述运行环境确定模块71用于根据模型的依赖库的依赖关系确定所述模型适用的运行环境。

在本实施例中,所述运行环境确定模块71具体用于遍历所有的运行环境的依赖关系,在所有的运行环境中查找与所述模型匹配的运行环境。

所述差异比较模块72用于比较所述模型的依赖库与所述运行环境的依赖库之间版本信息的差异。

所述更新模块73用于判断差异的程度,并根据所述差异的程度对所述运行环境进行更新。

在本实施例中,所述更新模块73具体用于根据是否需要向后兼容的升级,将所述差异的程度分为次版本号升级和主版本号升级;若为次版本号升级,则对所述运行环境进行升级;若为主版本号升级,则在所述运行环境的基础上创建新的运行环境。

本发明所述的多模型的管理系统可以实现本发明所述的多模型的管理方法,但本发明所述的多模型的管理方法的实现装置包括但不限于本实施例列举的多模型的管理系统的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。

请参阅图8,显示为本发明的服务器于一实施例中的结构连接示意图。如图8所示,本实施例提供一种服务器8,所述服务器8包括:处理器81、存储器82、通信接口83或/和系统总线84;存储器82和通信接口83通过系统总线84与处理器81连接并完成相互间的通信,存储器82用于存储计算机程序,通信接口83用于和其他服务器进行通信,处理器81用于运行计算机程序,使所述服务器8执行所述多模型的管理方法的各个步骤。

上述提到的系统总线84可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。通信接口83用于实现数据库访问服务器与其他服务器(如客户端、读写库和只读库)之间的通信。存储器82可能包含随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

上述的处理器81可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(alicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

综上所述,本发明所述多模型的管理方法、系统、介质及服务器通过是否需要向后兼容升级的判断分别对主版本号和次版本号采用不同的运行环境更新方式,简化了依赖库的升级过程。提供了一种自动化升级管理模型运行环境的管理策略,最大化减少多模型所需的运行环境数量。同时,降低模型过程的硬件资源消耗,以及提升运行环境维护效率。本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1