CN112799782A - 模型生成系统、方法、电子设备及存储介质 - Google Patents

模型生成系统、方法、电子设备及存储介质 Download PDF

Info

Publication number
CN112799782A
CN112799782A CN202110077788.6A CN202110077788A CN112799782A CN 112799782 A CN112799782 A CN 112799782A CN 202110077788 A CN202110077788 A CN 202110077788A CN 112799782 A CN112799782 A CN 112799782A
Authority
CN
China
Prior art keywords
model
data set
working nodes
model generation
target
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
CN202110077788.6A
Other languages
English (en)
Other versions
CN112799782B (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.)
Beijing Megvii Technology Co Ltd
Original Assignee
Beijing Megvii Technology Co 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 Beijing Megvii Technology Co Ltd filed Critical Beijing Megvii Technology Co Ltd
Priority to CN202110077788.6A priority Critical patent/CN112799782B/zh
Publication of CN112799782A publication Critical patent/CN112799782A/zh
Application granted granted Critical
Publication of CN112799782B publication Critical patent/CN112799782B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种模型生成系统、方法、电子设备及存储介质。旨在优化模型生成的流程,系统包括分布式集群,分布式集群包括:头节点、服务节点以及多个工作节点;头节点,用于根据预先配置的预设模型、训练数据集以及测试数据集,创建模型生成任务,并将模型生成任务下发给多个工作节点;多个工作节点,分别用于根据模型生成任务,从训练数据集中提取目标训练数据集训练预设模型,并从测试数据集中提取目标测试数据集对训练得到的模型进行测试,得到模型性能参数值;服务节点,用于为头节点以及多个工作节点提供共享目录,共享目录包括多个工作节点各自得到的模型性能参数值;所述系统根据所述多个工作节点各自得到的模型性能参数值,确定目标模型。

Description

