CN107292326A - 一种模型的训练方法和装置 - Google Patents
一种模型的训练方法和装置 Download PDFInfo
- Publication number
- CN107292326A CN107292326A CN201610201951.4A CN201610201951A CN107292326A CN 107292326 A CN107292326 A CN 107292326A CN 201610201951 A CN201610201951 A CN 201610201951A CN 107292326 A CN107292326 A CN 107292326A
- Authority
- CN
- China
- Prior art keywords
- sample
- feature component
- data
- sample data
- complete
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例提供了一种模型的训练方法和装置,该方法包括:读取样本全集中的部分样本数据,组合成样本子集;将所述部分样本数据相关的模型参数,从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量;根据具有所述部分第二特征分量的样本数据训练模型。映射之后可以减少模型参数在样本计算机上的副本大小,大大减少了训练的数据量,尽可能减少了计算机内存占用,使用样本计算机内存放置向量和装载样本,从而在尽可能少的效率损失的前提下,以相对低的资源开销进行机器学习、训练大规模的模型;映射对模型训练过程的计算性能没有影响,对训练算法透明,原有的训练算法无需修改直接可以使用。
Description
技术领域
本申请涉及计算机处理的技术领域,特别是涉及一种模型的训练方法和一种模型的训练装置。
背景技术
随着互联网的快速发展,人们生活的方方面面都与互联网产生了联系,在人们使用互联网的相关功能时,产生了海量的数据。
目前,经常使用机器学习中的模型训练对这些海量的数据进行挖掘处理,从而进行分类、推荐等操作。
在模型学习中,由于参与训练的样本数据量巨大,使得模型巨大,动辄数亿甚至数十亿的浮点数组成模型,加大了训练的存储难度和计算时间,造成训练困难。
目前,分布式机器学习提供了通过大规模计算机集群进行机器学习、训练模型的方法,其通常构建在由数量庞大的计算机组成的计算机集群之上,通过分布式操作系统进行集群调度、资源管理和任务控制。
通常情况下,大规模的机器学习需要面对两个重要的参数:
1、模型参数。
在机器学习的过程中,模型参数会由于训练算法的计算而更新,不断发生变化。同时,为了得到最后的模型参数结果,训练算法往往需要多个长度不一的向量参与计算,由于训练过程中的模型参数的数量通常上亿甚至上百亿个浮点数,这些模型参数都需要使用计算机集群的存储资源进行存储。
2、样本数据。
样本数据的多少往往直接影响到机器学习算法的效果,没有大量的样本数据达不到需要的模型训练效果,为了得到合理的模型,可能需要多达数百亿个样本数据。
由于机器学习的训练过程需要经历次数繁多的迭代过程,所有参与模型训练的样本数据都会反复的被使用,为最小化训练得到模型的时间,一般将样本数据存储到计算机内存中,这样就需要庞大的计算机内存。
然而,存储资源在计算机集群中是不可能无限增长的,如果将这些样本数据都放入内部存储,访问效率可以得到保证,但是,单独一台计算机的内存无疑是有限的,在面对海量的样本数据时,往往需要大大数量的计算机主机,这又带来网络、集群管理等多方面的问题。
如果将样本数据存放在外部存储器中,由于存储介质较慢的访问速度和时间延迟,训练工作无法保证高速、高效率地行。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种模型的训练方法和相应的一种模型的训练装置。
为了解决上述问题,本申请公开了一种模型的训练方法,包括:
读取样本全集中的部分样本数据,组合成样本子集;
将所述部分样本数据相关的模型参数,从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量;
根据具有所述部分第二特征分量的样本数据训练模型。
优选地,所述读取样本全集中的部分样本数据,组合成样本子集的步骤包括:
从文件存储系统中读取样本全集中的部分样本数据;
将所述部分样本数据写入所述文件存储系统中指定的区域,以组合成样本子集。
优选地,所述将所述部分样本数据相关的模型参数,从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量的步骤包括:
对所述部分样本数据相关的模型参数,建立针对所述样本全集的第一特征分量与针对所述样本子集的第二特征分量之间的映射关系向量;
将所述部分样本数据相关的模型参数,按照所述映射向量关系从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量。
优选地,所述根据具有所述部分第二特征分量的样本数据训练模型的步骤包括:
在每一轮迭代中,读取所述部分样本数据;
采用所述部分样本数据进行训练,获得训练结果;
将所述部分样本数据相关的模型参数,从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量;
将所述第一特征分量对应的训练结果发送至向量计算机,以更模型中所述第一特征分量对应的模型参数。
优选地,所述读取所述样本子集中的样本数据的步骤包括:
读取当前样本计算机在先存储的样本子集中的样本数据;
或者,
当接收到其他样本计算机的样本转移消息时,读取其他样本计算机在先存储的样本子集中的样本数据。
优选地,所述将所述部分样本数据相关的模型参数,从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量的步骤包括:
读取预设的映射关系向量;
将所述部分样本数据相关的模型参数,按照所述映射关系向量从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量。
优选地,所述将所述第一特征分量对应的训练结果发送至向量计算机的步骤包括:
添加字符序列,所述字符序列包括针对所述第一特征分量的更新标识和针对其他特征分量的禁止更新标识,所述其他特征分量为所述样本全集中除所述第一特征分量的特征分量;
将所述字符序列和所述训练结果发送至向量计算机。
本申请实施例还公开了一种模型的训练装置,包括:
样本子集读取模块,用于读取样本全集中的部分样本数据,组合成样本子集;
特征分量映射模块,用于将所述部分样本数据相关的模型参数,从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量;
模型训练模块,用于根据具有所述部分第二特征分量的样本数据训练模型。
优选地,所述样本子集读取模块包括:
第一部分样本数据读取子模块,用于从文件存储系统中读取样本全集中的部分样本数据;
部分样本数据写入子模块,用于将所述部分样本数据写入所述文件存储系统中指定的区域,以组合成样本子集。
优选地,所述特征分量映射模块包括:
映射关系向量建立子模块,用于对所述部分样本数据相关的模型参数,建立针对所述样本全集的第一特征分量与针对所述样本子集的第二特征分量之间的映射关系向量;
样本子集映射子模块,用于将所述部分样本数据相关的模型参数,按照所述映射向量关系从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量。
优选地,所述模型训练模块包括:
第二部分样本数据读取子模块,用于在每一轮迭代中,读取所述部分样本数据;
训练子模块,用于采用所述部分样本数据进行训练,获得训练结果;
样本全集映射子模块,用于将所述部分样本数据相关的模型参数,从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量;
通信子模块,用于将所述第一特征分量对应的训练结果发送至向量计算机,以更模型中所述第一特征分量对应的模型参数。
优选地,所述第二部分样本数据读取子模块包括:
第一读取单元,用于读取当前样本计算机在先存储的样本子集中的样本数据;
或者,
第二读取单元,用于在接收到其他样本计算机的样本转移消息时,读取其他样本计算机在先存储的样本子集中的样本数据。
优选地,所述样本全集映射子模块包括:
映射关系向量读取单元,用于读取预设的映射关系向量;
映射关系映射单元,用于将所述部分样本数据相关的模型参数,按照所述映射关系向量从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量。
优选地,所述通信子模块包括:
字符序列添加单元,用于添加字符序列,所述字符序列包括针对所述第一特征分量的更新标识和针对其他特征分量的禁止更新标识,所述其他特征分量为所述样本全集中除所述第一特征分量的特征分量;
发送单元,用于将所述字符序列和所述训练结果发送至向量计算机。
本申请实施例包括以下优点:
本申请实施例利用单一样本计算机所承载的样本数据的局部性,读取样本全集中的部分样本数据,组合成样本子集,将部分样本数据相关的模型参数,针对样本全集的第一特征分量,映射为针对样本子集的第二特征分量,并根据具有部分第二特征分量的样本数据训练模型:
首先,映射之后可以减少模型参数在样本计算机上的副本大小,大大减少了训练的数据量,尽可能减少了计算机内存占用,使用样本计算机内存放置向量和装载样本,从而在尽可能少的效率损失的前提下,以相对低的资源开销进行机器学习、训练大规模的模型;
其次,映射对模型训练过程的计算性能没有影响,对训练算法透明,原有的训练算法无需修改直接可以使用。
本申请实施例灵活地处理样本数据,可以有效的将样本数据的负载分布到不同的样本计算机上并行,规避“长尾”带来的效率下降,容易通过增加硬件设备来提高模型规模或增加样本数据的数量。
本申请实施例通过字符序列进行通信,所使用的字节数小于直接传递浮点数据的字节数,降低了对集群通信资源的消耗。
附图说明
图1是本申请的一种模型的训练方法实施例的步骤流程图;
图2是本申请的一种模型的训练装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种模型的训练方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,读取样本全集中的部分样本数据,组合成样本子集;
在具体实现中,可以通过网站日志等方式收集原始的样本数据。
例如,假设原始的样本数据为用户行为信息,用于训练分类模型、推荐相关的信息,而一般的网站日志可以记录用户电脑的IP(Internet Protocol,网络之间互连的协议)地址是什么、在什么时间、用什么操作系统、什么浏览器、什么显示器的情况下访问了网站的哪个页面、是否访问成功。
但是,对于用户行为信息的需求而言,通常不是用户电脑的IP地址、操作系统、浏览器等机器人数据,而是用户浏览了什么信息、对其喜爱程度的表现行为等可以表征用户兴趣爱好的行为信息。
当然,上述样本数据只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他样本数据,本申请实施例对此不加以限制。
在采用样本数据训练模型之前,可以对原始的样本数据进行预处理,例如去除脏词和高频词、去除机器人数据、去除噪音(如访问信息很少的数据或者随机行为)等等,使之成为规范化的样本数据。
本申请实施例可以应用在一计算机集群中,如分布式系统,该计算机集群包括文件存储系统、一台或多台样本计算机、一台或多台向量计算机。
其中,文件存储系统可以存储样本全集,即所有样本数据组成的集合,该文件存储系统的一个示例为分布式文件系统,例如,NFS(Network FileSystem)、Coda、AFS(Andrew File System)、Sprite File System,HDFS(HadoopDistributed File System)、盘古系统等,所有的样本计算机可读。
样本计算机可以从文件存储系统中读取部分样本数据进行模型的训练,并记录它所读取到的样本数据相关的模型参数,该部分样本数据可以称之为样本子集,并对样本子集中的样本数据按照模型的训练算法进行模型训练。
向量计算机用于保存模型的向量,进行向量的计算和向量的输出。
所谓模型,通常可以表示为一个或一组向量,向量中的每一个维度,称为模型参数。
样本数据,通常表示为针对一个或一组模型参数的权重。
某个模型的示例如下:
[0.1,0.2,0.3,0,0,0.4,0.5,0.6,0.7,0.8]
在该示例中,表示一个10维的线性的模型,该模型一共有10个模型参数,如0.1、0.2等等。
模型参数的值,一般通过样本数据进行训练来得到。
例如,用户在互联网上通过浏览器页面的一次点击都可以产生一个样本数据,每一个样本数据都可能包含这个样本数据所涉及的模型参数。
某个样本数据的示例如下:
(1:0.01,3:0.02,8:0.03)
在该示例中,表示样本数据对ID为1的模型参数产生的权重为0.01,对ID为3的模型参数产生的权重为0.02,对ID为8的模型参数产生的权重为0.03,即这个样本数据会影响模型中的3个模型参数。
一般来讲,不同的样本数据,会影响不同的模型参数,利用机器学习中的训练算法,可以通过大量样本数据的训练,得到基于这个样本集的模型。
在本申请的一个实施例中,步骤101可以包括如下子步骤:
子步骤S11,从文件存储系统中读取样本全集中的部分样本数据;
子步骤S12,将所述部分样本数据写入所述文件存储系统中指定的区域,以组合成样本子集。
在本申请实施例中,样本全集可以存储在文件存储系统中、所有样本计算机可读的区域,样本计算机可以并行采用随机等方式从样本全集中读取部分样本,并写回文件存储系统中、该样本计算机可读的区域,快速实现样本全集的切分、分配。
一般而言,因为每台样本计算机读取一部分的样本数据,因此,其相关的模型参数的总数是远小于这个模型的维度。
当然,上述样本数据的读取方式只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他样本数据的读取方式,例如,将样本全集切分之后再由样本计算机读取,等等,本申请实施例对此不加以限制。
步骤102,将所述部分样本数据相关的模型参数,从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量;
很多的机器学习的模型训练算法,在整个模型训练的过程中,承载样本数据的样本计算机之间一般是不需要交换数据的。
这些样本计算机的主要网络通信工作是经常性地上传、下载存储在非样本计算机上的模型参数,并在自己的本地存储这些模型参数的副本。
模型参数的各个分量从数学的角度看通常是互相独立的,样本计算机上的计算通常只关注它需要的分量。
由于每个样本计算机上装载的样本数据,是整个参与训练的样本的一小部分,所以在一个空间很大的模型的训练过程中,并不是所有的模型参数都在每一个样本计算机上被使用到,换而言之,真正被关心的模型参数在不同的样本计算机上可能是不同的。
由此可见,模型参数一般是彼此独立的,对某一个样本子集来说,它只可能使用到所有模型参数中的一部分,因此,可以将它使用的模型参数单独编号。
即在每一个样本子集中,可以对部分样本数据相关的模型参数,建立针对样本全集的第一特征分量与针对样本子集的第二特征分量之间的映射关系向量。
其中,映射关系向量的长度就是这个样本子集中所涉及的模型参数个数。
为了处理方便,映射关系向量通常保存为一个哈希表或者是排序的线性表,存储在文件存储系统中。
进一步地,针对存储在文件存储系统中的部分样本数据,可以将部分样本数据相关的模型参数,按照映射向量关系从针对样本全集的第一特征分量映射为针对样本子集的第二特征分量。
例如,对于上述的10维的模型,假设当前样本子集包含如下两个样本数据:
样本数据1:(1:0.01,3:0.02,8:0.03)
样本数据2:(6:0.02)
对这个样本子集来说,与样本全集中第一特征分量为1、3、6、8的四个模型参数相关,在映射中,可以将这四个模型参数按照顺序使用第二特征分量1、2、3、4来表示。
那么,对这个样本子集来说,它的映射关系向量为:[1:1,2:3,3:6:4:8]。
映射之后,在样本子集中包含的模型参数是4个,而不是10个:
样本数据1:(1:0.01,2:0.02,4:0.03)
样本数据2:(3:0.02)
对不同的模型参数,由于所处的映射关系向量不同,相同的模型参数的第一特征分量可能对应不同的第二特征分量。
例如,对一个数量众多的网上售卖集市,可能存在很多家商店都在销售同一件商品(有相同的第一特征分量),而用户通过多种来源(搜索引擎、推荐等)来点击这些网上商店的这件商品。
如果将这些点击记录作为样本数据,由于每个样本计算机分到的样本数据是不同的,那么在不同的样本计算机上,很有可能得到不同的映射关系向量,于是这件商品在不同的映射关系向量里面很有可能得到不同的第二特征分量。
例如,在上例中原始的商品,对于样本全集的第一特征分量为100,在映射关系向量中得到的第二特征分量是50,那么,可以将样本子集中的第一特征分量100转换为新的第二特征分量50。
由于每台样本计算机读取一部分的样本数据,其相关的模型参数的总数是远小于这个模型的维度,因此,针对样本子集的第二特征分量的数据量远小于针对样本全集的第一特征分量,映射操作可以大大压缩样本数据的数据量。
因为每一个样本子集相对数量比较少,而且,样本子集之间没有相互关系,这个映射操作可以在不同的样本计算机上并行完成。
步骤103,根据具有所述部分第二特征分量的样本数据训练模型。
在映射完成之后,原始的数据巨大的样本全集被分成了多个三元组:
(样本子集、模型参数、映射关系向量)
对于每一个三元组,样本计算机可以从文件存储系统中读取样本数据和映射关系向量,并保存到自己的内存中。
对于保存在内存中的每一个三元组,可以进行模型训练。
以梯度下降优化为例,在这个训练方法里面,模型的向量会分片的保存在向量计算机上,样本计算机会对自己负责的样本数据计算梯度和损失值(即优化目标函数),并把计算结果推到向量计算机上,并从向量计算机上获取最新的梯度值,进行下一次迭代。
本申请实施例利用单一样本计算机所承载的样本数据的局部性,读取样本全集中的部分样本数据,组合成样本子集,将部分样本数据相关的模型参数,针对样本全集的第一特征分量,映射为针对样本子集的第二特征分量,并根据具有部分第二特征分量的样本数据训练模型:
首先,映射之后可以减少模型参数在样本计算机上的副本大小,大大减少了训练的数据量,尽可能减少了计算机内存占用,使用样本计算机内存放置向量和装载样本,从而在尽可能少的效率损失的前提下,以相对低的资源开销进行机器学习、训练大规模的模型;
其次,映射对模型训练过程的计算性能没有影响,对训练算法透明,原有的训练算法无需修改直接可以使用。
在本申请的一个实施例中,步骤103可以包括如下子步骤:
子步骤S21,在每一轮迭代中,读取所述部分样本数据;
在一种情况中,当前样本计算机可以读取当前样本计算机在先存储的样本子集中的样本数据。
或者,
在另一种情况中,由于样本计算机数量有限,而样本数据的数据量巨大,因此,每台样本计算机可能读取到多个样本子集。
在本申请实施例中,可以对样本子集进行动态转移,当接收到其他样本计算机的样本转移消息时,通过获取读权限、转移样本子集的存储区域等方式,当前样本计算机可以读取其他样本计算机在先存储的样本子集中的样本数据。
需要说明的是,由于此时的样本数据已经经过转换,存储空间得到缩减,读取速度将加快。
模型参数的本地副本一般只包含该台样本计算机真正需要的那些分量,而不需要全部分量,这样既可以使本地空间大大节省,又能够使三元组可以在真正被使用的时候去装载样本数据,从而保证整个训练过程都在样本计算机或者向量计算机内存中进行,达到高效率大规模模型训练的目的。
如果每个样本计算机仅负责自己读取到的样本子集,若某台样本计算机剩余较多的样本子集,而其他样本计算机处于空闲状态,由于数据的“长尾”而导致训练的效率下降。
本申请实施例灵活地处理样本数据,可以有效的将样本数据的负载分布到不同的样本计算机上并行,规避“长尾”带来的效率下降,容易通过增加硬件设备来提高模型规模或增加样本数据的数量。
子步骤S22,采用所述部分样本数据进行训练,获得训练结果;
对于不同的模型,其训练方法一般不同,所获得的训练结果也一般不同。
例如,对于梯度下降优化得到的凸优化模型,,其训练结果为多项式的权重。
又例如,对于随机森林,其训练结果为决策树。
这时,这个样本计算机训练得到的训练结果是针对这个三元组的,也就是说,它的下标并不等于向量计算机上的下标值。
由于每个三元组中只包含这个三元组里面涉及到的下标,数据量大大下降,在稀疏的模型训练过程中会大大节省内存占用,提高训练速度。
子步骤S23,将所述部分样本数据相关的模型参数,从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量;
样本计算机在完成每一个三元组的计算之后,会将训练结果推送到向量计算机。
在推送之前,可以利用三元组里面的映射关系向量,将训练结果的下标转换成向量计算机上的下标。
这个过程是样本计算机自己在通信之前进行,训练算法不感知这个过程,即下标的映射转换对训练算法透明,与训练算法无关,训练算法本身负责计算。
在具体实现中,可以从文件存储系统等位置读取预设的映射关系向量,将部分样本数据相关的模型参数,按照映射关系向量从针对样本子集的第二特征分量映射为针对样本全集的第一特征分量。
例如,对上例中的样本1,在样本子集中的样本数据为(1:0.01,2:0.02,4:0.03),假设它训练得到的权重是[1:0.05,2:0.06,3:0,4:0.07](这里第3个值是0的原因是这个样本数据并不影响ID为3的模型参数)。
已知映射关系向量为[1:1,2:3,3:6:4:8],那么,可以将样本数据进行映射,并结合梯度值,获得向量[1:0.05,3:0.06,6:0,8:0.07],所有模型参数已经恢复到针对样本全集的第一特征分量,而不是针对样本子集的第二特征分量。
子步骤S24,将所述第一特征分量对应的训练结果发送至向量计算机,以更模型中所述第一特征分量对应的模型参数。
为减少通信的数据,可以在发送的数据包中,添加字符序列,将字符序列和训练结果发送至向量计算机。
其中,字符序列的比特位包括针对第一特征分量的更新标识和针对其他特征分量的禁止更新标识,其他特征分量为样本全集中除第一特征分量的特征分量。
如果某次通信需要更新向量计算机上的第一特征分量从1000到5000的模型参数,应用本申请实施例,可以同时传递一个(5000-1000)/8,即大约500个字节的字符序列,其中每一个比特位表示当前通信是否在更新对应的模型参数(如0表示不更新,1表示更新),同时对应的新的模型参数可以顺序传递,避免了在网络上传递大量的0值。
例如,上例中需要推送的向量为[1:0.05,3:0.06,6:0,8:0.07],通信中添加的字符序列为[1010010100],表示第一特征分量为1、3、6、8的模型参数需要更新,而真正的数据表示为[0.05,0.06,0.07]三个值。
那么整个通信所传递的字节数:10bit+3×32bit=106bit(假设浮点数使用4个字节表示),远小于直接传递浮点数所需的10×32bit=320bit。
在梯度下降优化中,若向量计算机收到新的一批梯度,则更新模型的梯度向量,在接收到全部三元组的结果之后,确定本轮的梯度值,然后更新模型向量,返回至各样本计算机,继续进行下一轮迭代训练。
在反复迭代的模型训练结束之后,向量计算机将自己保存的模型向量以“键-值”对等形式写到外部存储的文件存储系统或者数据库的表中,输出训练好的模型。
本申请实施例通过字符序列进行通信,所使用的字节数小于直接传递浮点数据的字节数,降低了对集群通信资源的消耗。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图2,示出了本申请的一种模型的训练装置实施例的结构框图,具体可以包括如下模块:
样本子集读取模块201,用于读取样本全集中的部分样本数据,组合成样本子集;
特征分量映射模块202,用于将所述部分样本数据相关的模型参数,从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量;
模型训练模块203,用于根据具有所述部分第二特征分量的样本数据训练模型。
在本申请的一个实施例中,所述样本子集读取模块201可以包括如下子模块:
第一部分样本数据读取子模块,用于从文件存储系统中读取样本全集中的部分样本数据;
部分样本数据写入子模块,用于将所述部分样本数据写入所述文件存储系统中指定的区域,以组合成样本子集。
在本申请的一个实施例中,所述特征分量映射模块202可以包括如下子模块:
映射关系向量建立子模块,用于对所述部分样本数据相关的模型参数,建立针对所述样本全集的第一特征分量与针对所述样本子集的第二特征分量之间的映射关系向量;
样本子集映射子模块,用于将所述部分样本数据相关的模型参数,按照所述映射向量关系从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量。
在本申请的一个实施例中,所述模型训练模块203可以包括如下子模块:
第二部分样本数据读取子模块,用于在每一轮迭代中,读取所述部分样本数据;
训练子模块,用于采用所述部分样本数据进行训练,获得训练结果;
样本全集映射子模块,用于将所述部分样本数据相关的模型参数,从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量;
通信子模块,用于将所述第一特征分量对应的训练结果发送至向量计算机,以更模型中所述第一特征分量对应的模型参数。
在本申请的一个实施例中,所述第二部分样本数据读取子模块可以包括如下单元:
第一读取单元,用于读取当前样本计算机在先存储的样本子集中的样本数据;
或者,
第二读取单元,用于在接收到其他样本计算机的样本转移消息时,读取其他样本计算机在先存储的样本子集中的样本数据。
在本申请的一个实施例中,所述样本全集映射子模块可以包括如下单元:
映射关系向量读取单元,用于读取预设的映射关系向量;
映射关系映射单元,用于将所述部分样本数据相关的模型参数,按照所述映射关系向量从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量。
在本申请的一个实施例中,所述通信子模块可以包括如下单元:
字符序列添加单元,用于添加字符序列,所述字符序列包括针对所述第一特征分量的更新标识和针对其他特征分量的禁止更新标识,所述其他特征分量为所述样本全集中除所述第一特征分量的特征分量;
发送单元,用于将所述字符序列和所述训练结果发送至向量计算机。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种模型的训练方法和一种模型的训练装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种模型的训练方法,其特征在于,包括:
读取样本全集中的部分样本数据,组合成样本子集;
将所述部分样本数据相关的模型参数,从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量;
根据具有所述部分第二特征分量的样本数据训练模型。
2.根据权利要求1所述的方法,其特征在于,所述读取样本全集中的部分样本数据,组合成样本子集的步骤包括:
从文件存储系统中读取样本全集中的部分样本数据;
将所述部分样本数据写入所述文件存储系统中指定的区域,以组合成样本子集。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述部分样本数据相关的模型参数,从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量的步骤包括:
对所述部分样本数据相关的模型参数,建立针对所述样本全集的第一特征分量与针对所述样本子集的第二特征分量之间的映射关系向量;
将所述部分样本数据相关的模型参数,按照所述映射向量关系从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量。
4.根据权利要求1或2或3所述的方法,其特征在于,所述根据具有所述部分第二特征分量的样本数据训练模型的步骤包括:
在每一轮迭代中,读取所述部分样本数据;
采用所述部分样本数据进行训练,获得训练结果;
将所述部分样本数据相关的模型参数,从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量;
将所述第一特征分量对应的训练结果发送至向量计算机,以更模型中所述第一特征分量对应的模型参数。
5.根据权利要求4所述的方法,其特征在于,所述读取所述样本子集中的样本数据的步骤包括:
读取当前样本计算机在先存储的样本子集中的样本数据;
或者,
当接收到其他样本计算机的样本转移消息时,读取其他样本计算机在先存储的样本子集中的样本数据。
6.根据权利要求4所述的方法,其特征在于,所述将所述部分样本数据相关的模型参数,从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量的步骤包括:
读取预设的映射关系向量;
将所述部分样本数据相关的模型参数,按照所述映射关系向量从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量。
7.根据权利要求4所述的方法,其特征在于,所述将所述第一特征分量对应的训练结果发送至向量计算机的步骤包括:
添加字符序列,所述字符序列包括针对所述第一特征分量的更新标识和针对其他特征分量的禁止更新标识,所述其他特征分量为所述样本全集中除所述第一特征分量的特征分量;
将所述字符序列和所述训练结果发送至向量计算机。
8.一种模型的训练装置,其特征在于,包括:
样本子集读取模块,用于读取样本全集中的部分样本数据,组合成样本子集;
特征分量映射模块,用于将所述部分样本数据相关的模型参数,从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量;
模型训练模块,用于根据具有所述部分第二特征分量的样本数据训练模型。
9.根据权利要求8所述的装置,其特征在于,所述样本子集读取模块包括:
第一部分样本数据读取子模块,用于从文件存储系统中读取样本全集中的部分样本数据;
部分样本数据写入子模块,用于将所述部分样本数据写入所述文件存储系统中指定的区域,以组合成样本子集。
10.根据权利要求8或9所述的装置,其特征在于,所述特征分量映射模块包括:
映射关系向量建立子模块,用于对所述部分样本数据相关的模型参数,建立针对所述样本全集的第一特征分量与针对所述样本子集的第二特征分量之间的映射关系向量;
样本子集映射子模块,用于将所述部分样本数据相关的模型参数,按照所述映射向量关系从针对所述样本全集的第一特征分量映射为针对所述样本子集的第二特征分量。
11.根据权利要求8或9或10所述的装置,其特征在于,所述模型训练模块包括:
第二部分样本数据读取子模块,用于在每一轮迭代中,读取所述部分样本数据;
训练子模块,用于采用所述部分样本数据进行训练,获得训练结果;
样本全集映射子模块,用于将所述部分样本数据相关的模型参数,从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量;
通信子模块,用于将所述第一特征分量对应的训练结果发送至向量计算机,以更模型中所述第一特征分量对应的模型参数。
12.根据权利要求11所述的装置,其特征在于,所述第二部分样本数据读取子模块包括:
第一读取单元,用于读取当前样本计算机在先存储的样本子集中的样本数据;
或者,
第二读取单元,用于在接收到其他样本计算机的样本转移消息时,读取其他样本计算机在先存储的样本子集中的样本数据。
13.根据权利要求11所述的装置,其特征在于,所述样本全集映射子模块包括:
映射关系向量读取单元,用于读取预设的映射关系向量;
映射关系映射单元,用于将所述部分样本数据相关的模型参数,按照所述映射关系向量从针对所述样本子集的第二特征分量映射为针对所述样本全集的第一特征分量。
14.根据权利要求11所述的装置,其特征在于,所述通信子模块包括:
字符序列添加单元,用于添加字符序列,所述字符序列包括针对所述第一特征分量的更新标识和针对其他特征分量的禁止更新标识,所述其他特征分量为所述样本全集中除所述第一特征分量的特征分量;
发送单元,用于将所述字符序列和所述训练结果发送至向量计算机。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610201951.4A CN107292326A (zh) | 2016-03-31 | 2016-03-31 | 一种模型的训练方法和装置 |
TW106105769A TWI735545B (zh) | 2016-03-31 | 2017-02-21 | 一種模型的訓練方法和裝置 |
PCT/CN2017/077696 WO2017167095A1 (zh) | 2016-03-31 | 2017-03-22 | 一种模型的训练方法和装置 |
US16/146,642 US11580441B2 (en) | 2016-03-31 | 2018-09-28 | Model training method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610201951.4A CN107292326A (zh) | 2016-03-31 | 2016-03-31 | 一种模型的训练方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107292326A true CN107292326A (zh) | 2017-10-24 |
Family
ID=59963490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610201951.4A Pending CN107292326A (zh) | 2016-03-31 | 2016-03-31 | 一种模型的训练方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11580441B2 (zh) |
CN (1) | CN107292326A (zh) |
TW (1) | TWI735545B (zh) |
WO (1) | WO2017167095A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175680A (zh) * | 2019-04-03 | 2019-08-27 | 西安电子科技大学 | 利用分布式异步更新在线机器学习的物联网数据分析方法 |
CN111047050A (zh) * | 2019-12-17 | 2020-04-21 | 苏州浪潮智能科技有限公司 | 一种分布式并行训练方法、设备以及存储介质 |
CN111460804A (zh) * | 2019-01-02 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 文本处理方法、装置和系统 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180046475A1 (en) * | 2016-08-11 | 2018-02-15 | Twitter, Inc. | Detecting scripted or otherwise anomalous interactions with social media platform |
CN109754105B (zh) * | 2017-11-07 | 2024-01-05 | 华为技术有限公司 | 一种预测方法及终端、服务器 |
US11474978B2 (en) | 2018-07-06 | 2022-10-18 | Capital One Services, Llc | Systems and methods for a data search engine based on data profiles |
US10460235B1 (en) | 2018-07-06 | 2019-10-29 | Capital One Services, Llc | Data model generation using generative adversarial networks |
CN110263147B (zh) * | 2019-06-05 | 2023-10-20 | 创新先进技术有限公司 | 推送信息的生成方法及装置 |
CN112819020A (zh) * | 2019-11-15 | 2021-05-18 | 富士通株式会社 | 训练分类模型的方法和装置及分类方法 |
CN111219257B (zh) * | 2020-01-07 | 2022-07-22 | 大连理工大学 | 基于自适应增强算法的涡扇发动机直接数据驱动控制方法 |
CN113538079A (zh) * | 2020-04-17 | 2021-10-22 | 北京金山数字娱乐科技有限公司 | 一种推荐模型的训练方法及装置、一种推荐方法及装置 |
US11954345B2 (en) * | 2021-12-03 | 2024-04-09 | Samsung Electronics Co., Ltd. | Two-level indexing for key-value persistent storage device |
CN114389959B (zh) * | 2021-12-30 | 2023-10-27 | 深圳清华大学研究院 | 网络拥塞控制方法、装置、电子设备及存储介质 |
US20240013223A1 (en) * | 2022-07-10 | 2024-01-11 | Actimize Ltd. | Computerized-method for synthetic fraud generation based on tabular data of financial transactions |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0744514A (ja) | 1993-07-27 | 1995-02-14 | Matsushita Electric Ind Co Ltd | ニューラルネットの学習用データ縮約化方法 |
US8266078B2 (en) * | 2009-02-06 | 2012-09-11 | Microsoft Corporation | Platform for learning based recognition research |
US9569401B2 (en) | 2011-12-06 | 2017-02-14 | Akamai Technologies, Inc. | Parallel training of a support vector machine (SVM) with distributed block minimization |
CN102663417B (zh) * | 2012-03-19 | 2015-02-25 | 河南工业大学 | 一种小样本数据模式识别的特征选择方法 |
US10318882B2 (en) * | 2014-09-11 | 2019-06-11 | Amazon Technologies, Inc. | Optimized training of linear machine learning models |
JP6789934B2 (ja) * | 2014-10-24 | 2020-11-25 | ナショナル・アイシーティ・オーストラリア・リミテッド | 変換されたデータを用いた学習 |
CN104732241A (zh) * | 2015-04-08 | 2015-06-24 | 苏州大学 | 一种多分类器构建方法和系统 |
CN104866524A (zh) * | 2015-04-10 | 2015-08-26 | 大连交通大学 | 一种商品图像精细分类方法 |
WO2017031356A1 (en) * | 2015-08-19 | 2017-02-23 | D-Wave Systems Inc. | Discrete variational auto-encoder systems and methods for machine learning using adiabatic quantum computers |
EP3362952A4 (en) * | 2015-10-16 | 2018-10-03 | D-Wave Systems Inc. | Systems and methods for creating and using quantum boltzmann machines |
CN105426857B (zh) * | 2015-11-25 | 2019-04-12 | 小米科技有限责任公司 | 人脸识别模型训练方法和装置 |
US11087234B2 (en) | 2016-01-29 | 2021-08-10 | Verizon Media Inc. | Method and system for distributed deep machine learning |
US10558933B2 (en) * | 2016-03-30 | 2020-02-11 | International Business Machines Corporation | Merging feature subsets using graphical representation |
US20180005136A1 (en) * | 2016-07-01 | 2018-01-04 | Yi Gai | Machine learning in adversarial environments |
-
2016
- 2016-03-31 CN CN201610201951.4A patent/CN107292326A/zh active Pending
-
2017
- 2017-02-21 TW TW106105769A patent/TWI735545B/zh active
- 2017-03-22 WO PCT/CN2017/077696 patent/WO2017167095A1/zh active Application Filing
-
2018
- 2018-09-28 US US16/146,642 patent/US11580441B2/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460804A (zh) * | 2019-01-02 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 文本处理方法、装置和系统 |
CN111460804B (zh) * | 2019-01-02 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 文本处理方法、装置和系统 |
CN110175680A (zh) * | 2019-04-03 | 2019-08-27 | 西安电子科技大学 | 利用分布式异步更新在线机器学习的物联网数据分析方法 |
CN110175680B (zh) * | 2019-04-03 | 2024-01-23 | 西安电子科技大学 | 利用分布式异步更新在线机器学习的物联网数据分析方法 |
CN111047050A (zh) * | 2019-12-17 | 2020-04-21 | 苏州浪潮智能科技有限公司 | 一种分布式并行训练方法、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TWI735545B (zh) | 2021-08-11 |
US11580441B2 (en) | 2023-02-14 |
WO2017167095A1 (zh) | 2017-10-05 |
TW201740294A (zh) | 2017-11-16 |
US20190034833A1 (en) | 2019-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107292326A (zh) | 一种模型的训练方法和装置 | |
CN105825269B (zh) | 一种基于并行自动编码机的特征学习方法及系统 | |
Gupta et al. | Faster as well as early measurements from big data predictive analytics model | |
Colson et al. | Optimizing partially separable functions without derivatives | |
US9020954B2 (en) | Ranking supervised hashing | |
CN104376015A (zh) | 关系网络中节点的处理方法及装置 | |
CN106844288A (zh) | 一种随机字符串生成方法及装置 | |
CN115017178A (zh) | 数据到文本生成模型的训练方法和装置 | |
CN108959168A (zh) | 基于片上内存的sha512全流水电路及其实现方法 | |
CN107391528A (zh) | 前端组件依赖信息搜索方法及设备 | |
CN115544029A (zh) | 一种数据处理方法及相关装置 | |
CN108173948A (zh) | 一种分布式试验数据实时交换方法 | |
CN110442753A (zh) | 一种基于opc ua的图数据库自动建立方法及装置 | |
CN113327154B (zh) | 基于大数据的电商用户讯息推送方法及系统 | |
Zhang et al. | A novel deterministic hybrid complex network model created by inner–outer iteration | |
Saegusa | Variance estimation under two‐phase sampling | |
Lai et al. | Parallel computations of local PageRank problem based on Graphics Processing Unit | |
US9773080B2 (en) | Thermal simulation device and method | |
Vitale et al. | Modelling an energy market with Bayesian networks for non-normal data | |
CN114398980A (zh) | 跨模态哈希模型的训练方法、编码方法、装置及电子设备 | |
de Oliveira et al. | Time Series Compression for IoT: A Systematic Literature Review | |
CN113722554A (zh) | 数据分类方法、装置及计算设备 | |
KR20220151453A (ko) | 상품의 가격 예측 방법 | |
Chandra et al. | Modeling temporal and spatial features of collaboration network | |
CN117786416B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171024 |