CN110928553A - 深度学习模型的部署方法、装置和系统 - Google Patents

深度学习模型的部署方法、装置和系统 Download PDF

Info

Publication number
CN110928553A
CN110928553A CN201910984396.0A CN201910984396A CN110928553A CN 110928553 A CN110928553 A CN 110928553A CN 201910984396 A CN201910984396 A CN 201910984396A CN 110928553 A CN110928553 A CN 110928553A
Authority
CN
China
Prior art keywords
model
file
training
module
evaluation
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.)
Granted
Application number
CN201910984396.0A
Other languages
English (en)
Other versions
CN110928553B (zh
Inventor
任俊松
侯晓龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN201910984396.0A priority Critical patent/CN110928553B/zh
Publication of CN110928553A publication Critical patent/CN110928553A/zh
Application granted granted Critical
Publication of CN110928553B publication Critical patent/CN110928553B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及模型监控技术领域,尤其涉及一种深度学习模型的部署方法、装置、计算机设备和存储介质,包括:接收用户上传的配置文件,其中,所述配置文件与深度学习模型的数据处理模块、训练评估模块和自动更新模块相关联;读取所述配置文件中的模块配置信息,根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理,并将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息;本方案通过配置文件的模块配置信息对各个模块进行流程控制,使得整个部署流程更加灵活、简便,提高了工作效率。

Description

深度学习模型的部署方法、装置和系统
技术领域
本申请涉及模型监控技术领域,尤其涉及一种深度学习模型的部署方法、装置、计算机设备和存储介质。
背景技术
在人工智能时代,深度学习作为一种强有力的技术,已经开始改变我们生活的方方面面,基于深度学习模型的应用和项目也层出不穷。
目前,基于深度学习模型的应用和项目开发过程中,由于对模型训练、参数调试以及模型发布等步骤没有自动化的部署流程,导致开发人员不仅需要离线手动完成上述步骤,并且在模型迭代或参数修改后,还需重复执行上述步骤;该操作过程较为复杂,工作效率较为低下。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中基于深度学习模型的应用或项目开发过程中没有自动化的部署流程,导致工作效率低下的技术缺陷。
本申请提供一种深度学习模型的部署方法,包括如下步骤:
接收用户上传的配置文件,其中,所述配置文件与深度学习模型的数据处理模块、训练评估模块和自动更新模块相关联;
读取所述配置文件中的模块配置信息,根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理,并将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息;
若所述模型评估信息中有模型更新文件,则根据所述模型更新文件将所述深度学习模型通过所述自动更新模块进行更新配置。
在一个实施例中,根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理的步骤,包括:
根据所述模块配置信息获取数据平台中的用户数据,以及所述用户数据对应的特征宽表;
通过所述数据处理模块对所述用户数据进行预处理得到特征数据,以及对所述特征宽表进行处理得到数据标记文件。
在一个实施例中,将处理后的用户数据通过所述训练评估模块进行训练及评估得到模型评估信息的步骤之前,还包括:
根据所述模块配置信息将所述特征数据以及所述数据标记文件上传至所述配置文件的指定路径;
当在所述指定路径中检测到所述数据标记文件后,通过所述训练评估模块从所述指定路径中拉取所述特征数据。
在一个实施例中,将处理后的用户数据通过所述训练评估模块进行训练及评估得到模型评估信息的步骤之前,还包括:
检测所述指定路径中是否有第一模型训练文件,如果有,则通过所述训练评估模型将所述第一模型训练文件下载至本地;
根据所述训练评估模型中的测试数据对所述第一模型训练文件中的模型指标进行评估,得到第一评估文件。
在一个实施例中,将处理后的用户数据通过所述训练评估模块进行训练及评估得到模型评估信息的步骤,包括:
利用所述第一模型训练文件对所述特征数据进行训练,得到第二模型训练文件;
根据所述训练评估模型中的测试数据对所述第二模型训练文件中的模型指标进行评估,得到第二评估文件;
根据所述第一评估文件和第二评估文件确定模型评估信息。
在一个实施例中,根据所述第一评估文件和第二评估文件确定模型评估信息的步骤,包括:
获取所述第一评估文件和第二评估文件,并将所述第一评估文件的模型指标与所述第二评估文件的模型指标之间进行比对;
当所述第二评估文件的模型指标大于所述第一评估文件的模型指标时,将所述第二评估文件对应的第二模型训练文件作为模型更新文件,并生成模型评估信息。
在一个实施例中,根据所述模型更新文件将所述深度学习模型通过所述自动更新模块进行更新配置的步骤,包括:
根据所述模块配置信息从所述指定路径中拉取所述模型更新文件至所述自动更新模块中;
通过所述自动更新模块的更新服务单元对所述训练模型进行更新配置。
本申请还提供了一种深度学习模型的部署装置,其包括:
信息关联模块,用于接收用户上传的配置文件,其中,所述配置文件与训练模型的数据处理模块、训练评估模块和自动更新模块相关联;
数据处理模块,用于读取所述配置文件中的模块配置信息,根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理,并将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息;
模型更新模块,用于若所述模型评估信息中有模型更新文件,则根据所述模型更新文件将所述深度学习模型通过所述自动更新模块进行更新配置。
本申请还提供了一种计算机设备,其特征在于:包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述实施例中任意一项所述深度学习模型的部署方法中的步骤。
本申请还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述深度学习模型的部署的步骤。
上述深度学习模型的部署方法、装置、计算机设备和存储介质,接收用户上传的配置文件,其中,所述配置文件与深度学习模型的数据处理模块、训练评估模块和自动更新模块相关联;读取所述配置文件中的模块配置信息,根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理,并将处理后的用户数据通过所述训练评估模块进行训练及评估得到模型评估信息;若所述模型评估信息中有模型更新文件,则根据所述模型更新文件将所述深度学习模型通过所述自动更新模块进行更新配置。本方案中,将深度学习模型部署为数据处理模块、训练评估模块和自动更新模块,各个模块之间相互独立,增加了系统的容错性和鲁棒性;另外,各个模块之间通过配置文件进行关联,并由配置文件中的模块配置信息对各个模块的处理流程进行控制,使得整个部署流程更加灵活、简便,节省了项目上线花费的时间和精力,提高了工作效率。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请实施例的深度学习模型的部署方法的应用环境图;
图2是一个实施例的深度学习模型的部署方法流程图;
图3为一个实施例的根据第一评估文件和第二评估文件确定模型评估信息的方法流程图;
图4为一个实施例的深度学习模型的部署装置结构示意图;
图5是一个实施例的计算机设备的内部结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
参考图1所示,图1是本申请实施例的应用环境图;本实施例中,本申请的技术方案是基于服务器110实现,如图1中,服务器110接收用户上传的配置文件120,通过配置文件120对深度学习模型130中的相关模块进行配置,以实现相关功能;在本申请实施例中,服务器110接收用户上传的配置文件120,通过该配置文件120查找与之对应的深度学习模型130,并读取该配置文件120中的模块配置信息,以实现对深度学习模型130中相应模块进行配置操作的功能;这里的服务器110指的是能够实现各种后台功能的设备。
在一个实施例中,如图2所示,图2为一个实施例的深度学习模型的部署方法流程图,本实施例中提出了一种深度学习模型的部署方法,具体可以包括以下步骤:
S110:接收用户上传的配置文件120,其中,所述配置文件120与深度学习模型130的数据处理模块、训练评估模块和自动更新模块相关联。
由于基于深度学习模型130的应用和项目需要开发人员离线手工完成模型训练、参数调试和模型发布等步骤,较为繁琐;并且在模型迭代或者参数修改后,需要重复执行以上操作;手动执行模型训练和发布等流程可能会因为操作失误而影响到整个系统。
因而,本步骤中,将人工操作变为通过参数控制的自动化操作程序,并进一步将深度学习模型130主要分为三个模块,分别为数据处理模块、训练评估模块和自动更新模块,通过各个模块的独立运行,能够提高深度学习模型130的容错性和鲁棒性。
另外,本步骤中,通过开发人员上传配置文件120,不需要依赖其他环境。每个深度学习模型130都具有唯一的model_code,也称模型标识位,配置文件120通过该模型标识位识别模型训练平台中与之对应的深度学习模型130,当识别到对应的深度学习模型130后,配置文件120即可与该深度学习模型130相匹配,相应地,该深度学习模型130中的数据处理模块、训练评估模块与自动更新模块则与配置文件120进行关联,通过配置文件120统一配置控制整个部署流程。
其中,数据处理模块主要是根据不同的深度学习模型130的需要,选取不同的数据平台收集到的列数据,并将这些列数据预处理成模型需要的数据信息,然后根据配置文件120的配置流程将这些数据信息流转于模型的其他模块。
训练评估模块主要是根据配置文件120中的配置流程检测约定路径下是否有数据处理模块上传的数据信息,并根据该数据信息以及模型训练参数等对本模型进行训练与评估,然后根据配置文件120的配置流程将训练后的模型信息流转于模型的其他模块。
自动更新模块主要是通过配置文件120中的配置流程检测约定路径下是否有训练评估模块上传的模型信息,并在由模型更新时进行配置更新。
S120:读取所述配置文件120中的模块配置信息,根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理,并将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息。
本步骤中,配置文件120中配置有模块配置信息,深度学习模型130中的每个模块可通过约定的路径读取该模块配置信息中的配置内容,通过该配置内容进行相应模块的配置操作。
对相应模块的配置操作包括根据该模块配置信息将数据平台中的用户数据通过数据处理模块进行处理,并将处理后的用户数据通过训练评估模块进行训练及评估得到模型评估信息。
上述过程中,为了保证数据安全,数据平台与处理器(如GPU)模型训练平台是相互独立并隔离的,且数据平台不能执行过于复杂的逻辑。因此数据平台在每个训练周期,需将完整的特征宽表以及特征宽表的metadata(元数据,即宽表的columns)发送至处理器模型训练平台进行一定的处理。当然,不同的训练模型根据需要从特征宽表中选取相应的特征列,并将相应的特征列以及元数据传输至训练模型中的数据处理模块,即将数据平台的用户数据通过数据处理模块进行处理。
当数据处理模块接收到数据平台发送的用户数据后,将该用户数据中相应的特征列以及元数据等进行预处理操作,以便通过训练评估模块对这些处理后的用户数据进行训练与评估,并进一步得到模型评估信息。
上述通过训练评估模块对这些处理后的用户数据进行训练与评估的过程包括对模型进行初始化操作,并在初始化操作后利用拉取到的处理后的用户数据、以及该模型对应的训练参数进行模型训练得到模型文件,再根据该模型对应的测试数据对模型文件的模型指标进行评估,最后得到模型评估信息,根据该模型评估信息可确定是否有模型更新文件。
当然,不同模型的训练参数由训练模型提交脚本确定,模型训练任务由定时任务启动脚本读取config文件获取相关模型参数后定时启动。
S130:若所述模型评估信息中有模型更新文件,则根据所述模型更新文件将所述深度学习模型130通过所述自动更新模块进行更新配置。
本步骤中,通过上述步骤S120中的模块配置信息将数据平台中的用户数据分别通过数据传利模块和训练评估模块进行处理后,得到模型评估信息,该模型评估信息中包括有新训练的模型参数、模型指标、测试数据等,根据该模型评估信息即可确定是否启动自动更新模块。
比如,当模型评估信息中检测出包含有模型更新文件时,则根据该模型更新文件将该深度学习模型130通过自动更新模块进行配置更新。
上述自动化更新模块中包含有更新服务单元,该更新服务单元具体包含有Tf-serving模型服务化子单元与模型实时更新子单元。
其中,Tf-serving模型服务化子单元可以动态的监控模型文件更新并实时加载。另外,还可以将推荐请求发送至指定端口,从而获取相应模型返回的推荐结果。Tf-serving服务启动后,只有在模型版本更新时才进行重启。
需要服务化的模型按照Tf-serving的配置标准格式将文件写在model.conf文件中,其中包含model_code,model_path以及版本策略等。
模型实时更新子单元主要是将需要实时更新的模型的model_code写入model_update.conf文件中,并通过定时任务脚本,读取model_update.conf文件,启动模型更新进程。
并且,该模型更新进程会按照配置的间隔时间T,定时拉取训练评估模块上的model.done文件(即模型标记文件)目录到本地,然后检查有哪些模型已经更新完毕,最后根据model_code将模型部署文件复制到Tf-serving中该模型对应的配置目录,完成模型更新。
上述深度学习模型130的部署方法,接收用户上传的配置文件120,其中,所述配置文件120与深度学习模型130的数据处理模块、训练评估模块和自动更新模块相关联;读取所述配置文件120中的模块配置信息,根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理,并将处理后的用户数据通过所述训练评估模块进行训练及评估得到模型评估信息;若所述模型评估信息中有模型更新文件,则根据所述模型更新文件将所述深度学习模型130通过所述自动更新模块进行更新配置。
本方案中,将深度学习模型130部署为数据处理模块、训练评估模块和自动更新模块,各个模块之间相互独立,增加了系统的容错性和鲁棒性;另外,各个模块之间通过配置文件120进行关联,并由配置文件120中的模块配置信息对各个模块的处理流程进行控制,使得整个部署流程更加灵活、简便,节省了项目上线花费的时间和精力,提高了工作效率。
在一个实施例中,步骤S120中根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理的步骤,可以包括:
S121:根据所述模块配置信息获取数据平台中的用户数据,以及所述用户数据对应的特征宽表;
S122:通过所述数据处理模块对所述用户数据进行预处理得到特征数据,以及对所述特征宽表进行处理得到数据标记文件。
本实施例中,对相应模块的配置操作包括根据该模块配置信息将数据平台中的用户数据通过数据处理模块进行处理。
具体地,根据不同模型的需要从特征宽表中选取相应的特征列,并将相应的特征列以及元数据传输至训练模型中的数据处理模块,即将数据平台的特征宽表以及用户数据通过数据处理模块进行处理。
可以理解的是,模型训练的过程中需要处理不同的特征数据,因而在接收到用户数据后,需要对用户数据进行预处理得到对应的特征数据,该预处理过程可以通过机器学习的方式进行。
举例来说,特征工程就是将原始数据转化为有用的特征数据,首先使用归一化的方法将特征的取值区间缩放到某个特定的范围,例如[0,1]等,然后利用特征二值化的方法将特征的取值转化为0或1,对于离散特征,例如,性别:{男,女},可以采用one-hot编码的方式将特征表示为一个m维向量,其中m为特征的取值个数,在one-hot向量中只有一个维度的值为1,其余为0,因而我们可以用向量“1,0”表示“男”,向量“0,1”表示“女”。
另外,在实际应用中,我们得到的数据往往是不完整的,因而还可以用preproccessing库的Imputer类对数据进行缺失值计算,以便得到更符合用户数据的特征数据。
用户数据经预处理后,得到与该用户数据对应的特征数据,利用该特征数据对应的特征宽表的名称生成一个table_name.data.done.DT文件,作为数据标记文件。
上述实施例中,当数据处理模块接收到数据平台发送的用户数据后,将该用户数据中相应的特征列以及元数据等进行预处理操作,以便通过训练评估模块对这些处理后的用户数据进行训练与评估,并进一步得到模型评估信息。
在一个实施例中,步骤S120中将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息的步骤之前,还可以包括:
S123:根据所述模块配置信息将所述特征数据以及所述数据标记文件上传至所述配置文件120的指定路径;
S124:当在所述指定路径中检测到所述数据标记文件后,通过所述训练评估模块从所述指定路径中拉取所述特征数据。
本实施例中,通过上述步骤S121和步骤S122得到特征数据以及数据标记文件,然后将完整的特征数据以及数据标记文件通过远距离传输方式上传到模型指定路径(如hdfs)下。
训练评估模块定时轮训指定路径下的数据标记文件,当检测到数据标记文件存在时,将传输过来的特征数据从指定路径拉取到本地路径,特征数据拉取后,进入模型的评估与训练流程。
在一个实施例中,步骤S120中将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息的步骤之前,还可以包括:
S125:检测所述指定路径中是否有第一模型训练文件,如果有,则通过所述训练评估模型将所述第一模型训练文件下载至本地;
S126:根据所述训练评估模型中的测试数据对所述第一模型训练文件中的模型指标进行评估,得到第一评估文件。
本实施例中,在通过训练评估模块对特征数据进行训练与评估之前,需要检查指定路径中是否有第一模型训练文件,该第一模型训练文件指的是本次训练评估模块启动训练脚本进行模型训练之前,通过该训练评估模型得到的模型训练文件。
如果指定路径中不存在该第一模型训练文件,则进行模型初始化,直接使用当天拉取的特征数据进行模型训练;如果存在第一模型训练文件,将所述第一模型训练文件下载至本地并加载该模型训练文件,使用训练模型中的test_data,即测试数据评估模型指标,并将结果保存至testMetric文件,即第一评估文件中,然后进行模型训练。
其中,不同的模型训练参数由训练模型提交脚本确定,模型训练任务由定时任务启动脚本读取config文件获取相关模型参数后定时启动。
上述实施例中,通过检测指定路径下是否有第一模型训练文件,并利用训练模型中的测试数据对该第一模型训练文件进行模型指标评估,以便将该评估结果与新训练的模型之间进行比较,并实时追踪模型指标效果。
在一个实施例中,步骤S120中将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息的步骤,可以包括:
S210:利用所述第一模型训练文件对所述特征数据进行训练,得到第二模型训练文件;
S220:根据所述训练评估模型中的测试数据对所述第二模型训练文件中的模型指标进行评估,得到第二评估文件;
S230:根据所述第一评估文件和第二评估文件确定模型评估信息。
本实施例中,根据上述步骤S125和步骤S126得到第一评估文件后,判断是否有模型增量更新,当有增量更新时,则加载第一模型训练文件,利用该第一模型训练文件对由数据处理模块得到的特征数据进行训练,继而得到第二模型训练文件,将该第二模型训练文件上传至指定路径中。
当得到第二模型训练文件后,继续使用训练模型中的test_data,即测试数据评估模型指标,并将结果保存至trainMetric文件,即第二评估文件中。
获取到第一评估文件和第二评估文件后,即可通过两者确定最后的模型评估信息,并将该模型评估信息上传至指定路径下。
在一个实施例中,如图3所示,图3为一个实施例的根据第一评估文件和第二评估文件确定模型评估信息的方法流程图;步骤S230中根据所述第一评估文件和第二评估文件确定模型评估信息的步骤,可以包括:
S231:获取所述第一评估文件和第二评估文件,并将所述第一评估文件的模型指标与所述第二评估文件的模型指标之间进行比对;
S232:当所述第二评估文件的模型指标大于所述第一评估文件的模型指标时,将所述第二评估文件对应的第二模型训练文件作为模型更新文件,并生成模型评估信息。
本实施例中,通过加载之前训练得到模型训练文件,评估在测试集上的模型性能,得到testMetric文件,然后使用新的训练数据训练得到新的训练模型,并评估在测试集上的性能,得到trainMetric文件。
当trainMetric文件中的模型指标大于testMetric文件中的模型指标时,输出新训练得到的第二模型训练文件至本地路径,生成以model_name命名的model.done文件作为模型更新完毕的模型标志文件,并将第二模型训练文件的绝对地址写入模型标志文件中,最后根据第二模型训练文件和模型标志文件生成模型评估信息,将该模型评估信息传输至指定路径。
进一步地,当trainMetric文件中的指标小于或等于testMetric文件中的指标时,保留原来的第一模型训练文件,不对模型进行更新,直到新训练的模型训练文件的模型指标大于原来的模型指标时,才进行模型更新。
上述实施例中,通过对比第一评估文件的模型指标与第二评估文件的模型指标,以便将模型指标较高的评估文件对应的模型训练文件作为最终的模型更新文件。
在一个实施例中,步骤S130中,根据所述模型更新文件将所述深度学习模型130通过所述自动更新模块进行更新配置的步骤,可以包括:
S131:根据所述模块配置信息从所述指定路径中拉取所述模型更新文件至所述自动更新模块中;
S132:通过所述自动更新模块的更新服务单元对所述训练模型进行更新配置。
本实施例中,Tf-serving模型服务化子单元动态监控模型文件更新并实时加载,该模型更新进程会按照配置的间隔时间T,定时拉取训练评估模块上的模型标记文件到本地,然后检查有哪些模型已经更新完毕。
当检测到指定路径下的模型评估信息中包含有模型更新文件时,将该模型更新文件拉取到本地并加载,然后按照Tf-serving的配置标准格式将模型更新文件写在model.conf文件中。
模型实时更新子单元将model.conf文件中模型更新文件对应的model_code写入model_update.conf文件中,并通过定时任务脚本,读取model_update.conf文件,启动模型更新进程。
上述实施例中,通过自动更新模块对模型更新文件进行配置更新,能够简化工作流程,提高工作效率。
在一个实施例中,如图4所示,图4为一个实施例的深度学习模型的部署装置结构示意图,本实施例中提供了一种深度学习模型的部署装置,其包括:信息关联模块210、数据处理模块220、模型更新模块230,其中:
信息关联模块210,用于接收用户上传的配置文件120,其中,所述配置文件120与训练模型的数据处理模块、训练评估模块和自动更新模块相关联。
由于基于深度学习模型130的应用和项目需要开发人员离线手工完成模型训练、参数调试和模型发布等步骤,较为繁琐;并且在模型迭代或者参数修改后,需要重复执行以上操作;手动执行模型训练和发布等流程可能会因为操作失误而影响到整个系统。
因而,本模块中,将人工操作变为通过参数控制的自动化操作程序,并进一步将深度学习模型130主要分为三个模块,分别为数据处理模块、训练评估模块和自动更新模块,通过各个模块的独立运行,能够提高深度学习模型130的容错性和鲁棒性。
另外,本模块中,通过开发人员上传配置文件120,不需要依赖其他环境。每个深度学习模型130都具有唯一的model_code,也称模型标识位,配置文件120通过该模型标识位识别模型训练平台中与之对应的深度学习模型130,当识别到对应的深度学习模型130后,配置文件120即可与该深度学习模型130相匹配,相应地,该深度学习模型130中的数据处理模块、训练评估模块与自动更新模块则与配置文件120进行关联,通过配置文件120统一配置控制整个部署流程。
其中,数据处理模块主要是根据不同的深度学习模型130的需要,选取不同的数据平台收集到的列数据,并将这些列数据预处理成模型需要的数据信息,然后根据配置文件120的配置流程将这些数据信息流转于模型的其他模块。
训练评估模块主要是根据配置文件120中的配置流程检测约定路径下是否有数据处理模块上传的数据信息,并根据该数据信息以及模型训练参数等对本模型进行训练与评估,然后根据配置文件120的配置流程将训练后的模型信息流转于模型的其他模块。
自动更新模块主要是通过配置文件120中的配置流程检测约定路径下是否有训练评估模块上传的模型信息,并在由模型更新时进行配置更新。
数据处理模块220,用于读取所述配置文件120中的模块配置信息,根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理,并将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息。
本模块中,配置文件120中配置有模块配置信息,深度学习模型130中的每个模块可通过约定的路径读取该模块配置信息中的配置内容,通过该配置内容进行相应模块的配置操作。
对相应模块的配置操作包括根据该模块配置信息将数据平台中的用户数据通过数据处理模块进行处理,并将处理后的用户数据通过训练评估模块进行训练及评估得到模型评估信息。
上述过程中,为了保证数据安全,数据平台与处理器(如GPU)模型训练平台是相互独立并隔离的,且数据平台不能执行过于复杂的逻辑。因此数据平台在每个训练周期,需将完整的特征宽表以及特征宽表的metadata(元数据,即宽表的columns)发送至处理器模型训练平台进行一定的处理。当然,不同的训练模型根据需要从特征宽表中选取相应的特征列,并将相应的特征列以及元数据传输至训练模型中的数据处理模块,即将数据平台的用户数据通过数据处理模块进行处理。
当数据处理模块接收到数据平台发送的用户数据后,将该用户数据中相应的特征列以及元数据等进行预处理操作,以便通过训练评估模块对这些处理后的用户数据进行训练与评估,并进一步得到模型评估信息。
上述通过训练评估模块对这些处理后的用户数据进行训练与评估的过程包括对模型进行初始化操作,并在初始化操作后利用拉取到的处理后的用户数据、以及该模型对应的训练参数进行模型训练得到模型文件,再根据该模型对应的测试数据对模型文件的模型指标进行评估,最后得到模型评估信息,根据该模型评估信息可确定是否有模型更新文件。
当然,不同模型的训练参数由训练模型提交脚本确定,模型训练任务由定时任务启动脚本读取config文件获取相关模型参数后定时启动。
模型更新模块230,用于若所述模型评估信息中有模型更新文件,则根据所述模型更新文件将所述深度学习模型130通过所述自动更新模块进行更新配置。
本模块中,通过上述数据处理模块220中的模块配置信息将数据平台中的用户数据分别通过数据传利模块和训练评估模块进行处理后,得到模型评估信息,该模型评估信息中包括有新训练的模型参数、模型指标、测试数据等,根据该模型评估信息即可确定是否启动自动更新模块。
比如,当模型评估信息中检测出包含有模型更新文件时,则根据该模型更新文件将该深度学习模型130通过自动更新模块进行配置更新。
上述自动化更新模块中包含有更新服务单元,该更新服务单元具体包含有Tf-serving模型服务化子单元与模型实时更新子单元。
其中,Tf-serving模型服务化子单元可以动态的监控模型文件更新并实时加载。另外,还可以将推荐请求发送至指定端口,从而获取相应模型返回的推荐结果。Tf-serving服务启动后,只有在模型版本更新时才进行重启。
需要服务化的模型按照Tf-serving的配置标准格式将文件写在model.conf文件中,其中包含model_code,model_path以及版本策略等。
模型实时更新子单元主要是将需要实时更新的模型的model_code写入model_update.conf文件中,并通过定时任务脚本,读取model_update.conf文件,启动模型更新进程。
并且,该模型更新进程会按照配置的间隔时间T,定时拉取训练评估模块上的model.done文件(即模型标记文件)目录到本地,然后检查有哪些模型已经更新完毕,最后根据model_code将模型部署文件复制到Tf-serving中该模型对应的配置目录,完成模型更新。
上述深度学习模型130的部署装置,接收用户上传的配置文件120,其中,所述配置文件120与深度学习模型130的数据处理模块、训练评估模块和自动更新模块相关联;读取所述配置文件120中的模块配置信息,根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理,并将处理后的用户数据通过所述训练评估模块进行训练及评估得到模型评估信息;若所述模型评估信息中有模型更新文件,则根据所述模型更新文件将所述深度学习模型130通过所述自动更新模型进行更新配置。
本方案中,将深度学习模型130部署为数据处理模块、训练评估模块和自动更新模块,各个模块之间相互独立,增加了系统的容错性和鲁棒性;另外,各个模块之间通过配置文件120进行关联,并由配置文件120中的模块配置信息对各个模块的处理流程进行控制,使得整个部署流程更加灵活、简便,节省了项目上线花费的时间和精力,提高了工作效率。
关于深度学习模型的部署装置的具体限定可以参见上文中对于深度学习模型的部署方法的限定,在此不再赘述。上述深度学习模型的部署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于终端设备中的处理器中,也可以以软件形式存储于终端设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例的深度学习模型的部署方法的步骤。
如图5所示,图5为一个实施例的计算机设备的内部结构示意图。该计算机设备310包括通过系统总线313连接的处理器314、非易失性存储介质315、存储器311和网络接口312。其中,该计算机设备310的非易失性存储介质315存储有操作系统317和计算机程序316,该计算机程序316被处理器314执行时,可使得处理器314实现深度学习模型的部署方法。该计算机设备310的处理器314用于提供计算和控制能力,支撑整个计算机设备310的运行。该计算机设备310的存储器311中存储有计算机程序316,该计算机程序316被处理器314执行时,可使得处理器314执行深度学习模型的部署方法。该计算机设备310的网络接口312用于与移动终端连接通信。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例的深度学习模型的部署方法的步骤。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种深度学习模型的部署方法,其特征在于,包括如下步骤:
接收用户上传的配置文件,其中,所述配置文件与深度学习模型的数据处理模块、训练评估模块和自动更新模块相关联;
读取所述配置文件中的模块配置信息,根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理,并将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息;
若所述模型评估信息中有模型更新文件,则根据所述模型更新文件将所述深度学习模型通过所述自动更新模块进行更新配置。
2.根据权利要求1所述的深度学习模型的部署方法,其特征在于,根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理的步骤,包括:
根据所述模块配置信息获取数据平台中的用户数据,以及所述用户数据对应的特征宽表;
通过所述数据处理模块对所述用户数据进行预处理得到特征数据,以及对所述特征宽表进行处理得到数据标记文件。
3.根据权利要求2所述的深度学习模型的部署方法,其特征在于,将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息的步骤之前,还包括:
根据所述模块配置信息将所述特征数据以及所述数据标记文件上传至所述配置文件的指定路径;
当在所述指定路径中检测到所述数据标记文件后,通过所述训练评估模块从所述指定路径中拉取所述特征数据。
4.根据权利要求3所述的深度学习模型的部署方法,其特征在于,将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息的步骤之前,还包括:
检测所述指定路径中是否有第一模型训练文件,如果有,则通过所述训练评估模型将所述第一模型训练文件下载至本地;
根据所述训练评估模型中的测试数据对所述第一模型训练文件中的模型指标进行评估,得到第一评估文件。
5.根据权利要求4所述的深度学习模型的部署方法,其特征在于,将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息的步骤,包括:
利用所述第一模型训练文件对所述特征数据进行训练,得到第二模型训练文件;
根据所述训练评估模型中的测试数据对所述第二模型训练文件中的模型指标进行评估,得到第二评估文件;
根据所述第一评估文件和第二评估文件确定模型评估信息。
6.根据权利要求5所述的深度学习模型的部署方法,其特征在于,根据所述第一评估文件和第二评估文件确定模型评估信息的步骤,包括:
获取所述第一评估文件和第二评估文件,并将所述第一评估文件的模型指标与所述第二评估文件的模型指标之间进行比对;
当所述第二评估文件的模型指标大于所述第一评估文件的模型指标时,将所述第二评估文件对应的第二模型训练文件作为模型更新文件,并生成模型评估信息。
7.根据权利要求6所述的深度学习模型的部署方法,其特征在于,根据所述模型更新文件将所述深度学习模型通过所述自动更新模块进行更新配置的步骤,包括:
根据所述模块配置信息从所述指定路径中拉取所述模型更新文件至所述自动更新模块中;
通过所述自动更新模块的更新服务单元对所述训练模型进行更新配置。
8.一种深度学习模型的部署装置,其特征在于,包括:
信息关联模块,用于接收用户上传的配置文件,其中,所述配置文件与训练模型的数据处理模块、训练评估模块和自动更新模块相关联;
数据处理模块,用于读取所述配置文件中的模块配置信息,根据所述模块配置信息将数据平台中的用户数据通过所述数据处理模块进行处理,并将处理后的用户数据通过所述训练评估模块进行训练得到训练结果,对所述训练结果进行评估得到模型评估信息;
模型更新模块,用于若所述模型评估信息中有模型更新文件,则根据所述模型更新文件将所述深度学习模型通过所述自动更新模块进行更新配置。
9.一种计算机设备,其特征在于:包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的深度学习模型的部署方法的步骤。
10.一种计算机存储介质,其特征在于:所述计算机存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述的深度学习模型的部署方法的步骤。
CN201910984396.0A 2019-10-16 2019-10-16 深度学习模型的部署方法、装置和系统 Active CN110928553B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910984396.0A CN110928553B (zh) 2019-10-16 2019-10-16 深度学习模型的部署方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910984396.0A CN110928553B (zh) 2019-10-16 2019-10-16 深度学习模型的部署方法、装置和系统

Publications (2)

Publication Number Publication Date
CN110928553A true CN110928553A (zh) 2020-03-27
CN110928553B CN110928553B (zh) 2024-09-13

Family

ID=69849167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910984396.0A Active CN110928553B (zh) 2019-10-16 2019-10-16 深度学习模型的部署方法、装置和系统

Country Status (1)

Country Link
CN (1) CN110928553B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111612161A (zh) * 2020-05-26 2020-09-01 罗普特科技集团股份有限公司 一种自动更新深度学习模型的方法、装置及存储介质
CN111652379A (zh) * 2020-05-29 2020-09-11 京东城市(北京)数字科技有限公司 模型管理方法、装置、电子设备及存储介质
CN111898761A (zh) * 2020-08-12 2020-11-06 曙光信息产业(北京)有限公司 服务模型生成方法、图像处理方法、装置和电子设备
CN111966382A (zh) * 2020-08-28 2020-11-20 上海寻梦信息技术有限公司 机器学习模型的在线部署方法、装置及相关设备
CN112286535A (zh) * 2020-09-30 2021-01-29 济南浪潮高新科技投资发展有限公司 一种基于Tensorflow Serving的模型部署方法及设备、介质
CN112579149A (zh) * 2020-12-24 2021-03-30 第四范式(北京)技术有限公司 模型训练程序镜像的生成方法、装置、设备及存储介质
CN113159040A (zh) * 2021-03-11 2021-07-23 福建自贸试验区厦门片区Manteia数据科技有限公司 医学图像分割模型的生成方法及装置、系统
CN113780568A (zh) * 2020-06-09 2021-12-10 子长科技(北京)有限公司 自动模型训练框架、设备、存储介质
CN116933062A (zh) * 2023-09-18 2023-10-24 中孚安全技术有限公司 一种文件智能判定系统及方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113382A1 (en) * 2007-10-30 2009-04-30 International Business Machines Corporation Automated deployment implementation with a deployment topology model
US20140032725A1 (en) * 2009-08-28 2014-01-30 Adobe Systems Incorporated Method and system for deploying a model-based application to an application server
JP2014142702A (ja) * 2013-01-22 2014-08-07 Nippon Telegr & Teleph Corp <Ntt> 文書評価パラメータ調整装置、方法、及びプログラム
US20160300156A1 (en) * 2015-04-10 2016-10-13 Facebook, Inc. Machine learning model tracking platform
US20170220949A1 (en) * 2016-01-29 2017-08-03 Yahoo! Inc. Method and system for distributed deep machine learning
CN109272116A (zh) * 2018-09-05 2019-01-25 郑州云海信息技术有限公司 一种深度学习的方法及装置
CN109634736A (zh) * 2018-12-20 2019-04-16 郑州云海信息技术有限公司 深度学习系统中数据训练方法和装置
CN109885389A (zh) * 2019-02-19 2019-06-14 山东浪潮云信息技术有限公司 一种基于容器的并行深度学习调度训练方法及系统
CN110175677A (zh) * 2019-04-16 2019-08-27 平安普惠企业管理有限公司 自动更新方法、装置、计算机设备及存储介质
US20190279114A1 (en) * 2018-03-08 2019-09-12 Capital One Services, Llc System and Method for Deploying and Versioning Machine Learning Models

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113382A1 (en) * 2007-10-30 2009-04-30 International Business Machines Corporation Automated deployment implementation with a deployment topology model
US20140032725A1 (en) * 2009-08-28 2014-01-30 Adobe Systems Incorporated Method and system for deploying a model-based application to an application server
JP2014142702A (ja) * 2013-01-22 2014-08-07 Nippon Telegr & Teleph Corp <Ntt> 文書評価パラメータ調整装置、方法、及びプログラム
US20160300156A1 (en) * 2015-04-10 2016-10-13 Facebook, Inc. Machine learning model tracking platform
US20170220949A1 (en) * 2016-01-29 2017-08-03 Yahoo! Inc. Method and system for distributed deep machine learning
US20190279114A1 (en) * 2018-03-08 2019-09-12 Capital One Services, Llc System and Method for Deploying and Versioning Machine Learning Models
CN109272116A (zh) * 2018-09-05 2019-01-25 郑州云海信息技术有限公司 一种深度学习的方法及装置
CN109634736A (zh) * 2018-12-20 2019-04-16 郑州云海信息技术有限公司 深度学习系统中数据训练方法和装置
CN109885389A (zh) * 2019-02-19 2019-06-14 山东浪潮云信息技术有限公司 一种基于容器的并行深度学习调度训练方法及系统
CN110175677A (zh) * 2019-04-16 2019-08-27 平安普惠企业管理有限公司 自动更新方法、装置、计算机设备及存储介质

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111612161A (zh) * 2020-05-26 2020-09-01 罗普特科技集团股份有限公司 一种自动更新深度学习模型的方法、装置及存储介质
CN111652379A (zh) * 2020-05-29 2020-09-11 京东城市(北京)数字科技有限公司 模型管理方法、装置、电子设备及存储介质
CN111652379B (zh) * 2020-05-29 2024-04-16 京东城市(北京)数字科技有限公司 模型管理方法、装置、电子设备及存储介质
CN113780568A (zh) * 2020-06-09 2021-12-10 子长科技(北京)有限公司 自动模型训练框架、设备、存储介质
CN113780568B (zh) * 2020-06-09 2024-05-14 子长科技(北京)有限公司 自动模型训练系统、设备、存储介质
CN111898761A (zh) * 2020-08-12 2020-11-06 曙光信息产业(北京)有限公司 服务模型生成方法、图像处理方法、装置和电子设备
CN111966382A (zh) * 2020-08-28 2020-11-20 上海寻梦信息技术有限公司 机器学习模型的在线部署方法、装置及相关设备
CN112286535A (zh) * 2020-09-30 2021-01-29 济南浪潮高新科技投资发展有限公司 一种基于Tensorflow Serving的模型部署方法及设备、介质
CN112579149B (zh) * 2020-12-24 2024-01-30 第四范式(北京)技术有限公司 模型训练程序镜像的生成方法、装置、设备及存储介质
CN112579149A (zh) * 2020-12-24 2021-03-30 第四范式(北京)技术有限公司 模型训练程序镜像的生成方法、装置、设备及存储介质
WO2022135592A1 (zh) * 2020-12-24 2022-06-30 第四范式(北京)技术有限公司 模型训练程序镜像的生成方法、装置、设备及存储介质
CN113159040A (zh) * 2021-03-11 2021-07-23 福建自贸试验区厦门片区Manteia数据科技有限公司 医学图像分割模型的生成方法及装置、系统
CN113159040B (zh) * 2021-03-11 2024-01-23 福建自贸试验区厦门片区Manteia数据科技有限公司 医学图像分割模型的生成方法及装置、系统
CN116933062B (zh) * 2023-09-18 2023-12-15 中孚安全技术有限公司 一种文件智能判定系统及方法
CN116933062A (zh) * 2023-09-18 2023-10-24 中孚安全技术有限公司 一种文件智能判定系统及方法

Also Published As

Publication number Publication date
CN110928553B (zh) 2024-09-13

Similar Documents

Publication Publication Date Title
CN110928553A (zh) 深度学习模型的部署方法、装置和系统
CN109086199B (zh) 一种自动化生成测试脚本的方法、终端和可存储介质
CN114723033B (zh) 数据处理方法、装置、ai芯片、电子设备及存储介质
JP7345921B2 (ja) マスタースレーブアーキテクチャのota差分更新方法とシステム
US20210149723A1 (en) Method and apparatus for microservice architecture reconfiguration
JP2022029702A (ja) 学習システム、電子機器、及びその制御方法、並びにプログラム
CN111523676B (zh) 辅助机器学习模型上线的方法及装置
CN114168429A (zh) 报错分析方法、装置、计算机设备及存储介质
CN114595058A (zh) 基于gpu资源的模型训练方法和装置、电子设备和存储介质
CN108959488A (zh) 维护问答模型的方法及装置
CN110096290A (zh) 一种电池模拟器主控板软件升级方法
CN115438768A (zh) 模型推理方法、装置、计算机设备及存储介质
CN116501491A (zh) 机器学习任务的资源管理方法、系统、设备及介质
CN114237754B (zh) 一种数据加载方法、装置、电子设备以及存储介质
CN116610082B (zh) 基于深度强化学习的rpa作业工作流冗余调度方法及系统
CN112559124A (zh) 一种模型管理系统以及目标操作指令的处理方法和装置
CN110689137B (zh) 参数确定方法、系统、介质和电子设备
CN114706622B (zh) 启动模型服务的方法、装置、设备、介质及产品
CN110377476A (zh) 终端测试方法、终端及可读存储介质
CN115185514A (zh) 零代码建模的处理方法、装置及相关设备
CN111831539B (zh) 一种测试方法及相关产品
CN112445607B (zh) 一种应用程序执行方法函数的方法及装置
CN110138604B (zh) 一种面向多性能指标的物联网硬件平台自动生成方法
CN115409194B (zh) 量子程序的生成系统及量子计算机操作系统
CN113783960B (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