模型生成系统、方法、电子设备及存储介质
技术领域
本发明涉及机器学习技术领域,特别是涉及一种模型生成系统、方法、电子设备及存储介质。
背景技术
随着神经网络模型的应用领域越来越广泛,对于神经网络模型的需求也与日俱增。目前,为了满足各种智能处理任务,例如,人脸识别任务、物体分类任务、指纹识别任务等,需要构建满足上述任务的神经网络模型。
神经网络模型的构建过程一般包括两个阶段,分别为训练阶段和测评阶段,其中,训练阶段是利用训练样本训练出一个模型,测评阶段是利用测试样本对训练出的该模型进行性能测试,以评估该训练出的模型是否满足处理任务的要求。
相关技术中,构建神经网络模型时,一般是将训练阶段和测评阶段拆成单个的模块来做,如此,技术人员需要单独针对训练阶段设置训练数据集、训练参数等,在训练完成后,技术人员再单独针对测评阶段准备测评数据集、测评参数等启动对模型的测评。此种方式耗时耗力,导致模型构建成本较高、效率较低。
发明内容
本申请实施例提供了一种模型生成系统、方法、电子设备及存储介质,旨在提供一种更有效的模型生成方式。
本申请实施例第一方面提供了一种模型生成系统,所述系统包括分布式集群,所述分布式集群包括:头节点、服务节点以及多个工作节点;
所述头节点,用于根据预先配置的预设模型、训练数据集以及测试数据集,创建模型生成任务,并将所述模型生成任务下发给所述多个工作节点;
所述多个工作节点,分别用于根据所述模型生成任务,从所述训练数据集中提取目标训练数据集训练所述预设模型,并从所述测试数据集中提取目标测试数据集对训练得到的模型进行测试,得到模型性能参数值;
所述服务节点,用于为所述头节点以及多个工作节点提供共享目录,所述共享目录包括所述多个工作节点各自得到的模型性能参数值;
其中,所述系统根据所述多个工作节点各自得到的模型性能参数值,确定目标模型。
可选地,所述头节点,还用于比较所述多个工作节点各自得到的模型性能参数值,将所述多个工作节点中一个工作节点训练得到的模型确定为目标模型。
可选地,所述共享目录还包括所述多个工作节点分别在对所述预设模型进行训练的过程中,所述预设模型的模型参数;
所述多个工作节点,分别用于根据所述模型生成任务,从所述训练数据集中提取目标训练数据集训练所述预设模型,直至达到预设的训练结束条件或所述预设模型收敛后,从所述测试数据集中提取目标测试数据集对训练得到的模型进行测试,得到模型性能参数值。
可选地,所述系统还包括:与所述分布式集群通信连接的对象存储服务OSS模块,用于存储所述预设模型并将所述预设模型下发给所述多个工作节点,以及用于存储所述头节点确定出的所述目标模型。
可选地,所述系统运行在Kubernetes平台上,所述系统还包括自动学习服务器、自动学习控制器;所述头节点内部署有自动学习接口;
所述自动学习服务器用于接收用户终端发送的模型生成请求,并利用所述Kubernetes平台的客户资源自定义机制,输出所述模型生成任务指示,并发送给所述自动学习控制器;
所述自动学习控制器用于创建所述分布式集群,并向所述头节点内部署的所述自动学习接口下发所述模型生成任务指示;
所述头节点,用于在接收到所述模型任务生成指示时,根据预先配置的预设模型、训练数据集以及测试数据集,创建模型生成任务。
可选地,所述模型生成请求包括:所述训练数据集和所述测试数据集;所述系统还包括Mongo数据库,所述Mongo用于存储所述训练数据集和所述测试数据集。
本申请实施例的第二方面,提供一种模型生成方法,所述方法包括:
根据预先配置的预设模型、训练数据集以及测试数据集,创建模型生成任务,并将所述模型生成任务下发给多个工作节点;
获得所述多个工作节点各自从所述训练数据集中提取目标训练数据集训练所述预设模型,并从所述测试数据集中提取目标测试数据集对训练得到的模型进行测试后得到模型性能参数值;
根据所述多个工作节点各自得到的模型性能参数值,确定目标模型。
可选地,所述方法还包括:
获得应用数据集;
将所述应用数据集输入所述目标模型,得到模型预测结果。
本申请实施例第三方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第二方面所述的方法的步骤。
本申请实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第二方面所述的方法中的步骤。
本申请实施例提供的模型生成系统包括分布式集群,分布式集群的头节点可以根据预先配置的预设模型、训练数据集以及测试数据集,创建模型生成任务,并将所述模型生成任务下发给集群中的多个工作节点,每个工作节点可以自动根据模型生成任务,利用训练数据集中的目标训练数据集训练预设模型,并利用测试数据集中的目标测试数据集对训练得到的模型进行测试,得到模型性能参数值,集群中的服务节点提供的共享目录中可以包括多个工作节点各自得到的模型的模型性能参数值,从而根据模型的模型性能参数值,从中自动筛选出性能较优的目标模型。
采用本申请的模型生成系统,只需配置好训练数据集和测试数据集即可,后续便可以通过分布式集群中的头节点、服务节点和工作节点自动完成模型训练和模型测评,避免在训练好模型后,需要用户介入才能对模型进行测评的问题,实现了根据训练数据集和测试数据集的输入,直接产生可用的模型的技术目的。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例示出的一种模型生成系统的结构框图;
图2是本申请一实施例示出的一种模型生成系统的整体结构框图;
图3是本申请一实施例示出的模型生成方法的流程图;
图4是本申请一实施例示出的一种电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在一次模型生成的过程中,会包含很多步骤,比如说数据集准备、模型训练、模型评测,模型推理,如果将这些流程掐头去尾,其目的就是说给定数据集,找出最佳的模型来做后续的推理。
相关技术中,通用的做法都是将上述步骤拆成单个模块来做,但是对技术人员来说,需求的是更加精简的生成过程,即将模型训练和模型评测这两个步骤自动化掉,如果只根据数据集的输入,便直接产生可用的模型投入使用,便可以大大简化模型生成的流程。
有鉴于上述需求,本申请提出了一种模型自动化生成方案,具体的技术构思是:将生成模型所需的原子算法包工程化及平台化,以实现根据输入数据集产出可直接投入使用的模型的技术目的,以此满足用户只需输入数据集便可以得到可用的模型的需求。
为实现以上模型自动化生成方案,本申请具体构思了以下技术架构:
1、在自动学习平台上可以进行模型生成相关的所有操作,主要包括:
a)模型生成任务的配置操作,具体包括输入一些配置信息以及元数据信息。
b)模型生成任务的查看操作,具体为:用户可以查看此次模型生成任务的基本信息、训练详情以及评测结果,主要可以查看模型的准确率、模型准确率的变化趋势、最优模型在评测集上的评测结果等。
c)得到的模型的应用,具体为:用户可以利用单次模型生成任务产出的最优模型直接进行后续的推理。
2、提供自动学习平台的入口,用户对模型生成相关的所有操作都可以先通过该入口下发。
3、使用分布式集群这个框架来作为底层训练/评测一体流程的完整载体,例如可以是Ray集群。Ray是一种面向机器学习场景的框架,它的核心是提供了强大的分布式计算能力,并且它可以做到几乎不提高用户代码复杂度的情况下实现分布式能力。本申请实施例中,当接收到模型生成任务的请求后,会先启动一个Ray集群,然后模型生成任务会在该Ray集群中提交并计算,该提交的任务主要会用到算法包,最终的结果都会输出到一个由Ray集群内部所有节点共享的共享目录下,该共享目录下会包含各个工作节点训练得到的最优的模型以及各模型对应的元信息及评测结果,最终将这些结果都进行存储以供后续使用。
4、整个自动学习平台可以运行于Kubernetes之上,其中,kubernetes简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用。因此,可以将“模型生成”作为一种新的资源类型,也即Kubernetes中的一种资源对象CRD(CustomResourceDefinition),该CRD可以描述单次模型生成需要的所有信息,包括所属Ray集群、模型生成任务类型等。
按照以上的技术架构,本发明人提出了一种自动学习平台,该自动学习平台即为本申请所述的模型生成系统,参照图1所示,示出了本申请实施例的一种模型生成系统的结构框图,具体地,如图1所述,所述系统具体可以包括分布式集群,所述分布式集群包括:头节点、服务节点以及多个工作节点:
头节点,用于根据预先配置的预设模型、训练数据集以及测试数据集,创建模型生成任务,并将所述模型生成任务下发给所述多个工作节点;
多个工作节点,分别用于根据所述模型生成任务,从所述训练数据集中提取目标训练数据集训练所述预设模型,并从所述测试数据集中提取目标测试数据集对训练得到的模型进行测试,得到模型性能参数值;
服务节点,用于为所述头节点以及多个工作节点提供共享目录,所述共享目录包括所述多个工作节点各自得到的模型性能参数值。
其中,本申请实施例的系统还可以用于根据多个工作节点各自得到的模型性能参数值,确定目标模型。
具体地,系统可以根据内存中预先保存的作为模型性能指标的标准性能参数值进行比较,继而可以根据与作为模型性能指标的标准性能参数值的比较结果,筛选出一个最符合标准性能参数值的模型,则该模型即为目标模型。
其中,训练数据集中包括多个训练数据,测试数据集中包括多个测试数据,训练数据集中不同的多个训练数据可以组成不同的目标训练数据集,例如,训练数据集中包括1000条训练数据,则其中的500条训练数据可以组成一个训练数据集,另外500条训练数据可以组成又一个训练数据集。同理,测试数据集中不同的多个测试数据可以组成不同的测试数据集。在一些实施例中,多个工作节点中的至少部分工作节点所提取的目标训练数据集不同,和/或多个工作节点中的至少部分工作节点提取的目标测试数据集不同。因而该些部分工作节点可以根据不同的目标训练数据集和/或不同的目标测试数据集,训练得到性能参数不同的模型。示例地,不同工作节点提取的目标训练数据集不同,和/或不同工作节点提取的目标测试数据集不同。因而不同工作节点可以根据不同的目标训练数据集和/或不同的目标测试数据集,训练得到性能参数不同的模型。在一些实施例中,目标训练数据集包括训练数据集中的部分训练数据;目标测试数据集包括测试数据集中的部分测试数据。示例地,不同工作节点所选取的训练数据和/或测试数据不完全相同,也即不同工作节点可以选取不同的训练数据和/或测试数据,或者还可以选取不同数量的训练数据和/或测试数据;从而,使得各不同工作节点所对应的目标训练集和/或测试数据集不同。
本申请实施例中,分布式集群可以是Ray集群,如上所述,Ray集群是一种面向机器学习场景的框架,它的核心是提供了强大的分布式计算能力,并且它可以做到几乎不提高用户代码复杂度的情况下实现分布式能力。在该Ray集群中可以包括多个节点,即包括本申请实施例中的头节点、服务节点和工作节点。其中,头节点也被称为head pod、工作节点又可以称为worker pod,服务节点又可以称为nfs server pod。
头节点可以包括head container(头部容器)和autolearn apiservercontainer。head container可以用于运行Ray集群中的各个节点。本实施例中,可以通过头节点管理head container,head container中运行进程,也可以理解为进程放在headcontainer中运行,例如,在本申请实施例中,head container中可以运行模型生成任务的进程。当然,头节点可以包括多个head container,每个head container中运行单个进程,例如,一个head container中运行模型生成任务的进程,另一个head container中运行模型生成任务下发的进程。多个container之间可以共享网络(IP/Port)、共享存储(Volume)。
autolearn apiserver container用于提交模型生成任务,并主动检查Ray集群中各个节点的可用性,当集群中各个节点可用时自动将模型生成任务进行下发。其中,预先配置的预设模型、训练数据集以及测试数据集均可以由用户预先准备好后上传到Ray集群中,以便头节点根据预设模型、训练数据集以及测试数据集,创建模型生成任务。
当然,在一些实施例中,头节点还可以根据配置信息和元数据信息生成模型生成任务,该配置信息可以为生成模型时所需要的算法包的一些基本信息,例如,包括占用多少资源、训练多少时间、多少次数的信息。元数据信息可以是模型生成任务的一些属性信息,例如包括训练数据集的标签、任务名字等信息。
多个工作节点中的每个工作节点都可以被头节点下发模型生成任务,其中,每个工作节点可以包括worker container(工作容器),worker container负责运行模型生成任务,主要用于利用训练数据集中的目标训练数据集训练预设模型,并利用测试数据集中的目标测试数据集对训练得到的模型进行测试,得到模型性能参数值。其中,不同工作节点可以随机提取训练数据集中的部分多条训练数据作为目标训练数据集,也可以随机提取测试数据集中的部分多条测试数据作为目标测试数据集,这样,使得不同工作节点训练和测试模型的训练数据和测试数据均可以不同。如此,不同工作节点所测评得到的模型的性能参数值可以是不同的,如此,不同工作节点所得到的模型的性能也是不同的,通俗来讲,即是多个工作节点各自得到的模型的性能水平有优有劣。
具体实施时,多个工作节点可以是并行工作的,可以理解为是多个工作节点可以同时开展模型的训练和测评。其中,每个工作节点都可以对训练出的模型进行评测,最终得到评测后的模型的模型性能参数值,该模型性能参数值可以反映训练出的模型的性能,即反映模型在评测数据集上的评测结果。
服务节点,用于为头节点以及多个工作节点提供共享目录,具体地,头节点和每个工作节点可以向服务节点挂载自己在执行相应的模型生成任务时,所产生的目录数据。其中,目录数据具体可以包括模型生成任务的基本信息、训练详情、评测结果、模型准确率的变化趋势等,从而在服务节点中形成共享目录,该共享目录当然包括多个工作节点各自得到的模型性能参数值,即模型在评测数据集上的评测结果。其中,该服务节点的共享目录是可以被用户所查看的。
在本申请的一种实施例中,在确定目标模型时,可以由头节点执行,则头节点还用于比较所述多个工作节点各自得到的模型性能参数值,将所述多个工作节点中一个工作节点训练得到的模型确定为目标模型。
本申请实施例中的模型生成系统的头节点,由于共享了服务节点的共享目录,而该共享目录中可以包括各个工作节点对训练得到的模型进行评测的评测结果,因此,头节点可以比较多个工作节点各自得到的模型性能参数值。具体地,可以将各个工作节点的模型性能参数值分别与内存中预先保存的作为模型性能指标的标准性能参数值进行比较,继而可以根据与作为模型性能指标的标准性能参数值的比较结果,筛选出一个最符合标准性能参数值的模型,则该模型即为目标模型。
例如,可以将模型性能参数值与标准性能参数值之间的差距小于预设差距的模型确定为目标模型。
实际中,该头节点可以将该筛选出的目标模型进行输出,从而方便利用该目标模型进行后续的实际应用。
采用本申请的模型生成系统,只需配置好训练数据集和测试数据集即可,后续便可以通过分布式集群中的头节点、服务节点和工作节点自动完成模型训练和模型测评,避免在训练好模型后,需要用户介入才能对模型进行测评的问题,实现了根据训练数据集和测试数据集的输入,直接产生可用的模型的技术目的。
具体来说,具有以下优点:
一、将模型训练和模型评测的流程完全一体化,即一站式输出可用的模型,中间经历的流程对用户来说,是无感知的,用户只需要提供训练数据集和测试数据集、元信息以及一些基本的配置信息,最终即可得到可直接被推理的模型。
二、借助Ray集群这个分布式框架来做计算,可以实现高吞吐但低延迟的调度,平台开发人员可以不必关心如何开启训练/评测的问题,只需要提交模型生成任务到Ray集群内即可,优化了用户体验。
参照图2所示,示出了本申请实施例的一种模型生成系统的整体示意图,如图2所示,在本申请实施例中,所述系统运行在Kubernetes平台上,所述系统还包括自动学习服务器、自动学习控制器;所述头节点内部署有自动学习接口。
自动学习服务器用于接收用户终端发送的模型生成请求,并利用所述Kubernetes平台的客户资源自定义机制,输出所述模型生成任务指示,并发送给所述自动学习控制器;
自动学习控制器用于创建所述分布式集群,并向所述头节点内部署的所述自动学习接口下发所述模型生成任务指示;
所述头节点,用于在接收到所述模型任务生成指示时,根据预先配置的预设模型、训练数据集以及测试数据集,创建模型生成任务。
如上所述,kubernetes简称K8s,是用8代替8个字符“ubernete”而成的缩写,是一个开源的,用于管理云平台中多个主机上的容器化的应用。在本申请实施例中,Kubernetes平台可以作为模型生成系统的底层支持,支持分布式集群的运行。
自动学习服务器又可以称为autolearn server,可以用于处理模型生成任务相关的业务逻辑,例如,包括对上层模型生成任务/版本业务上的增删改查。具体地,自动学习服务器可以接收用户终端发送的模型生成请求,并利用Kubernetes平台的客户资源自定义机制和模型生成请求,输出模型生成任务指示,并发送给自动学习控制器。其中,该自动学习服务器创建的模型生成任务指示可以理解为是:创建了一个任务实例,以指示Ray集群执行。而头节点创建的模型生成任务可以理解为是:对任务实例的具体执行,通过下发给工作节点,使得工作节点可以直接根据头节点下发的模型生成任务,执行模型训练和模型测评。
自动学习控制器又可以称为autolearn controller,主要用于监听autolearn cr相关的事件,并做相应的reconcile/sync操作。具体而言,该自动学习控制器可以用于将当前的状态过渡到开始执行模型生成任务的状态,以启动执行模型生成任务的执行环境,即创建分布式集群,并向分布式集群中的头节点内部署的自动学习接口下发模型生成任务指示,进而头节点在接收到该模型生成任务指示时,可以根据预先配置的预设模型、训练数据集以及测试数据集,创建具体执行的模型生成任务,以进行模型的生成。
其中,如图2所示,自动学习接口为autolearn apiserve container,如上述示例所述,该自动学习接口可以提交模型生成任务指示,并主动检查Ray集群中各个节点的可用性。如此,该自动学习接口可以作为头节点与自动学习服务器之间的连接节点,以起到在头节点内转发模型生成任务指示的作用。
其中,采用Kubernetes平台可以作为模型生成系统的底层支持,支持分布式集群的运行,自动学习服务器和自动学习控制器可以作为分布式集群面向用户的窗口,以方便用户进行模型生成任务的提交和创建,如此,可以优化用户的使用体验。
其中,在本申请实施例中,所述模型生成请求包括:所述训练数据集和所述测试数据集;所述系统还包括Mongo数据库,所述Mongo用于存储所述训练数据集和所述测试数据集。
具体地,模型生成请求可以由用户终端向自动学习服务器发送,实际中,用户可以在完成训练数据集和测评数据集的准备后,请求生成模型,从而用户终端根据该请求,生成了模型生成请求。具体而言,用户终端可以是模型生成系统所位于的终端,也可以是与模型生成系统所位于的终端所不同的终端。
在用户终端是模型生成系统所位于的终端时,用户可以通过自动学习服务器和自动学习控制器提供的面向用户的窗口,发出该模型生成请求。当用户终端是与模型生成系统所位于的终端所不同的终端时,用户可以通过与模型生成系统适配的客户端应用,发出模型生成请求。如此,可以灵活满足用户发送模型生成请求的需求,即用户既可以用其他终端上的客户端应用发送模型生成请求,也可以利用模型生成系统自身提供的窗口发送模型生成请求。
其中,模型生成请求中可以携带训练数据集和测试数据集,在一种示例中,模型生成请求中可以包括训练数据集和测试数据集分别所在的存储地址,这样,在工作节点需要训练数据集训练预设模型,以及在工作节点需要测评数据集测评训练得到的模型时,工作节点可以根据训练数据集和测试数据集分别所在的存储地址,从训练数据集中提取目标训练数据集,以及从测试数据集中提取目标测试数据集。
本实施例中,训练数据集和测试数据集可以存储在Mongo数据库中,则相应地,训练数据集和测试数据集分别所在的存储地址可以是指在Mongo数据库中的存储位置。Mongo数据库是一个基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。因而,采用Mongo数据库可以满足训练数据集中的训练样本比较复杂的情况,例如,可以满足训练样本可能是图片、向量、数据等格式的情况。
在本申请实施例中,所述系统还可以包括:与所述分布式集群通信连接的对象存储服务OSS模块,用于存储所述预设模型并将所述预设模型下发给所述多个工作节点,以及用于存储所述头节点确定出的所述目标模型。
其中,该对象存储OSS模块可以与Ray集群的头节点和服务节点连接,其中,头节点可以从对象存储OSS模块中获取预设模型,并在将模型生成任务发给多个工作节点时,也可以将预设模型下发给多个工作节点。其中,在头节点筛选出目标模型后,可以将目标模型输入给对象存储OSS模块,该OSS模块从而可以存储该目标模型。
本实施例中,对象存储OSS模块可以作为用户与模型生成系统之间的对接模块,用户可以通过该对象存储OSS模块提交预设模型,并从该对象存储OSS模块中提取出对预设模型进行训练以及测评后直接可进行推理的目标模型。
其中,在本申请实施例中,所述共享目录还包括所述多个工作节点分别在对所述预设模型进行训练的过程中,所述预设模型的模型参数;多个工作节点,分别用于根据所述模型生成任务,从所述训练数据集中提取目标训练数据集训练所述预设模型,直至达到预设的训练结束条件或所述预设模型收敛后,从所述测试数据集中提取目标测试数据集对训练得到的模型进行测试,得到模型性能参数值。
本实施例中,服务节点可以存储各个工作节点的目录数据,其中,目录数据可以包括模型生成任务的基本信息、训练详情、评测结果、模型准确率的变化趋势。具体地,训练详情即可以是工作节点在对预设模型进行训练的过程中,每次更新预设模型后所得到的模型参数。
其中,每个工作节点得到的模型性能参数值是指训练得到的模型的评测结果,该评测结果反映了该工作节点最终提供的可用的模型的性能。具体地,该工作节点得到最终可用的模型的过程可以是:根据模型生成任务,先利用训练数据集中的目标训练数据集训练预设模型,直至达到预设的训练结束条件或预设模型收敛后,自动再利用测试数据集中的目标测试数据集对训练得到的模型进行测试,得到模型性能参数值。
其中,训练结束条件可以是指训练的次数达到预设次数或者模型对任务的执行准确率达到预设准确率。预设模型收敛可以表征该预设模型已经被训练完毕,模型参数已经被更新到一定程度,此种情况下,表征模型已经被训练好。其中,利用测试数据集的目标测试数据集对训练得到的模型进行测试的过程,可以参照相关技术即可,在此不再赘述。
基于相同的发明构思,本申请实施例还提供了一种模型生成的方法。图3是本申请一实施例示出的一种模型生成方法的流程图。参照图3,本申请的模型生成方法具体可以包括以下步骤:
步骤S301:根据预先配置的预设模型、训练数据集以及测试数据集,创建模型生成任务,并将所述模型生成任务下发给多个工作节点。
步骤S302:获得所述多个工作节点各自从所述训练数据集中提取目标训练数据集训练所述预设模型,并从所述测试数据集中提取目标测试数据集对训练得到的模型进行测试后得到模型性能参数值。
步骤S303:根据所述多个工作节点各自得到的模型性能参数值,确定目标模型。
具体地,可以比较所述多个工作节点各自得到的模型性能参数值,将所述多个工作节点中一个工作节点训练得到的模型确定为目标模型。
本申请基于所提供的模型生成系统提供了一种模型生成方法,步骤S301由系统中的头节点执行,步骤S302由系统中的工作节点执行,步骤S303由系统中的头节点执行。
其中,在得到目标模型后,本申请实施例的模型生成方法还可以包括以下步骤:
步骤S304:获得应用数据集。
其中,应用数据集可以是存储在Mongo数据库中,该应用数据集中可以包括多个待处理的数据,该待处理的数据根据处理任务可以为待处理图像。
步骤S305:将所述应用数据集输入所述目标模型,得到模型预测结果。
本实施例中,可以将应用数据集中的多个待处理的数据全部输入目标模型,或者分批输入到目标模型,继而得到目标模型输出的模型预测结果,根据目标模型适配的处理任务,预测结果可以为物体分类结果、人脸识别结果、指纹识别结果等。在此,不对模型预测结果进行限定。
本申请提供的模型生成方法可以适用于任意一种的神经网络模型,以及适应任意一种神经网络模型构建需求。采用本申请的模型生成方法可以将模型训练和模型评测的流程完全一体化,即一站式输出可用的模型,中间经历的流程对用户来说,是无感知的,用户只需要提供数据集、元信息以及一些基本的配置信息,最终即可得到可直接被推理的模型,从而优化了用户体验。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
基于同一发明构思,本申请另一实施例提供一种电子设备400,如图4所示。图4是本申请一实施例示出的一种电子设备的示意图。该电子设备包括存储器402、处理器401及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的模型生成方法中的步骤。
基于同一发明构思,本申请另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的模型生成方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种模型生成系统、方法、电子设备及可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种模型生成系统,其特征在于,所述系统包括分布式集群,所述分布式集群包括:头节点、服务节点以及多个工作节点;
所述头节点,用于根据预先配置的预设模型、训练数据集以及测试数据集,创建模型生成任务,并将所述模型生成任务下发给所述多个工作节点;
所述多个工作节点,分别用于根据所述模型生成任务,从所述训练数据集中提取目标训练数据集训练所述预设模型,并从所述测试数据集中提取目标测试数据集对训练得到的模型进行测试,得到模型性能参数值;
所述服务节点,用于为所述头节点以及多个工作节点提供共享目录,所述共享目录包括所述多个工作节点各自得到的模型性能参数值;
其中,所述系统根据所述多个工作节点各自得到的模型性能参数值,确定目标模型。
2.根据权利要求1所述的系统,其特征在于,
所述头节点,还用于比较所述多个工作节点各自得到的模型性能参数值,将所述多个工作节点中一个工作节点训练得到的模型确定为所述目标模型。
3.根据权利要求1或2所述的系统,其特征在于,所述共享目录还包括所述多个工作节点分别在对所述预设模型进行训练的过程中,所述预设模型的模型参数;
所述多个工作节点,分别用于根据所述模型生成任务,从所述训练数据集中提取目标训练数据集训练所述预设模型,直至达到预设的训练结束条件或所述预设模型收敛后,从所述测试数据集中提取目标测试数据集对训练得到的模型进行测试,得到模型性能参数值。
4.根据权利要求1-3任一项所述的系统,其特征在于,所述系统还包括:与所述分布式集群通信连接的对象存储服务OSS模块,用于存储所述预设模型并将所述预设模型下发给所述多个工作节点,以及用于存储所述头节点确定出的所述目标模型。
5.根据权利要求1-3任一项所述的系统,其特征在于,所述系统运行在Kubernetes平台上,所述系统还包括自动学习服务器、自动学习控制器;所述头节点内部署有自动学习接口;
所述自动学习服务器用于接收用户终端发送的模型生成请求,并利用所述Kubernetes平台的客户资源自定义机制,输出模型生成任务指示,并发送给所述自动学习控制器;
所述自动学习控制器用于创建所述分布式集群,并向所述头节点内部署的所述自动学习接口下发所述模型生成任务指示;
所述头节点,用于在接收到所述模型任务生成指示时,根据预先配置的预设模型、训练数据集以及测试数据集,创建模型生成任务。
6.根据权利要求5所述的系统,其特征在于,所述模型生成请求包括:所述训练数据集和所述测试数据集;所述系统还包括Mongo数据库,所述Mongo用于存储所述训练数据集和所述测试数据集。
7.一种模型生成方法,其特征在于,所述方法包括:
根据预先配置的预设模型、训练数据集以及测试数据集,创建模型生成任务,并将所述模型生成任务下发给多个工作节点;
获得所述多个工作节点各自从所述训练数据集中提取目标训练数据集训练所述预设模型,并从所述测试数据集中提取目标测试数据集对训练得到的模型进行测试后得到的模型性能参数值;
根据所述多个工作节点各自得到的模型性能参数值,确定目标模型。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获得应用数据集;
将所述应用数据集输入所述目标模型,得到模型预测结果。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行时实现如权利要求7或8所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求7或8所述的方法中的步骤。
CN202110077788.6A 2021-01-20 2021-01-20 模型生成系统、方法、电子设备及存储介质 Active CN112799782B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110077788.6A CN112799782B (zh) 2021-01-20 2021-01-20 模型生成系统、方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110077788.6A CN112799782B (zh) 2021-01-20 2021-01-20 模型生成系统、方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112799782A true CN112799782A (zh) 2021-05-14
CN112799782B CN112799782B (zh) 2024-04-12

