CN110866605A - 数据模型训练方法、装置、电子设备及可读介质 - Google Patents
数据模型训练方法、装置、电子设备及可读介质 Download PDFInfo
- Publication number
- CN110866605A CN110866605A CN201810981379.7A CN201810981379A CN110866605A CN 110866605 A CN110866605 A CN 110866605A CN 201810981379 A CN201810981379 A CN 201810981379A CN 110866605 A CN110866605 A CN 110866605A
- Authority
- CN
- China
- Prior art keywords
- data
- training
- model
- models
- generate
- 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.)
- Pending
Links
Images
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Abstract
本申请提供一种数据模型训练方法、装置、电子设备及可读介质,该方法包括:按照预定规则将训练数据进行分组处理,生成多个分组数据;将所述多个分组数据分别输入多个数据模型中进行数据训练,所述多个数据模型运行在多个虚拟容器中;在数据训练后获取多个数据模型的多组模型参数;以及通过所述多组模型参数分别确定多个第一数据模型。本申请的数据模型训练方法、装置、电子设备及可读介质,能够提高算法模型在面对海量样本时的训练速度,极大地缩短了算法寻优时间和交付时间,并提高准确率和稳定性。
Description
技术领域
本申请涉及机器学习领域,尤其涉及一种数据模型训练方法、装置、电子设备及计算机可读介质。
背景技术
机器学习是通过机器学习算法,使机器能够从已有的大量的数据样本中学习规律,从而当输入新的数据样本时,机器可实现智能识别或预测功能。大量研究表明,参与训练的样本越多,机器学习算法模型收敛的准确度就相对越高。而现有的机器学习算法在其开发训练的流程中,通常由算法工程师先在部分少量的样本上做试验,不断改进算法模型,提升算法的准确度以达到业务要求;再由软件工程师对算法模型进行工程实现并上线,由于在整体样本上算法的准确度无法保障,经常需要很长时间的线上改进,才能达到一个稳定的状态。
然而,上述对算法模型的训练流程具有一定的缺陷,具体如下所述:
(1)由于算法工程师在部分样本的上做的试验,基于部分样本调整的算法参数,在整体样本未必最优,一般都需要重新调整,但是在海量的整体样本中,一次参数验证就可能需要耗费十几个小时,寻优过程非常缓慢,无法在短时间内找到最优参数。且不能做到参数随着样本的增长自动调整。
(2)算法工程师开发的算法代码依赖了很多科学算法包,由于算法的开发环境和线上环境的差异,会浪费算法工程师和软件工程师大量重复的劳动,在工程实现中,经常碰到数据倾斜问题和内存溢出问题,算法工程实现较难。
(3)算法工程师开发的算法代码,一般都是单机运行的,不能在分布式的环境下运行,算法执行效率低。
发明内容
有鉴于此,本申请提供一种数据模型训练方法、装置、电子设备及计算机可读介质,能够提高算法模型在面对海量样本时的训练速度,极大地缩短了算法寻优时间和交付时间,并提高准确率和稳定性。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的第一方面,提出一种数据模型训练方法,该方法包括:按照预定规则将训练数据进行分组处理,生成多个分组数据;将所述多个分组数据分别输入多个数据模型中进行数据训练,所述多个数据模型运行在多个虚拟容器中;在数据训练后获取多个数据模型的多组模型参数;以及通过所述多组模型参数分别确定多个第一数据模型。
在本申请的一种示例性实施例中,还包括:对原始数据进行预处理以生成所述训练数据。
在本申请的一种示例性实施例中,对原始数据进行预处理以生成所述训练数据包括:将原始数据按照时间进行排序以生成所述训练数据。
在本申请的一种示例性实施例中,按照预定规则将所述训练数据进行分组处理,生成多个分组数据包括:按照商品类别将所述训练数据进行分组处理,生成多个分组数据。
在本申请的一种示例性实施例中,按照商品类别将所述训练数据进行分组处理,生成多个分组数据包括:按照商品类别所述训练数据进行分组处理,生成多个第一分组数据;以及按照所述第一分组数据的数据量将所述第一分组数据进行分组处理,以生成所述多个分组数据。
在本申请的一种示例性实施例中,还包括:将所述多个分组数据分别输入多个数据模型中进行数据训练,所述多个数据模型运行在多个虚拟容器中包括:将所述多个分组数据储存在多个任务执行单元中;以及将多个任务执行单元与多个虚拟容器进行关联以进行数据训练。
在本申请的一种示例性实施例中,多个数据模型运行在多个虚拟容器中包括:通过数据容器引擎建立多个虚拟容器;将所述多个数据模型的算法代码封装为多个应用请求;以及通过资源管理器为所述多个应用请求分别指定虚拟容器以将所述多个数据模型运行在多个虚拟容器中。
在本申请的一种示例性实施例中,将所述多个分组数据分别输入多个数据模型中进行数据训练包括:虚拟容器中的数据模型通过调用任务执行单元中的分组数据以进行数据训练。
在本申请的一种示例性实施例中,在数据训练后获取多个数据模型的多组模型参数包括:在数据训练后获取多个数据模型的多组第一模型参数组;为所述多组第一模型参数组中的每一组第一模型参数组确定参数组合集合;通过所述参数组合集合再次进行模型训练,以确定所述多组模型参数。
在本申请的一种示例性实施例中,所述虚拟容器通过应用镜像启动,所述应用镜像包括预定的软件环境。
根据本申请实施例的第二方面,提出一种数据模型训练装置,该装置包括:分组模块,用于按照预定规则将所述训练数据进行分组处理,生成多个分组数据;训练模块,用于将所述多个分组数据分别输入多个数据模型中进行数据训练,所述多个数据模型运行在多个虚拟容器中;参数模块,用于在数据训练后获取多个数据模型的多组模型参数;以及模型模块,用于通过所述多组模型参数分别确定多个第一数据模型。
根据本申请实施例的第三方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的数据模型训练方法。
根据本申请实施例的第四方面,提出一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上述任一项所述的数据模型训练方法。
根据本申请的数据模型训练方法、装置、电子设备及计算机可读介质,能够提高算法模型在面对海量样本时的训练速度,极大地缩短了算法寻优时间和交付时间,并提高准确率和稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种数据模型训练方法及装置的系统框图。
图2是根据一示例性实施例示出的一种数据模型训练方法的流程图。
图3是根据一示例性实施例示出的一种数据模型训练方法的流程图。
图4是根据一示例性实施例示出的一种数据模型训练方法的流程图。
图5是根据另一示例性实施例示出的一种数据模型训练方法的架构图。
图6是根据另一示例性实施例示出的一种数据模型训练方法的示意图。
图7是根据另一示例性实施例示出的一种数据模型训练方法的流程图。
图8是根据另一示例性实施例示出的一种数据模型训练方法的流程图。
图9是根据另一示例性实施例示出的一种数据模型训练方法的流程图。
图10是根据一示例性实施例示出的一种数据模型训练方法的流程图。
图11是根据一示例性实施例示出的一种数据模型训练装置的框图。
图12是根据另一示例性实施例示出的一种数据模型训练装置的框图。
图13是根据一示例性实施例示出的一种用于数据模型训练的电子设备的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图仅为本发明的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
下面结合附图对本发明示例实施方式进行详细说明。
图1是根据一示例性实施例示出的一种数据模型训练方法及装置的系统框图。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所进行操作的数据模型训练系统提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的数据模型训练请求等数据进行分析等处理,并将处理结果(例如分组数据、模型最优参数--仅为示例)反馈给终端设备。
服务器105可例如按照预定规则将训练数据进行分组处理,生成多个分组数据;服务器105可例如将所述多个分组数据分别输入多个数据模型中进行数据训练,所述多个数据模型运行在多个虚拟容器中;服务器105可例如在数据训练后获取多个数据模型的多组模型参数;服务器105可例如提通过所述多组模型参数分别确定多个第一数据模型。
服务器105可以是一个实体的服务器,还可例如为多个服务器组成,服务器105中的一部分可例如作为本申请中的数据模型训练任务提交系统,用于发送待训练模型、训练样本;以及服务器105中的一部分还可例如作为本申请中的数据模型训练系统,用于按照预定规则将训练数据进行分组处理,生成多个分组数据;将所述多个分组数据分别输入多个数据模型中进行数据训练,所述多个数据模型运行在多个虚拟容器中;在数据训练后获取多个数据模型的多组模型参数;以及通过所述多组模型参数分别确定多个第一数据模型。
需要说明的是,本申请实施例所提供的数据模型训练方法可以由服务器105执行,相应地,数据模型训练装置可以设置于服务器105中。而提供给用户用于数据模型训练任务与数据模型训练结果的请求端一般位于终端设备101、102、103中。
图2是根据一示例性实施例示出的一种数据模型训练方法的流程图。根据图2示出的数据模型训练方法,可以提高算法模型在面对海量样本时的训练速度,极大地缩短了算法寻优时间和交付时间,并提高准确率和稳定性。下面,将参照图2,对本申请示例性实施例中的数据模型训练方法进行说明。
在步骤S210中,按照预定规则将训练数据进行分组处理,生成多个分组数据。其中,可按照商品类别将训练数据进行分组处理,生成多个分组数据。例如,可按照商品类别将训练数据进行分组处理,生成多个第一分组数据;以及按照第一分组数据的数据量将第一分组数据进行分组处理,以生成多个分组数据。
根据示例实施例,可对原始数据进行预处理以生成训练数据。其中,原始数据可能并不满足输入样本要求的数据质量,通过原始数据进行预处理可保证其数据质量。可例如对原始数据进行缺失值补全、标准化、归一化处理等,本发明的技术方案对此并不作特殊限定。
根据示例实施例,对原始数据进行预处理以生成训练数据还可包括将原始数据按照时间进行排序以生成训练数据。其中,原始数据通常为天记录的数据,若将其直接输入算法,将浪费大量内存资源,且影响算法执行效率。在本示例实施例中,例如可将原始数据转换成时间序列格式,还可转换为其他的数据格式,本发明并不以此为限。
在步骤S220中,将多个分组数据分别输入多个数据模型中进行数据训练,多个数据模型运行在多个虚拟容器中。其中,虚拟容器可例如通过应用镜像启动,应用镜像包括预定的软件环境。预定的软件环境例如可采用Docker虚拟化技术,Docker是一个开源的应用容器引擎,容器虚拟化技术是内核级的虚拟化,对资源的额外需求很低,实现了远超传统虚拟机的轻量级虚拟化。Docker容器可理解为一种轻量级的沙盒。每个容器内运行着一个应用,不同的容器相互隔离,容器之间通过网络相互通信。容器的创建和停止都十分快捷,几乎跟创建和终止原生应用一样。
根据示例实施例,可首先将多个分组数据储存在多个任务执行单元中;以及将多个任务执行单元与多个虚拟容器进行关联以进行数据训练。其中,任务执行单元可例如为执行器(Executor),其实Spark任务的执行单元。Spark是UC Berkeley AMP lab(加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架。相比于并行计算模型MapReduce,Spark有十倍甚至上百倍的性能优势。
根据示例实施例,可通过数据容器引擎建立多个虚拟容器;将所述多个数据模型的算法代码封装为多个应用请求;以及通过资源管理器为所述多个应用请求分别指定虚拟容器以将所述多个数据模型运行在多个虚拟容器中。其中,资源管理器可例如使用YARN(Yet Another Resource Negotiator),其是一种新的Hadoop资源管理器。YARN由下面几大组件构成:(1)一个全局的资源管理器ResourceManager;(2)ResourceManager的每个节点代理NodeManager;(3)表示每个应用的ApplicationMaster(4)每一个ApplicationMaster拥有多个容器Container在Nodemanager上运行。可例如使用ResourceManager(资源管理器)为多个应用请求分别指定容器(例如Docker container)。
根据示例实施例,虚拟容器中的数据模型可通过调用任务执行单元中的分组数据以进行数据训练。例如,可通过YARN中的应用(AppMaster)向ResourceManager注册,并申请资源。
在步骤S230中,在数据训练后获取多个数据模型的多组模型参数。例如,多个数据模型可例如针对不同商品类型的样本数据训练得到相应的多组模型参数。
根据示例实施例,步骤S230可包括:在数据训练后获取多个数据模型的多组第一模型参数组;为多组第一模型参数组中的每一组第一模型参数组确定参数组合集合;通过参数组合集合再次进行模型训练,以确定多组模型参数。例如,当针对多种商品类型的样本数据训练后,其获得的相应的多组第一模型参数组中,其参数可能为指定范围。为获得模型最优参数组,可通过对多组第一模型参数组尝试不同的参数组合,并再次拉取分组数据进行模型训练,以生成最优参数,即多组模型参数。
在步骤S240中,通过所述多组模型参数分别确定多个第一数据模型。其中,当通过步骤S230获得多个对应模型的多组模型参数时,将其应用于多个对应模型,即获得多个第一数据模型。
根据本申请的数据模型训练方法,通过将多个分组数据分别输入多个数据模型进行数据训练,以及通过得到的多组模型参数分别确定多个第一数据模型,能够提高算法模型在面对海量样本时的训练速度,极大地缩短了算法寻优时间和交付时间,并提高准确率和稳定性。
图3是根据一示例性实施例示出的一种数据模型训练方法的流程图。参照图3,数据模型训练方法可以包括:
步骤S310,通过数据容器引擎建立多个虚拟容器。例如,可通过节点代理(NodeManager)向AppMaster分配Docker container。
步骤S320,将多个数据模型的算法代码封装为多个应用请求。例如,可设置AppMaster和Executor执行镜像,将算法代码封装为Application向ResourceManager提交。
步骤S330,通过资源管理器为多个应用请求分别指定虚拟容器以将多个数据模型运行在多个虚拟容器中。例如,当ResourceManager收到应用请求后,随机获取一个NodeManager以指定Docker container,并在该Docker container中启动AppMaster。根据示例实施例,虚拟容器中的数据模型可通过调用任务执行单元(例如Executor)中的分组数据以进行数据训练。
图4是根据一示例性实施例示出的一种数据模型训练方法的流程图。参照图4,数据模型训练方法可以包括:
步骤S410,在数据训练后获取多个数据模型的多组第一模型参数组。例如,第一模型参数组中,其参数可能为指定范围,并非定值。
步骤S420,为所述多组第一模型参数组中的每一组第一模型参数组确定参数组合集合。例如,第一模型参数组为针对某一特定商品类型的样本训练获得的参数范围组合,考虑到不同商品类型的样本间仍然存在一定的相似性,例如生鲜类型商品与果蔬类型商品的价格可能均会受到消费者的购买力的影响,可将多个第一模型参数组进行交叉组合,以生成其参数组合集合。
步骤S430,通过所述参数组合集合再次进行模型训练,以确定所述多组模型参数。例如,可将步骤S430中的多个参数组合集合分别再次训练其对应的模型,以获得最优模型参数。
图5是根据另一示例性实施例示出的一种数据模型训练方法的架构图。参照图5,数据模型训练方法可结合Docker虚拟化技术和Spark分布式内存计算技术,首先开发出基础镜像,根据算法不同生成不同应用镜像,这些应用镜像包含算法的整个软件环境(例如Pandas、Numpy、Sklearn等),使用应用镜像启动Docker container,YARN调用程序将Executor运行在Docker容器中运行。最后,对输出结果进行收集。
图6是根据另一示例性实施例示出的一种数据模型训练方法的示意图。参照图6,算法代码的执行步骤可为:
(1)设置AppMaster和Executor执行镜像,封装算法代码成Application向ResourceManager提交。
(2)ResouceManager收到请求后,随机找一个NodeManager,分配Dockercontainer给AppMaster,
(3)在Docker container中启动AppMaster。
(4)AppMaster向ResourceManager注册,并申请资源。
(5)申请到资源后,在各个NodeManager上启动Docker container,执行Executor。
(6)AppMaster不断分配任务给Executor。
图7是根据另一示例性实施例示出的一种数据模型训练方法的流程图。在数据预处理过程中,源数据一般是一些天记录数据,直接输入算法,浪费大量的内存资源且影响算法执行效率,需要将天记录的数据转换成时间序列格式(或其它格式,以时间序列为例)。参照图7,数据模型训练方法可包括:
步骤S710,分组。首先对源数据进行分组,例如,同一个业务key的源数据都放在一个组内。
步骤S720,排序。例如分别将各组数据分别按照日期升序排列。若在数据预处理的前述步骤中未进行缺失值的补充以及重复值的删除,则还需要先进行上述步骤,再进行排序。
步骤S730,生成时序。例如,保留开始日期,生成开始日期到今天长度的数组,即为一个完整的、连续的时间序列。
图8是根据另一示例性实施例示出的一种数据模型训练方法的流程图。经过预处理后生成的时序数据所占用的内存空间虽已大幅缩小,但仍然是海量数据,若直接参与训练,耗时仍较严重。因此需要对数据进行分发处理,以将数据近似均匀地分布在不同的机器中进行训练。为避免数据倾斜,在数据分发前,可对时序数据进行如下步骤:
步骤S810,统计分析。例如,可通过相关性分析等方法对数据进行统计分析。步骤S820,确定分组策略。例如,分组策略可以是:根据相关性最小的key进行分类。步骤S830,分发数据。例如,根据步骤S820的分组策略完成分组后,将各组数据分发给多个Executor中。
图9是根据另一示例性实施例示出的一种数据模型训练方法的流程图。参照图9,当按照类别进行步骤S830中的数据分组时,可根据时序数据部分的key,按照一级类别、二级类别、三级类别等类别进行分类,分别统计每个类别下key的数量,如果一级类别下key的数量小于10万,直接将此一级类别的数据和一级类别ID分发给Executor。如果一级类别下key的数量大于10万,分析其下面所有的二级类别key的数量,将key数量小于10万的二级类别及类别ID(一级类别ID和二级类别ID)分别分发给不同的Executor,如果有key数量大于10万的二级类别,继续进行三级类别的统计,依次类推,直至所有的数据分发完成。
图10是根据另一示例性实施例示出的一种数据模型训练方法的流程图。参考图10,当根据步骤310获取多组第一模型参数组后,其第一模型参数组可能还未达到最优,或为包含了最优参数的范围参数,为获得算法的最优参数,需要尝试不同的参数组合,根据分组策略拉取分组数据,分别进行分组模型训练,最后生成结果,即模型的最优参数。
根据本申请的数据模型训练方法,结合虚拟化技术和分布式内存计算,将算法运行在虚拟化的容器中,由串行的算法模型训练改进为根据不同的分组策略对算法进行分组并行训练,极大地缩短了算法寻优时间和交付时间,提高了算法收敛的准确度及稳定性。综上,本申请的数据模型训练方法具有如下有益效果:(1)提高算法模型在海量样本中的训练速度,快速获得最优算法参数,且随着样本的不同,自动调整参数。(2)解决算法工程实现难的问题,做到算法工程师和软件工程师的无缝对接,大幅缩短算法工程实现的时间。(3)解决算法不能在分布式环境下运行的问题,提高算法的执行效率。
图11是根据一示例性实施例示出的一种数据模型训练装置的框图。参照图11,数据模型训练装置可以包括:分组模块1110、训练模块1120、参数模块1130、模型模块1140。
在数据模型训练装置中,分组模块1110用于按照预定规则将所述训练数据进行分组处理,生成多个分组数据。其中,可按照商品类别将训练数据进行分组处理,生成多个分组数据。例如,可按照商品类别将训练数据进行分组处理,生成多个第一分组数据;以及按照第一分组数据的数据量将第一分组数据进行分组处理,以生成多个分组数据。
训练模块1120用于将所述多个分组数据分别输入多个数据模型中进行数据训练,所述多个数据模型运行在多个虚拟容器中。其中,虚拟容器可例如通过应用镜像启动,应用镜像包括预定的软件环境。预定的软件环境例如可采用Docker虚拟化技术。
参数模块1130用于在数据训练后获取多个数据模型的多组模型参数。例如,多个数据模型可例如针对不同商品类型的样本数据训练得到相应的多组模型参数。
根据示例实施例,参数模块1130可用于:在数据训练后获取多个数据模型的多组第一模型参数组;为多组第一模型参数组中的每一组第一模型参数组确定参数组合集合;通过参数组合集合再次进行模型训练,以确定多组模型参数。
模型模块1140用于通过所述多组模型参数分别确定多个第一数据模型。其中,当通过步骤S230获得多个对应模型的多组模型参数时,将其应用于多个对应模型,即获得多个第一数据模型。
图12是根据另一示例性实施例示出的一种数据模型训练装置的框图。参照图12,数据模型训练装置可包括数据预处理模块1210、数据转换模块1220、数据分发模块1230、模型训练模块1240、模型收集模块1250以及性能评估模块1260。
在数据模型训练装置中,为保证输入算法的数据质量,可使用数据预处理模块1210对数据进行预处理,例如去除唯一属性、缺失值补全、对属性进行one-hot编码、数据的标准化、归一化等操作。
源数据一般是天记录的数据,若直接输入算法,浪费大量的内存资源且影响算法执行效率,可通过数据转换模块1220将天记录的数据转换成时间序列格式或其它格式。
经过数据转换模块1220,生成的时序数据占用的内存空间已经大幅缩小,但仍然是海量数据,若直接参与训练,耗时仍较严重,可通过数据分发模块1230对数据进行分发,将数据近似均匀地分布在不同的机器中进行训练。为避免数据倾斜,在数据分发前,需要对时序数据进行统计分析,确定分发策略,并根据分发策略对数据进行分发。
经过数据分发模块1230,数据近似均匀地分布到了不同Executor,Executor的数量也就确定了,由于数据比较均匀分布,每个Executor不用申请过多的资源,每个Executor有4个Executor-cores,Executor-memory为20G即可。可通过模型训练模块1240将Executor运行在Docker container上,Docker container是通过应用镜像启动的,应用镜像由算法工程师开发附带了整个算法的软件环境,算法代码不需要更改即可进行模型训练,实现了算法和工程的无缝对接。通过上述模式,从源头解决了数据倾斜问题和算法运行环境问题,训练过程也更加稳定,且可以并行训练模型。
使用Docker container进行模型训练后,其输出结果是乱序的,可通过模型收集模块1250将同一参数的模型训练输出按照分组策略,有序的归并到一起,按照规定的格式存放到分布式文件系统中(例如HDFS),便于后面算法性能评估。
由于不同的业务场景,算法性能评估的关注点也不一样,下面以准确率为评估指标说明性能评估过程。针对不同参数训练出的模型,算法性能评估模块1260将测试集输入各个算法模型,输出预测值,结合真实值和预测值,算出算法的准确度,选择准确高的算法模型作为最终的算法模型。
根据本申请的数据模型训练装置,通过将多个分组数据分别输入多个数据模型进行数据训练,以及通过得到的多组模型参数分别确定多个第一数据模型,能够提高算法模型在面对海量样本时的训练速度,极大地缩短了算法寻优时间和交付时间,并提高准确率和稳定性。
图13是根据一示例性实施例示出的一种用于数据模型训练的电子设备的框图。
下面参照图13来描述根据本申请的这种实施方式的电子设备1300。图13显示的电子设备1300仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从储存部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。例如,中央处理单元1301可以执行如图2、图3、图4、图5、图6、图7、图8、图9、图10中的一个或多个所示的步骤。
在RAM1303中,还存储有系统操作所需的各种程序和数据,例如分组数据、模型参数等。CPU 1301、ROM 1302以及RAM1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括触摸屏、键盘等的输入部分1306;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分1307;包括闪存等的储存部分1308;以及包括诸如无线网卡、高速网卡等的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如半导体存储器、磁盘等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入储存部分1308。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者智能设备等)执行根据本发明实施例的方法,例如图2、图3、图4、图5、图6、图7、图8、图9、图10中的一个或多个所示的步骤。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其他实施例。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
应当理解的是,本发明并不限于这里已经示出的详细结构、附图方式或实现方法,相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (13)
1.一种数据模型训练方法,其特征在于,包括:
按照预定规则将训练数据进行分组处理,生成多个分组数据;
将所述多个分组数据分别输入多个数据模型中进行数据训练,所述多个数据模型运行在多个虚拟容器中;
在数据训练后获取多个数据模型的多组模型参数;以及
通过所述多组模型参数分别确定多个第一数据模型。
2.如权利要求1所述的方法,其特征在于,还包括:
对原始数据进行预处理以生成所述训练数据。
3.如权利要求2所述的方法,其特征在于,对原始数据进行预处理以生成所述训练数据包括:
将原始数据按照时间进行排序以生成所述训练数据。
4.如权利要求1所述的方法,其特征在于,按照预定规则将所述训练数据进行分组处理,生成多个分组数据包括:
按照商品类别将所述训练数据进行分组处理,生成多个分组数据。
5.如权利要求4所述的方法,其特征在于,按照商品类别将所述训练数据进行分组处理,生成多个分组数据包括:
按照商品类别所述训练数据进行分组处理,生成多个第一分组数据;以及
按照所述第一分组数据的数据量将所述第一分组数据进行分组处理,以生成所述多个分组数据。
6.如权利要求1所述的方法,其特征在于,将所述多个分组数据分别输入多个数据模型中进行数据训练,所述多个数据模型运行在多个虚拟容器中包括:
将所述多个分组数据储存在多个任务执行单元中;以及
将多个任务执行单元与多个虚拟容器进行关联以进行数据训练。
7.如权利要求1所述的方法,其特征在于,多个数据模型运行在多个虚拟容器中包括:
通过数据容器引擎建立多个虚拟容器;
将所述多个数据模型的算法代码封装为多个应用请求;以及
通过资源管理器为所述多个应用请求分别指定虚拟容器以将所述多个数据模型运行在多个虚拟容器中。
8.如权利要求7所述的方法,其特征在于,将所述多个分组数据分别输入多个数据模型中进行数据训练包括:
虚拟容器中的数据模型通过调用任务执行单元中的分组数据以进行数据训练。
9.如权利要求1所述的方法,其特征在于,在数据训练后获取多个数据模型的多组模型参数包括:
在数据训练后获取多个数据模型的多组第一模型参数组;
为所述多组第一模型参数组中的每一组第一模型参数组确定参数组合集合;
通过所述参数组合集合再次进行模型训练,以确定所述多组模型参数。
10.如权利要求1所述的方法,其特征在于,所述虚拟容器通过应用镜像启动,所述应用镜像包括预定的软件环境。
11.一种数据模型训练装置,其特征在于,包括:
分组模块,用于按照预定规则将所述训练数据进行分组处理,生成多个分组数据;
训练模块,用于将所述多个分组数据分别输入多个数据模型中进行数据训练,所述多个数据模型运行在多个虚拟容器中;
参数模块,用于在数据训练后获取多个数据模型的多组模型参数;以及
模型模块,用于通过所述多组模型参数分别确定多个第一数据模型。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810981379.7A CN110866605A (zh) | 2018-08-27 | 2018-08-27 | 数据模型训练方法、装置、电子设备及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810981379.7A CN110866605A (zh) | 2018-08-27 | 2018-08-27 | 数据模型训练方法、装置、电子设备及可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110866605A true CN110866605A (zh) | 2020-03-06 |
Family
ID=69650965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810981379.7A Pending CN110866605A (zh) | 2018-08-27 | 2018-08-27 | 数据模型训练方法、装置、电子设备及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110866605A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098771A (zh) * | 2022-06-09 | 2022-09-23 | 阿里巴巴(中国)有限公司 | 推荐模型更新方法、推荐模型训练方法及计算设备 |
CN116562476A (zh) * | 2023-07-12 | 2023-08-08 | 北京中电普华信息技术有限公司 | 应用于电动汽车的充电负荷信息生成方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912500A (zh) * | 2016-03-30 | 2016-08-31 | 百度在线网络技术(北京)有限公司 | 机器学习模型生成方法和装置 |
CN107450961A (zh) * | 2017-09-22 | 2017-12-08 | 济南浚达信息技术有限公司 | 一种基于Docker容器的分布式深度学习系统及其搭建方法、工作方法 |
CN107733977A (zh) * | 2017-08-31 | 2018-02-23 | 北京百度网讯科技有限公司 | 一种基于Docker的集群管理方法及装置 |
US20180060759A1 (en) * | 2016-08-31 | 2018-03-01 | Sas Institute Inc. | Automated computer-based model development, deployment, and management |
CN107885762A (zh) * | 2017-09-19 | 2018-04-06 | 北京百度网讯科技有限公司 | 智能大数据系统、提供智能大数据服务的方法和设备 |
CN108427992A (zh) * | 2018-03-16 | 2018-08-21 | 济南飞象信息科技有限公司 | 一种基于边缘云计算的机器学习训练系统及方法 |
-
2018
- 2018-08-27 CN CN201810981379.7A patent/CN110866605A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912500A (zh) * | 2016-03-30 | 2016-08-31 | 百度在线网络技术(北京)有限公司 | 机器学习模型生成方法和装置 |
US20180060759A1 (en) * | 2016-08-31 | 2018-03-01 | Sas Institute Inc. | Automated computer-based model development, deployment, and management |
CN107733977A (zh) * | 2017-08-31 | 2018-02-23 | 北京百度网讯科技有限公司 | 一种基于Docker的集群管理方法及装置 |
CN107885762A (zh) * | 2017-09-19 | 2018-04-06 | 北京百度网讯科技有限公司 | 智能大数据系统、提供智能大数据服务的方法和设备 |
CN107450961A (zh) * | 2017-09-22 | 2017-12-08 | 济南浚达信息技术有限公司 | 一种基于Docker容器的分布式深度学习系统及其搭建方法、工作方法 |
CN108427992A (zh) * | 2018-03-16 | 2018-08-21 | 济南飞象信息科技有限公司 | 一种基于边缘云计算的机器学习训练系统及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098771A (zh) * | 2022-06-09 | 2022-09-23 | 阿里巴巴(中国)有限公司 | 推荐模型更新方法、推荐模型训练方法及计算设备 |
CN116562476A (zh) * | 2023-07-12 | 2023-08-08 | 北京中电普华信息技术有限公司 | 应用于电动汽车的充电负荷信息生成方法和装置 |
CN116562476B (zh) * | 2023-07-12 | 2023-10-13 | 北京中电普华信息技术有限公司 | 应用于电动汽车的充电负荷信息生成方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210287048A1 (en) | System and method for efficient generation of machine-learning models | |
US11526799B2 (en) | Identification and application of hyperparameters for machine learning | |
EP3893154A1 (en) | Recommendation model training method and related apparatus | |
CN109933514B (zh) | 一种数据测试方法和装置 | |
US10692017B2 (en) | Systems and methods for predictive document coding using continuous active machine learning | |
US20210103858A1 (en) | Method and system for model auto-selection using an ensemble of machine learning models | |
CN112800095B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US9269057B1 (en) | Using specialized workers to improve performance in machine learning | |
US20200314472A1 (en) | Utilizing one hash permutation and populated-value-slot-based densification for generating audience segment trait recommendations | |
CN116263701A (zh) | 算力网络任务调度方法、装置、计算机设备及存储介质 | |
CN113282630A (zh) | 基于接口切换的数据查询方法及装置 | |
CN112883265A (zh) | 信息推荐方法、装置、服务器及计算机可读存储介质 | |
CN112464042A (zh) | 根据关系图卷积网络的任务标签生成方法及相关装置 | |
CN110866605A (zh) | 数据模型训练方法、装置、电子设备及可读介质 | |
CN113378067B (zh) | 基于用户挖掘的消息推荐方法、设备、介质 | |
CN113327132A (zh) | 多媒体推荐方法、装置、设备及存储介质 | |
CN113159213A (zh) | 一种业务分配方法、装置及设备 | |
CN116820714A (zh) | 一种算力设备的调度方法、装置、设备和存储介质 | |
WO2023071566A1 (zh) | 数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
CN114329093B (zh) | 数据的处理方法、装置及设备 | |
Maddodi et al. | Generating workload for erp applications through end-user organization categorization using high level business operation data | |
CN110659919A (zh) | 数据匹配方法、装置、介质及电子设备 | |
CN115168509A (zh) | 风控数据的处理方法及装置、存储介质、计算机设备 | |
WO2021051920A1 (zh) | 模型优化方法、装置、存储介质及设备 | |
CN109214874B (zh) | Ip产品运营数据处理方法、装置、设备及可读存储介质 |
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 |