模型版本管理方法及装置与流程

文档序号:27127796发布日期:2021-10-27 20:30阅读:439来源:国知局
模型版本管理方法及装置与流程

1.本公开涉及数据处理技术领域,具体涉及到一种模型版本管理方法及装置。


背景技术:

2.在大数据时代,企业利用机器学习在建立特定领域的模型并指导企业的生产发展已成为一种重要的方式。企业在建立模型时会先在开发环境建模并多次迭代,并将训练好的模型发布到生产环境供业务人员使用。由于业务种类繁多,针对某一业务也需要在开发环境多次进行建模迭代才能布置到生产环境,因此企业可能会建立非常多的机器学习模型。
3.相关技术中,对模型的管理效率低。


技术实现要素:

4.本公开的主要目的在于提供一种模型版本管理方法及装置。
5.为了实现上述目的,根据本公开的第一方面,提供了一种模型版本管理方法,包括:在模型建立完成后,为所述模型配置第一标准格式的第一标识符;响应于接收到对所述模型进行调整的请求,对所述模型进行调整,并为所述调整后的模型配置升级后的第一标识符,其中,所述升级后的第一标识符基于上一次调整得到的标识符确定;响应于接收到对任意所述模型进行发布的请求,获取并存储任意所述模型的当前信息,得到与任意所述模型对应的业务模型;基于任意所述模型的第一标识符,为所述业务模型配置第二标准格式的第二标识符,以使所述业务模型以所述第二标识符的形式发布。
6.可选地,在得到所述业务模型后,所述方法还包括:对任意所述模型、及所述业务模型进行哈希计算。
7.可选地,基于任意所述模型的第一标识符,为所述业务模型配置第二标准格式的第二标识符,包括:对任意所述模型的第一标识符中包含的预设字段进行第一扩展,得到目标字段;在所述目标字段的基础上,将所述请求发布的时刻作为第二扩展内容,得到第二标识符。
8.可选地,方法还包括:在建立模型之前,从多个样本集中确定待建立模型的样本集;对待建立的模型标注标签;将样本集、以及所述标签作为所述待建立模型的身份标识。
9.根据本公开的第二方面,提供了一种模型版本管理装置,包括:第一配置单元,被配置成在模型建立完成后,为所述模型配置第一标准格式的第一标识符;处理单元,被配置成响应于接收到对所述模型进行调整的请求,对所述模型进行调整,并为所述调整后的模型配置升级后的第一标识符,其中,所述升级后的第一标识符基于上一次调整得到的标识符确定;获取单元,被配置成响应于接收到对任意所述模型进行发布的请求,获取并存储任意所述模型的当前信息,得到与任意所述模型对应的业务模型;第二配置单元,基于任意所述模型的第一标识符,为所述业务模型配置第二标准格式的第二标识符,以使所述业务模型以所述第二标识符的形式发布。
10.可选地,所述装置还包括:对任意所述模型、及所述业务模型进行哈希计算。
11.可选地,基于任意所述模型的第一标识符,为所述业务模型配置第二标准格式的第二标识符,包括:对任意所述模型的第一标识符中包含的预设字段进行第一扩展,得到目标字段;在所述目标字段的基础上,将所述请求发布的时刻作为第二扩展内容,得到第二标识符。
12.可选地,装置还包括:在建立模型之前,从多个样本集中确定待建立模型的样本集;对待建立的模型标注标签;将样本集、以及所述标签作为所述待建立模型的身份标识。
13.根据本公开的第三方面,提供了一种计算机可读存储介质,存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面任意一项实施例所述的模型版本管理方法。
14.根据本公开的第四方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行第一方面任意一项实现方式所述的模型版本管理方法。
15.在本公开实施例中,首先在模型建立完成后,为模型配置第一标准格式的第一标识符;而后响应于接收到对模型进行调整的请求,对模型进行调整,并为调整后的模型配置升级后的第一标识符;响应于接收到对任意所述模型进行发布的请求,获取并存储任意所述模型的当前信息,得到与任意所述模型对应的业务模型;最后基于任意模型的第一标识符,为所述业务模型配置第二标准格式的第二标识符,以使业务模型以所述第二标识符的形式发布。通过将模型分为开发版本和生产版本,从而将开发环境和生产环境的模型版本相互关联,同时满足模型版本在两个环境的隔离,实现了高效、直观地对不同版本的模型进行管理。解决了相关技术中管理模型版本效率低的技术问题。
附图说明
16.为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1是根据本公开实施例的模型版本管理方法流程图;
18.图2是根据本公开实施例的模型版本管理方法一个应用场景图;
19.图3是根据本公开实施例的模型版本管理方法另一个应用场景图;
20.图4是根据本公开实施例的模型版本管理装置结构图。
21.图5是根据本公开实施例的电子设备的示意图。
具体实施方式
22.为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
23.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
24.需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
25.根据本公开实施例,提供了一种模型版本管理方法,如图1所示,该方法包括如下的步骤101至步骤104:
26.步骤101:在模型建立完成后,为所述模型配置第一标准格式的第一标识符。
27.在本实施例中,由于在机器学习项目开发时,通常将模型分为开发环境和生产环境,开发环境,可以是开发人员可在样本集数据处理、建立模型、调整模型时调试开发的一种环境。
28.在开发环境下,当建立模型后,可以为模型配置具有标准格式的第一标识符,第一标识符可以标识开发环境下当前模型的开发版本。标准格式可以是“字符串+数字”的格式,其中“字符串”可以在第一次命名时自定义,如“v”,“version”或其他字符串;“数字”由系统指定。例如为1。除自动化配置命名外,系统还将为当前版本(例如,v1)生成时间戳,保证本模型版本的建模相关数据保持不变。
29.作为本实施例一种可选的实现方式,在建立模型之前,从多个样本集中确定待建立模型的样本集;对待建立的模型标注标签;将样本集、以及所述标签作为所述待建立模型的身份标识。
30.在本可选的实现方式中,样本集是建立模型时所使用的数据集。标签是为了进一步对同一样本集下的模型进行区分,可以是建模的目标(如天气数据下“预测天气“或”预测气温“)或者业务的特征(如汽车图片数据集下“识别汽车图像位置”或“识别汽车品牌”)。因此,开发人员可在开发环境选择特定的样本集并备注标签。模型版本是与特定组合的“样本集和标签”所对应,可针对选定的“样本集和标签”建立模型,并针对该“样本集和标签”下的模型进行版本管理。
31.步骤102:响应于接收到对所述模型进行调整的请求,对所述模型进行调整,并为所述调整后的模型配置升级后的第一标识符,其中,所述升级后的第一标识符基于上一次调整得到的标识符确定。
32.在本实施例中,在开发环境下,为了获得最适合建模目标的模型,可实时对模型进行调整,调整方式可以包括修改建模时的特征数量、特征处理方式、特征清洗方式、算法和算法参数等内容。针对每次调整完成后得到的模型,自动为模型配置升级后的第一标识符。每一次升级后的第一标识符均基于上一版本的标识符确定。例如,在每次运算完成并生成新的模型时,系统自动将新模型的版本号以“字符串+数字”递增的方式命名(如第二次运算完成(调整完成),则该版本名为v2,第n运算完成则命名为vn),此时,“字符串”与第一步命名时设置的字符串保持一致,“数字”自动增1。同时系统将给每一个新的模型版本生成时间戳,模型的每个具体版本的数据保持不变。基于第一标识符的命名规则具有系统性、针对性
和直观性的特点。
33.由此,在开发环境得到该样本集及标签下模型的一系列版本,版本号数字越大则表示建模时间越新。不同样本集,或同一样本集不同标签下的版本,则版本号互不相关。采用本实施例的方式,简单高效地实现了开发环境下模型版本的系统性命名。能有效对不同样本集、同一样本集相同标签和同一样本集不同标签下建立的模型版本进行区分和管理。
34.在对业务目标建立机器学习模型和对特定的模型进行调整时,通常需要进行数次清洗、建模、调整等操作,这些操作会生成不同的模型结果。开发环境的版本管理是用来管理这些模型结果。
35.步骤103:响应于接收到对任意所述模型进行发布的请求,获取并存储任意所述模型的当前信息,得到与任意所述模型对应的业务模型。
36.在本实施例中,生产环境通常是指在模型开发完成后发布上线的环境,此时模型可以正常使用或被外部调用。生产环境的模型版本独立于开发版本,且只能运用于生产环境中。
37.具体地,在生产环境查看在开发环境下需要发布的模型的样本集及标签下建立好的模型的版本,并选择需要发布的版本准备发布,发布时在生产环境下将生成一个和需要发布的版本完全一样的版本模型,作为业务模型。生成过程可以是将待发布模型的当前时刻点的状态、当前所有数据冻结,并将当前的状态及数据复制存储,得到当前时刻的数据,作为当前业务模型。通过该生成过程当发布出现问题,可以随时调出该时刻的数据,进行分析。
38.针对生成的业务模型,可为其配置第二标识符。
39.步骤104:基于任意所述模型的第一标识符,为所述业务模型配置第二标准格式的第二标识符,以使所述业务模型以所述第二标识符的形式发布。
40.作为本实施例一种可选的实现方式,基于任意所述模型的第一标识符,为所述业务模型配置第二标准格式的第二标识符,包括:对任意所述模型的第一标识符中包含的预设字段进行第一扩展,得到目标字段;在所述目标字段的基础上,将所述请求发布的时刻作为第二扩展内容,得到第二标识符。
41.预设字符可以是开发环境的版本号,该第二标识符的标准格式可以是“字符串+开发环境版本号”命名(如releasev6),其中“字符串”可以在第一次发布版本时自定义,如“r”,“release”或其他字符串,并加上发布时间等元数据信息。基于第二标识符的命名规则具有系统性、针对性和直观性的特点。
42.作为本实施例一种可选的实现方式,在得到所述业务模型后,所述方法还包括:对任意所述模型、及所述业务模型进行哈希计算。
43.在本可选的实现方式中,可以使用哈希算法对任意模型以及业务模型的电子数据进行计算,以保证生产环境的发布版本(例如,releasev6)和开发环境版本(例如v6)的一致性。发布后,此版本即可用于生产环境。
44.具体地,可以通过md5、sha等算法,将开发环境的版本模型的数据作为原始数据(指的是开发环境版本模型的“整个模型”数据,“整个模型”数据包括了模型使用的机器学习算法、算法各项参数配置、使用的特征名称和权重等数据。计算第一哈希值时,传入哈希算法的是“整个模型”的数据。根据训练模型时所使用的机器学习框架和算法,有特定的导
出(保存)模型的方式),计算其对应的第一哈希值。并对对应的业务模型的数据(“整个业务模型”数据,包括使用的机器学习算法、算法各项参数配置、使用的特征名称和权重等数据)计算第二哈希值。通过比对(可以在生成业务模型、并计算得到第二哈希值时进行比对)俩哈希值,确定发布的业务模型是否被篡改,以最终保证发布的版本模型不会被篡改,确保了生产环境的发布版本和开发环境版本的一致性。在确保了生产环境的发布版本和开发环境的一致性后,自动发布该版本模型。
45.当生产环境下的模型(例如,releasev6)被应用于实际的业务后,开发环境的开发人员仍可以继续调整开发环境的版本模型(例如,v6),而不会对开发环境的模型造成影响。当需要发布新的模型版本时,可以重复以上步骤,以此实现生产环境模型版本的更替。
46.生产环境版本是对开发环境某特定版本的克隆,并运用哈希算法保持两者的一致性,两者互相关联,但各自独立。生产环境版本不但关联到开发版本的版本号,还带有发布时间等元数据信息,便于后续的运营和维护。
47.本实施例的版本号包含了建模先后顺序信息、开发和生产环境下版本的关系信息以及时间戳信息,可以直观的将生产环境和开发环境的版本联系起来。通过生产环境模型的版本号可以对模型的历史信息进行溯源;同时实现了在模型版本发布后,在对开发环境对模型进行操作时不会对其造成影响,避免了版本的混乱以及开发环境对生产环境模型造成影响。
48.参考图3,图3示出了模型版本管理方法的应用场景图,通过将模型分为开发版本和生产版本,不仅可以将开发环境和生产环境的模型版本相互关联,同时满足模型版本在两个环境的隔离。参考图2,在开发环境下可以选择任一“样本集及标签”,而后在该“样本集及标签”建模,在得到模型后为模型配置版本号;而后判断是否接收到了调整请求,如果接收到了调整请求,对模型进行调整得到新的模型,而后继续为新的模型配置版本号;如此循环,在循环过程中得到一系列具有第一标识符的模型。在生产环境下,当用户(例如,运维人员)在查看到开发环境下的各个版本的模型后,确定(可以是选定)任一版本的模型,而后生成该版本模型对应的业务模型,最后更新业务模型(即为业务模型配置第二标识符)。如此循环,在循环过程中得到一系列具有第二标识符的业务模型。
49.参考图3,图3示出了模型版本管理方法的应用场景图,在开发环境针对一个样本集和标签,先后建立了21个模型的版本,最新的模型版本是v21,该样本集和标签下的每个版本的特征数量、特征处理方式、特征清洗方式、算法和算法参数等模型版本相关信息都由时间戳保证固定不可更改。运维人员查看模型各个版本后,克隆开发环境的v2版本,在利用哈希算法保证模型的一致性后,将其以releasev2的名称发布到生产环境并应用于实际业务。之后,运维人员克隆开发环境的v20版本并在保证一致性的情况下将其以releasev20的名称发布,完成在生产环境用于实际业务的模型版本的更新。
50.上述实施例中机器学习模型版本迭代的命名方法,具有系统性、针对性、直观性的特点。实现了自动化生成容易解读的特定样本集和标签下的模型版本号。版本号包含了建模先后顺序、开发和生产版本的信息及时间戳信息,可以直观了解版本的建立先后顺序和所在环境。实现了机器学习模型版本在生产环境和开发环境的隔离,版本在一个环境的更新不会影响另一环境下版本的正常运行,避免了版本更替的混乱和误操作的发生。
51.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的
计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
52.根据本公开实施例,还提供了一种用于实施上述模型版本管理方法的装置,如图4所示,该装置包括:第一配置单元401,被配置成在模型建立完成后,为所述模型配置第一标准格式的第一标识符;处理单元402,被配置成响应于接收到对所述模型进行调整的请求,对所述模型进行调整,并为所述调整后的模型配置升级后的第一标识符,其中,所述升级后的第一标识符基于上一次调整得到的标识符确定;获取单元403,被配置成响应于接收到对任意所述模型进行发布的请求,获取并存储任意所述模型的当前信息,得到与任意所述模型对应的业务模型;第二配置单元404,基于任意所述模型的第一标识符,为所述业务模型配置第二标准格式的第二标识符,以使所述业务模型以所述第二标识符的形式发布。
53.作为本实施例一种可选的实现方式,装置还包括:对任意所述模型、及所述业务模型进行哈希计算。
54.作为本实施例一种可选的实现方式,基于任意所述模型的第一标识符,为所述业务模型配置第二标准格式的第二标识符,包括:对任意所述模型的第一标识符中包含的预设字段进行第一扩展,得到目标字段;在所述目标字段的基础上,将所述请求发布的时刻作为第二扩展内容,得到第二标识符。
55.作为本实施例一种可选的实现方式,所述装置还包括:在建立模型之前,从多个样本集中确定待建立模型的样本集;对待建立的模型标注标签;将样本集、以及所述标签作为所述待建立模型的身份标识。
56.上述实施例中机器学习模型版本迭代的命名方法,具有系统性、针对性、直观性的特点。实现了自动化生成容易解读的特定样本集和标签下的模型版本号。版本号包含了建模先后顺序、开发和生产版本的信息及时间戳信息,可以直观了解版本的建立先后顺序和所在环境。实现了机器学习模型版本在生产环境和开发环境的隔离,版本在一个环境的更新不会影响另一环境下版本的正常运行,避免了版本更替的混乱和误操作的发生。
57.本公开实施例提供了一种电子设备,如图5所示,该电子设备包括一个或多个处理器51以及存储器52,图5中以一个处理器51为例。
58.该控制器还可以包括:输入装置53和输出装置54。
59.处理器51、存储器52、输入装置53和输出装置54可以通过总线或者其他方式连接,图5中以通过总线连接为例。
60.处理器51可以为中央处理器(centralprocessingunit,cpu)。处理器51还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field

programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
61.存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本公开实施例中的控制方法对应的程序指令/模块。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的模型版本管理方法。
62.存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据服务器操作的处理装置的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至网络连接装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
63.输入装置53可接收输入的数字或字符信息,以及产生与服务器的处理装置的用户设置以及功能控制有关的键信号输入。输出装置54可包括显示屏等显示设备。
64.一个或者多个模块存储在存储器52中,当被一个或者多个处理器51执行时,执行如图1所示的方法。
65.本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各电机控制方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read

onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid

statedrive,ssd)等;存储介质还可以包括上述种类的存储器的组合。
66.虽然结合附图描述了本公开的实施方式,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1