Family

ID=75810892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110077788.6A Active CN112799782B (zh) 2021-01-20 2021-01-20 模型生成系统、方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112799782B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377715A (zh) * 2021-06-24 2021-09-10 北京明朝万达科技股份有限公司 基于nlp分类模型智能下发的方法、装置以及存储介质
CN113408745A (zh) * 2021-08-20 2021-09-17 北京瑞莱智慧科技有限公司 一种任务的调度方法、装置、设备及存储介质
CN115525554A (zh) * 2022-09-27 2022-12-27 北京瑞莱智慧科技有限公司 模型的自动化测试方法、系统及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107885762A (zh) * 2017-09-19 2018-04-06 北京百度网讯科技有限公司 智能大数据系统、提供智能大数据服务的方法和设备
CN109271236A (zh) * 2018-09-18 2019-01-25 郑州云海信息技术有限公司 一种业务调度的方法、装置、计算机存储介质及终端
US20190042887A1 (en) * 2017-08-04 2019-02-07 Fair Ip, Llc Computer System for Building, Training and Productionizing Machine Learning Models
CN109508238A (zh) * 2019-01-05 2019-03-22 咪付(广西)网络技术有限公司 一种用于深度学习的资源管理系统及方法
CN110413294A (zh) * 2019-08-06 2019-11-05 中国工商银行股份有限公司 服务发布系统、方法、装置和设备
US20200034197A1 (en) * 2016-10-19 2020-01-30 Nutanix, Inc. Adapting a pre-trained distributed resource predictive model to a target distributed computing environment
CN110928689A (zh) * 2019-12-05 2020-03-27 中国人民解放军军事科学院国防科技创新研究院 面向分布式强化学习训练的自适应资源管理方法及装置
US20200175416A1 (en) * 2018-11-30 2020-06-04 Jpmorgan Chase Bank, N.A. Methods for sharing machine learning based web service models
CN111885158A (zh) * 2020-07-22 2020-11-03 曙光信息产业(北京)有限公司 一种集群任务处理方法、装置、电子设备及存储介质
WO2021000570A1 (zh) * 2019-07-03 2021-01-07 创新先进技术有限公司 模型加载方法及系统、控制节点及执行节点

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200034197A1 (en) * 2016-10-19 2020-01-30 Nutanix, Inc. Adapting a pre-trained distributed resource predictive model to a target distributed computing environment
US20190042887A1 (en) * 2017-08-04 2019-02-07 Fair Ip, Llc Computer System for Building, Training and Productionizing Machine Learning Models
CN107885762A (zh) * 2017-09-19 2018-04-06 北京百度网讯科技有限公司 智能大数据系统、提供智能大数据服务的方法和设备
US20190087383A1 (en) * 2017-09-19 2019-03-21 Beijing Baidu Netcom Science And Technology Co., Ltd. Intelligent big data system, and method and apparatus for providing intelligent big data service
CN109271236A (zh) * 2018-09-18 2019-01-25 郑州云海信息技术有限公司 一种业务调度的方法、装置、计算机存储介质及终端
US20200175416A1 (en) * 2018-11-30 2020-06-04 Jpmorgan Chase Bank, N.A. Methods for sharing machine learning based web service models
CN109508238A (zh) * 2019-01-05 2019-03-22 咪付(广西)网络技术有限公司 一种用于深度学习的资源管理系统及方法
WO2021000570A1 (zh) * 2019-07-03 2021-01-07 创新先进技术有限公司 模型加载方法及系统、控制节点及执行节点
CN110413294A (zh) * 2019-08-06 2019-11-05 中国工商银行股份有限公司 服务发布系统、方法、装置和设备
CN110928689A (zh) * 2019-12-05 2020-03-27 中国人民解放军军事科学院国防科技创新研究院 面向分布式强化学习训练的自适应资源管理方法及装置
CN111885158A (zh) * 2020-07-22 2020-11-03 曙光信息产业(北京)有限公司 一种集群任务处理方法、装置、电子设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
刘祥;雷镜民;尚雷;: "战役级智能体训练系统", 指挥信息系统与技术, no. 03 *
李抵非;田地;胡雄伟;: "基于分布式内存计算的深度学习方法", 吉林大学学报(工学版), no. 03 *
顾军华;武君艳;许馨匀;谢志坚;张素琪;: "基于Spark的并行FP-Growth算法优化及实现", 计算机应用, no. 11 *
黄巨涛;郑杰生;高尚;刘文彬;林嘉鑫;董召杰;王尧;: "基于云平台的人工智能开源开发平台框架研究", 自动化与仪器仪表, no. 07 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377715A (zh) * 2021-06-24 2021-09-10 北京明朝万达科技股份有限公司 基于nlp分类模型智能下发的方法、装置以及存储介质
CN113408745A (zh) * 2021-08-20 2021-09-17 北京瑞莱智慧科技有限公司 一种任务的调度方法、装置、设备及存储介质
CN115525554A (zh) * 2022-09-27 2022-12-27 北京瑞莱智慧科技有限公司 模型的自动化测试方法、系统及存储介质
CN115525554B (zh) * 2022-09-27 2024-01-30 北京瑞莱智慧科技有限公司 模型的自动化测试方法、系统及存储介质

Also Published As

Publication number Publication date
CN112799782B (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
CN107861870B (zh) 接口测试及测试数据生成方法、装置、终端和存储介质
US20210311858A1 (en) System and method for providing a test manager for use with a mainframe rehosting platform
US11327749B2 (en) System and method for generating documentation for microservice based applications
US9959201B2 (en) Automated test generation for multi-interface enterprise virtualization management environment
US8108456B2 (en) Method and apparatus for migrating the system environment on which the applications depend
US10019293B2 (en) Enhanced command selection in a networked computing environment
CN112799782B (zh) 模型生成系统、方法、电子设备及存储介质
CN112559525B (zh) 数据检查系统、方法、装置和服务器
CN112579455B (zh) 一种接口自动化测试方法、装置、电子设备及存储介质
CN112579891A (zh) 一种云资源的推荐方法、装置、电子终端及存储介质
CN111897725B (zh) 中台服务自动化测试方法、介质、设备及系统
CN107203471B (zh) 联调方法、服务平台及计算机存储介质
CN110175769B (zh) 一种基于微服务架构的资产价值评价方法、装置及系统
CN109151021B (zh) 一种分布式存储系统文件锁特性测试方法和装置
US11995587B2 (en) Method and device for managing project by using data merging
CN113366510A (zh) 经由训练的原始网络与双网络来执行多目标任务
CN114861773A (zh) 模型训练可视化方法、装置以及云平台
CN115048158A (zh) 流程编排及调用方法及其系统、计算机设备
CN114371866A (zh) 业务系统的版本重构测试方法、装置和设备
CN112965745A (zh) 一种系统接入方法、装置、设备及计算机可读介质
CN112418796A (zh) 子流程节点激活方法、装置、电子设备及存储介质
CN117082151B (zh) 多数据源的调用方法、装置及存储介质
CN109669868A (zh) 软件测试的方法及系统
US20210224644A1 (en) Artificial intelligence-driven method and system for simplified software deployments
CN111208980B (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