CN112906825A - 实现机器学习模型的分布式训练的方法和计算节点 - Google Patents
实现机器学习模型的分布式训练的方法和计算节点 Download PDFInfo
- Publication number
- CN112906825A CN112906825A CN202110340253.3A CN202110340253A CN112906825A CN 112906825 A CN112906825 A CN 112906825A CN 202110340253 A CN202110340253 A CN 202110340253A CN 112906825 A CN112906825 A CN 112906825A
- Authority
- CN
- China
- Prior art keywords
- training
- features
- frequency
- machine learning
- learning model
- 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
- 238000012549 training Methods 0.000 title claims abstract description 411
- 238000010801 machine learning Methods 0.000 title claims abstract description 133
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000014509 gene expression Effects 0.000 claims abstract description 24
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 9
- 230000002085 persistent effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种实现机器学习模型的分布式训练的方法和计算节点,该方法包括由执行分布式训练的多个计算节点中的每个计算节点执行的如下步骤:获取一个批次的训练样本中的对应于本计算节点的部分训练样本;获取机器学习模型的参数和部分训练样本中特征对应的表示参数,其中,从本地存储器中获取机器学习模型的参数和部分训练样本中高频特征对应的表示参数,从服务器端获取部分训练样本中非高频特征对应的表示参数;基于机器学习模型的参数和部分训练样本中特征对应的表示参数完成对机器学习模型的一次迭代训练。
Description
技术领域
以下描述涉及一种机器学习领域,具体涉及一种实现机器学习模型的分布式训练的方法和计算节点。
背景技术
机器学习(Machine Learning),即给定一个由很多参数组成的预测或决策模型,根据输入的训练数据,确定模型的参数的取值,以获得较好的预测或决策效果。一般机器学习会有许多次迭代,每次迭代均计算一个batch(一个batch包含多个训练样本)的预测结果与正确结果的误差,然后根据计算得到的误差和模型的导数计算出每个参数的梯度,并根据梯度更新参数。分布式机器学习(Distributed Machine Learning)是机器学习中的一种,其通过各种并行计算的方式加速机器学习,或使用多个存储节点扩大能存储的参数量,以此完成单存储节点无法执行的机器学习任务。
目前,分布式机器学习架构有all-reduce架构和参数服务器架构。参数服务器架构是将参数分布在不同的参数服务器上,通过网络不断地将参数和梯度传给需要的计算节点(Worker),缺陷是通信开销较大且常有负载不均等问题。all-reduce架构是存储多个参数的副本,在更新参数时使用all-reduce同步梯度,使得每个副本更新后的参数仍然是相同的,缺陷是参数副本占用空间大且对稀疏特征有更多的计算量和通信量。其中,all-reduce架构中访问一个副本的计算资源可以整体视为一个计算节点,例如每个显卡一个副本,那么每个显卡视为一个计算节点,如果每台机器一个副本,那么就把每台机器可以视为一个计算节点。
发明内容
本公开的示例性实施例可至少部分地解决上述问题。
根据本公开的第一方面,提供一种实现机器学习模型的分布式训练的方法,该方法包括由执行分布式训练的多个计算节点中的每个计算节点执行的如下步骤:获取一个批次的训练样本中的对应于本计算节点的部分训练样本;获取机器学习模型的参数和部分训练样本中特征对应的表示参数,其中,从本地存储器中获取机器学习模型的参数和部分训练样本中高频特征对应的表示参数,从服务器端获取部分训练样本中非高频特征对应的表示参数;基于机器学习模型的参数和部分训练样本中特征对应的表示参数完成对机器学习模型的一次迭代训练。
可选地,在获取部分训练样本中特征对应的表示参数之前,还包括:确定部分训练样本中非高频特征中的高频特征;从服务器端获取高频特征对应的表示参数;将高频特征对应的表示参数缓存在用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器中。
可选地,确定部分训练样本中非高频特征中的高频特征,包括:遍历训练样本集中包含的所有训练样本;将出现的次数大于预估迭代次数的特征确定为高频特征,其中,预估迭代次数是完成机器学习模型训练的预估的迭代次数;
可选地,确定部分训练样本中非高频特征中的高频特征,包括:遍历训练样本集中包含的所有特征被划分到的域;将维度小于第一预定阈值的域中包含的特征确定为高频特征。
可选地,在将高频特征对应的表示参数缓存在用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器中之后,还包括:确定部分训练样本中高频特征中的非高频特征;从本地存储器获取非高频特征对应的表示参数,并将非高频特征对应的表示参数从本地存储器剔除;将非高频特征对应的表示参数存储在服务器端。
可选地,对于部分训练样本中高频特征对应的表示参数或机器学习模型的参数,在接收到更新的指示后,基于更新指示更新用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器上的部分训练样本中高频特征对应的参数或机器学习模型的参数。
可选地,更新部分训练样本中高频特征对应的参数或机器学习模型的参数的方式包括以下任一种方式:all-reduce同步方式、all-gather同步方式、广播的方式。
可选地,从服务器端获取部分训练样本中非高频特征对应的表示参数,包括:向服务器端发送查询请求,其中,查询请求中携带有部分训练样本中非高频特征的编号;接收服务器端基于编号反馈的部分训练样本中非高频特征对应的表示参数。
可选地,本地存储器为显存,内存或持久化内存。
根据本公开的第二方面,提供了一种实现机器学习模型的分布式训练的方法,包括:确定训练样本集包含的高频特征;将训练样本集中高频特征对应的表示参数和机器学习模型的参数,分发到执行分布式训练的多个计算节点中的每个计算节点的本地存储器中存储,并将训练样本集中非高频特征对应的表示参数分发到在服务器端存储;针对分布式训练的每一次迭代训练,从存储训练样本集的存储器预读一个批次的训练样本,并根据训练分发方案,将一个批次的训练样本中包括高频特征的训练样本分发到指定的至少一个计算节点,其中,指定的至少一个计算节点是执行分布式训练的多个计算节点中的一部分计算节点。
可选地,针对确定的高频特征,确定训练分发方案,其中,训练分发方案包括针对每个高频特征,指定包括该高频特征的训练样本将被分发到的特定的至少一个计算节点,其中,特定的至少一个计算节点是用于机器学习模型的分布式训练的多个计算节点中的一部分计算节点。
可选地,针对确定的高频特征,确定训练分发方案,还包括:按照确定的高频特征的访问相关性,对确定的高频特征进行分组;其中,训练分发方案还包括针对每一组的高频特征,指定包括该组的高频特征的训练样本将被一起分发到的特定的至少一个计算节点。
可选地,按照确定的高频特征的访问相关性,对确定的高频特征进行分组,包括:将确定的高频特征之中的一起被访问的频率超过第二预定阈值的高频特征划分到一组。
可选地,将训练样本集中高频特征对应的表示参数存储到相应的指定的至少一个计算节点的本地存储器中。
可选地,确定训练样本集中包含的高频特征,包括:确定训练样本集的每个特征的类型,其中,训练样本集的特征的类型包括稀疏特征和稠密特征;确定训练样本集的每个特征在训练样本集中包含的所有训练样本中出现的次数;基于每个特征的类型和出现的次数中的至少一个,确定训练样本集包含的高频特征。
可选地,基于每个特征的类型确定训练样本集包含的高频特征,包括:将训练样本集的稠密特征确定为高频特征。
可选地,基于每个特征的类型确定训练样本集包含的高频特征,包括:针对训练样本集的稀疏特征,遍历训练样本集中包含的所有训练样本;将出现的次数大于预估迭代次数的稀疏特征确定为高频特征,其中,预估迭代次数是完成机器学习模型训练的预估的迭代次数。
可选地,基于每个特征的类型确定训练样本集包含的高频特征,包括:针对训练样本集的稀疏特征,遍历训练样本集中包含的所有特征被划分到的域;将维度小于第三预定阈值的域中包含的特征确定为高频特征。
可选地,本地存储器为显存,内存或持久化内存。
根据本公开的第三方面,提供了一种计算节点,包括:第一获取单元,被配置为获取一个批次的训练样本中的对应于本计算节点的部分训练样本;第二获取单元,被配置为获取机器学习模型的参数和部分训练样本中特征对应的表示参数,其中,从本地存储器中获取机器学习模型的参数和部分训练样本中高频特征对应的表示参数,从服务器端获取部分训练样本中非高频特征对应的表示参数;训练单元,被配置为基于机器学习模型的参数和部分训练样本中特征对应的表示参数完成对机器学习模型的一次迭代训练。
可选地,上述计算节点还包括:确定单元,被配置为确定部分训练样本中非高频特征中的高频特征;第三获取单元,被配置为从服务器端获取高频特征对应的表示参数;缓存单元,被配置为将高频特征对应的表示参数缓存在用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器中。
可选地,确定单元,还被配置为遍历训练样本集中包含的所有训练样本;将出现的次数大于预估迭代次数的特征确定为高频特征,其中,预估迭代次数是完成机器学习模型训练的预估的迭代次数;
可选地,确定单元,还被配置为遍历训练样本集中包含的所有特征被划分到的域;将维度小于第一预定阈值的域中包含的特征确定为高频特征。
可选地,缓存单元,还被配置为在将高频特征对应的表示参数缓存在用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器中之后,确定部分训练样本中高频特征中的非高频特征;从本地存储器获取非高频特征对应的表示参数,并将非高频特征对应的表示参数从本地存储器剔除;将非高频特征对应的表示参数存储在服务器端。
可选地,上述计算节点还包括更新单元,还被配置为对于部分训练样本中高频特征对应的表示参数或机器学习模型的参数,在接收到更新的指示后,基于更新指示更新用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器上的部分训练样本中高频特征对应的参数或机器学习模型的参数。
可选地,更新部分训练样本中高频特征对应的参数或机器学习模型的参数的方式包括以下任一种方式:all-reduce同步方式、all-gather同步方式、广播的方式。
可选地,第二获取单元,还被配置为向服务器端发送查询请求,其中,查询请求中携带有部分训练样本中非高频特征的编号;接收服务器端基于编号反馈的部分训练样本中非高频特征对应的表示参数。
可选地,本地存储器为显存,内存或持久化内存。
根据本公开的第四方面,提供一种分发装置,包括:第一确定单元,被配置为确定训练样本集包含的高频特征;第一分发单元,被配置为将训练样本集中高频特征对应的表示参数和机器学习模型的参数,分发到执行分布式训练的多个计算节点中的每个计算节点的本地存储器中存储,并将训练样本集中非高频特征对应的表示参数分发到在服务器端存储;第二分发单元,被配置为针对分布式训练的每一次迭代训练,从存储训练样本集的存储器预读一个批次的训练样本,并根据训练分发方案,将一个批次的训练样本中包括高频特征的训练样本分发到指定的至少一个计算节点,其中,指定的至少一个计算节点是执行分布式训练的多个计算节点中的一部分计算节点。
可选地,上述分发装置还包括:第二确定单元,被配置为针对确定的高频特征,确定训练分发方案,其中,训练分发方案包括针对每个高频特征,指定包括该高频特征的训练样本将被分发到的特定的至少一个计算节点,其中,特定的至少一个计算节点是用于机器学习模型的分布式训练的多个计算节点中的一部分计算节点。
可选地,第二确定单元,还被配置为按照确定的高频特征的访问相关性,对确定的高频特征进行分组;其中,训练分发方案还包括针对每一组的高频特征,指定包括该组的高频特征的训练样本将被一起分发到的特定的至少一个计算节点。
可选地,第二确定单元,还被配置为将确定的高频特征之中的一起被访问的频率超过第二预定阈值的高频特征划分到一组。
可选地,上述分发装置还包括:第三分发单元,被配置为将训练样本集中高频特征对应的表示参数分发到相应的指定的至少一个计算节点的本地存储器中存储。
可选地,第一确定单元,还被配置为确定训练样本集的每个特征的类型,其中,训练样本集的特征的类型包括稀疏特征和稠密特征;确定训练样本集的每个特征在训练样本集中包含的所有训练样本中出现的次数;基于每个特征的类型和出现的次数中的至少一个,确定训练样本集包含的高频特征。
可选地,第一确定单元,还被配置为将训练样本集的稠密特征确定为高频特征。
可选地,第一确定单元,还被配置为针对训练样本集的稀疏特征,遍历训练样本集中包含的所有训练样本;将出现的次数大于预估迭代次数的稀疏特征确定为高频特征,其中,预估迭代次数是完成机器学习模型训练的预估的迭代次数。
可选地,第一确定单元,还被配置为针对训练样本集的稀疏特征,遍历训练样本集中包含的所有特征被划分到的域;将维度小于第三预定阈值的域中包含的特征确定为高频特征。
可选地,本地存储器为显存,内存或持久化内存。
根据本公开的第五方面,提供一种实现机器学习模型的分布式训练的系统,包括:本地存储器,服务器,如上任一计算节点和如上任一分发装置,其中,本地存储器设置在计算节点的本地。
根据本公开的第四方面,提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个计算装置运行时,促使至少一个计算装置执行根据本公开的实现机器学习模型的分布式训练的方法。
根据本公开的第五方面,提供一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,指令在被至少一个计算装置运行时,促使至少一个计算装置执行根据本公开的实现机器学习模型的分布式训练的方法。
根据本公开的实现机器学习模型的分布式训练的方法和计算节点,经常使用的机器学习模型的参数和部分训练样本中高频特征对应的表示参数,被存储在执行分布式训练的多个计算节点中每个计算节点本地上,使得在训练机器学习模型的过程中调用经常使用的参数时,可以直接从本地获取,减少了访问服务器端的次数,从而降低了网络开销,提高了训练效率,节省了训练时间,而不经常使用的部分训练样本中非高频特征对应的表示参数被存储在服务器端上,可以避免计算节点本地占用空间大以及将非高频特征存在计算机本地带来的更多的计算和通信的问题。
附图说明
通过结合附图,从实施例的下面描述中,本发明这些和/或其它方面及优点将会变得清楚,并且更易于理解,其中:
图1示出根据本公开的示例性实施例的实现机器学习模型的分布式训练的方法的流程图;
图2是示出超高维稀疏特征的高频特征和低频特征的示意图;
图3示出根据本公开的示例性实施例的实现机器学习模型的分布式训练的方法的流程图;
图4是示出根据本公开的示例性实施例的存储方式的示意图;
图5是示出根据本公开的示例性实施例的预读分发方式的示意图;
图6示出根据本公开的示例性实施例的计算节点的框图;
图7示出根据本公开的示例性实施例的分发装置的框图;
图8示出根据本公开的示例性实施例的实现机器学习模型的分布式训练的系统的框图。
具体实施方式
提供参照附图的以下描述以帮助对由权利要求及其等同物限定的本发明的实施例的全面理解。包括各种特定细节以帮助理解,但这些细节仅被视为是示例性的。因此,本领域的普通技术人员将认识到在不脱离本发明的范围和精神的情况下,可对描述于此的实施例进行各种改变和修改。此外,为了清楚和简洁,省略对公知的功能和结构的描述。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
图1示出根据本公开的示例性实施例的实现机器学习模型的分布式训练的方法的流程图。
参照图1,在步骤101,获取一个批次的训练样本中的对应于本计算节点的部分训练样本。通常,对机器学习模型的训练可基于同一训练样本集的所有训练样本进行多次训练,每一次训练可称为一个训练周期(epoch)。在一个训练周期中,通常可执行多次迭代训练,每一次迭代训练可利用批量训练样本进行训练。也就是说,每一次迭代训练可从训练机器学习模型所用的训练样本集中获取一个批次(batch)的训练样本来对机器学习模型进行训练,而对于分布式训练而言,每一次迭代训练可将一个批次的训练样本分发到不同计算节点进行训练,具体地分发方案下面有详细论述,此处不再展开论述。
参照图1,在步骤102,获取机器学习模型的参数和部分训练样本中特征对应的表示参数,其中,从本地存储器中获取机器学习模型的参数和部分训练样本中高频特征对应的表示参数,从服务器端获取部分训练样本中非高频特征对应的表示参数。上述本地存储器为显存,内存或持久化内存,当然还可是其它可能的存储参数的软件或硬件结构,本公开对此不作限制。上述服务器可以是参数服务器,当然还可是其它可能的存储参数的软件或硬件结构,本公开对此不作限制。上述部分训练样本中非高频特征对应的表示参数可以是嵌入(Embedding),嵌入(Embedding)即为稀疏特征赋予的一个张量,这个张量可以代表稀疏特征参与运算,通常这个张量也是可以学习的参数。而多个稀疏特征的张量可以组成嵌入层(Embedding Layer)。
为了方便理解上面的各术语,下面对术语进行简要介绍。嵌入层(EmbeddingLayer)即一些稀疏特征对应的张量的集合,可以根据稀疏特征的编号在嵌入层查询,可以得到稀疏特征对应的张量,也即部分训练样本中非高频特征对应的表示参数。稠密特征(Continuous Features)是使用稠密张量或标量存储的特征。稀疏特征(DiscreteFeatures)存储有特征的编号,还可能附带对应权重。而张量也可以分为稠密张量和稀疏张量,其中,稠密张量(Dense Tensor),不管输入变量是何种表示形式,均将其中的数据按顺序存储所有值;稀疏张量(Sparse Tensor),不管输入变量是何种表示形式,只存储其中的非零元和对应的下标(零元即默认值,一般是零)。再有,稀疏特征可以按种类分组,例如,每行样本都包含颜色、形状两种稀疏特征,而颜色包含红、绿、蓝三个稀疏特征,形状包含方形、圆形两个稀疏特征,这时可以使用两个嵌入层分别表示颜色对应的稀疏特征和形状对应的稀疏特征,也可以合并使用一个嵌入层表示这两种稀疏特征。再有,逻辑回归虽然不是深层网络,但是在处理稀疏特征时,也可将对应的参数视为嵌入层。需要说明的是,嵌入层可以被替换为其他任何类似的概念,比如词汇表,字典,哈希表,数组等,都是用来查找稀疏特征对应参数的数据结构。
根据本公开的实施例,在获取部分训练样本中特征对应的表示参数之前,可以确定部分训练样本中非高频特征中的高频特征;从服务器端获取高频特征对应的表示参数;将高频特征对应的表示参数缓存在用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器中。稀疏特征的高频和低频划分还可以是动态的,在重新评估稀疏特征的高频和低频后,发现稀疏特征从原来的高频特征变为低频特征或从原来的低频特征变为高频特征后,需要使用一些通信操作重新确定稀疏特征对应的表述参数的存储位置。对于稀疏特征从原来的低频特征变为高频特征高频稀疏参数时,对其存储位置的更改,可以理解为对稀疏参数进行缓存(cache)并使用all-reduce维护分布式缓存的一致性。例如,在每次迭代之前,可以重新评估部分训练样本中非高频特征,确定其中是否有变更为高频特征的特征,如果确定结果为是的情况下,则将变更为高频特征的特征缓存在本地存储器,并维护到多个计算节点中每个计算节点的本地存储器中,保证缓存的一致性。通过本公开实施例,可以进一步地减少访问服务器端的次数,从而降低了网络开销。
根据本公开的实施例,上述确定部分训练样本中非高频特征中的高频特征的方式可以包括但不限于如下两种方式:
例如,遍历训练样本集中包含的所有训练样本;将出现的次数大于预估迭代次数的特征确定为高频特征,其中,预估迭代次数是完成机器学习模型训练的预估的迭代次数。上述训练样本集包括完成机器学习模型训练的所有训练样本。
又例如,遍历训练样本集中包含的所有特征被划分到的域;将维度小于第一预定阈值的域中包含的特征确定为高频特征。具体地,如图2所示,当超高维稀疏特征的某个域(Field)的维度较小,该域中的特征在训练样本中出现的频率就会比较高。那么可通过特征分布分析结果来观察训练样本中的超高维稀疏特征的每个域的维度,根据每个域的维度的大小来判断每个域中的特征是否为高频特征。也就是说,可遍历训练样本集中包含的所有特征被划分到的域,将维度小于第一预定阈值的域中包含的特征确定为高频特征。
又例如,以嵌入层为例,也可以从嵌入层入手进行划分,嵌入层中参数的高频、低频有多种划分方式,如可以直接将参数的数量较小的嵌入层整体划分为高频访问的参数,而对于参数的数量较大的嵌入层,可以按访问频率划分,即划分为被高频访问的参数和未被高频访问的参数,也可将高频访问的参数再单独划分出来,进一步的划分。再有,对于上述参数,可以将参数划分为高频,中频,低频等更多的层次,或者按照其他方式划分,本公开不做限定。对于上述特征,也可以将其划分为高频,中频,低频等更多的层次,或者按照其他方式划分,本公开也不做限定。
根据本公开的实施例,在将高频特征对应的表示参数缓存在用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器中之后,可以进一步确定部分训练样本中高频特征中的非高频特征;从本地存储器获取非高频特征对应的表示参数,并将非高频特征对应的表示参数从本地存储器剔除;将非高频特征对应的表示参数存储在服务器端。通过本公开实施例,在出现缓存操作时,重新确定计算节点的本地存储器中的特征是否仍然为高频特征,如果不再是高频特征,则将其从计算节点的本地中删除,并存储到给本地存储器上,以避免计算节点的本地存储器中存储量太多导致存储空间不足的问题。
根据本公开的实施例,从服务器端获取部分训练样本中非高频特征对应的表示参数可以通过如下方式实现:计算节点向服务器端发送查询请求,其中,查询请求中携带有部分训练样本中非高频特征的编号;接收服务器端基于编号反馈的部分训练样本中非高频特征对应的表示参数。
参照图1,在步骤103,基于机器学习模型的参数和部分训练样本中特征对应的表示参数完成对机器学习模型的一次迭代训练。通常,在获取到机器学习模型的参数和部分训练样本中特征对应的表示参数后,即可对机器学习模型进行一次迭代训练。
根据本公开的实施例,在上述机器学习模型的参数和部分训练样本中特征对应的表示参数需要更新的情况下,需要将执行机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器均更新。例如,对于部分训练样本中高频特征对应的表示参数或机器学习模型的参数,在接收到更新的指示后,基于更新指示更新用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器上的部分训练样本中高频特征对应的参数或机器学习模型的参数。通过本公开实施例,可以保证计算节点本地上参数的一致性。
根据本公开的实施例,上述更新部分训练样本中高频特征对应的参数或机器学习模型的参数的方式可以包括以下任一种方式:all-reduce同步方式、all-gather同步方式、广播的方式。当然,还可通过其它可能的方式来更新被分发到的训练样本中高频特征对应的参数或机器学习模型的参数,本公开对此不作限制。
需要说明的是,以all-reduce同步方式为例,根据计算节点的划分方式不同,采用all-reduce同步的参数副本数可能与计算节点的个数不一致,但是计算节点本身可以根据采用all-reduce同步的参数对应的副本来划分,这时,计算节点个数一定是和采用all-reduce同步的参数对应的副本个数一致的。另外,服务器端(如,参数服务器)也可以是多副本的,但是参数服务器的副本个数不等于计算节点个数。参数服务器也可以和计算节点使用同一个存储介质中,但是在逻辑上仍然可以划分出两个角色。
图3示出根据本公开的示例性实施例的实现机器学习模型的分布式训练的方法的流程图。
参照图3,在步骤301,确定训练样本集包含的高频特征。
根据本公开的实施例,在对机器学习模型执行分布式训练之前,可以基于训练样本集的每个特征的类型和训练样本集的每个特征在训练样本集中包含的所有训练样本中出现的次数中的至少一个,确定训练样本集包含的高频特征。例如,确定训练样本集中包含的高频特征可以通过如下方式实现:确定训练样本集的每个特征的类型,其中,训练样本集的特征的类型包括稀疏特征和稠密特征;确定训练样本集的每个特征在训练样本集中包含的所有训练样本中出现的次数;基于每个特征的类型和出现的次数中的至少一个,确定训练样本集包含的高频特征。需要说明的是,上述训练样本集的每个特征的类型包括稀疏特征和稠密特征。对于一些稀疏特征虽然样本的粒度是稀疏的,但是一个batch有许多样本组成,这些稀疏特征几乎在每个batch都会出现,如果以batch的角度看,这些稀疏特征也可以是高频特征。换言之,稀疏特征可以被区分为高频稀疏特征和低频稀疏特征,而高频稀疏特征可以被确定为高频特征。
例如,针对训练样本集的稠密特征,可以将训练样本集的稠密特征确定训练样本集的高频特征。
又例如,针对训练样本集的稀疏特征,可以遍历训练样本集中包含的所有训练样本;将出现的次数大于预估迭代次数的稀疏特征确定为训练样本集的高频特征,其中,预估迭代次数是完成机器学习模型训练的预估的迭代次数。
又例如,针对训练样本集的稀疏特征,可以遍历训练样本集中包含的所有特征被划分到的域;将维度小于第三预定阈值的域中包含的特征确定为高频特征。
当然,还可通过其它可能的方式来确定高频特征,本公开对此不作限制。
参照图3,在步骤302,将训练样本集中高频特征对应的表示参数和机器学习模型的参数,分发到执行分布式训练的多个计算节点中的每个计算节点的本地存储器中存储,并将训练样本集中非高频特征对应的表示参数分发到在服务器端存储。上述本地存储器为显存,内存或持久化内存,当然,还可是其它可能的用于存储参数的软件或硬件结构,本公开对此不作限制。上述服务器可以是参数服务器,当然还可是其它可能的存储参数的软件或硬件结构,本公开对此不作限制。另外,还可以将机器学习模型训练过程中的梯度存储在计算节点本地,更新时采用与训练样本集中高频特征对应的表示参数和机器学习模型的参数一样的方式。
具体地,对于机器学习模型的参数,由于在训练过程中其一直被使用,故其一定是被高频访问,将其存储在计算节点的本地存储器中;对于训练样本集中的稠密特征,其一定是高频特征,故其对应的表示参数也是被高频访问,也将其存储在计算节点的本地存储器中;对于训练样本集中的稀疏特征,如上所述,其可以被区分为高频稀疏特征和低频稀疏特征,其中的高频稀疏特征也可以确定为高频特征,故其对应的表示参数也是被高频访问,同样将其存储在计算节点的本地存储器中,但是,其中的低频稀疏特征则为非高频特征,其对应的表示参数不会被高频访问,故将其存储在服务器端。例如,在机器学习模型的训练过程中高频稀疏特征可以仍然有一个查表的过程,在存储和更新高频稀疏特征对应的表示参数时可以使用all-reduce的方式存储在本地存储器,而在服务器端(如,参数服务器)上可以只存储低频稀疏特征的嵌入层,从而进一步减少了参数服务器的网络开销,且降低了参数服务器存储高频特征导致的负载不均问题。图4给出一种2个参数服务器(ParameterServer,简称为PS),2个计算节点(worker)的示例结构图,如图4所示,dense表示稠密参数,sparse1表示高频稀疏参数,sparse2和sparse3表示两组不同的低频稀疏参数。dense和sparse1在每个worker上均有副本且通过all-reduce同步,sparse2和sparse3在PS上存储,当worker需要读取或更新sparse2和sparse3时会与其所在的PS进行网络通信。
根据本公开的实施例,上述训练样本集中高频特征对应的表示参数和机器学习模型的参数可以被预先存储在多个计算节点中每个计算节点的本地存储器中,训练样本集中非高频特征对应的表示参数可以被预先存储在服务器端中。根据本公开的另一实施例,训练样本集中高频特征对应的表示参数也可以被预先存储到相应的特定的至少一个计算节点的本地存储器中。通常,对于训练样本集中特征对应的嵌入层(Embedding Layer)存储于服务器端(如,参数服务器)中,各计算节点在接收在训练样本后,需从参数服务器的存储器中存储的嵌入层获取训练样本中的特征的embedding值以用于训练。由于计算节点和参数服务器之间的通信涉及远程的跨节点网络通信,因此,获取embedding值会导致计算节点和参数服务器之间的IO开销。而根据本公开的上述示例性实施例,可将每个高频特征对应的参数存储在每个计算节点的本地存储器中,从而获取embedding值仅需与本地存储器或短距离通信的存储器进行通信,而无需与参数服务器进行远程通信,从而节省了计算节点和参数服务器之间的IO开销,进一步提高训练效率。而对于机器学习模型的参数其在训练中一定为经常使用的参数,故将其也存在计算节点本地,使得在需要获取时同样仅需与本地存储器或短距离通信的存储器进行通信,从而节省了计算节点和参数服务器之间的IO开销,进一步提高训练效率。
参照图3,在步骤303,针对分布式训练的每一次迭代训练,从存储训练样本集的存储器预读一个批次的训练样本,并根据训练分发方案,将一个批次的训练样本中包括高频特征的训练样本分发到指定的至少一个计算节点,其中,指定的至少一个计算节点是执行分布式训练的多个计算节点中的一部分计算节点。通常,对于分布式训练而言,每一次迭代训练可将一个批次的训练样本分发到不同计算节点进行训练。具体地,在训练样本集中的特征为超高频稀疏特征的情况下,执行分布式训练的计算节点很多,可以高达256个,训练分发方案可针对每个高频特征,指定相应的训练样本将被分发到这些计算节点中的特定的一部分计算节点。如图5所示,假设执行分布式训练的计算节点包括GPU A和GPU B,根据本公开的训练分发方案可指定将包括高频特征male的训练样本分发到计算节点GPU B上以进行后续的训练,就高频特征male而言仅GPU B与远端参数服务器进行交互,GPU A无需交互,从而可减少计算节点与远端参数服务器之间的IO开销,提高训练效率。
根据本公开的实施例,上述训练分发方案可以提前确定,如,可以在对所述机器学习模型执行分布式训练之前被执行(如,在分布式训练前被离线执行),也可在分布式训练的第一个训练周期(epoch)执行过程中被执行如。例如,在整个训练过程中,可针对训练数据集执行5次训练,如果采用离线分析来确定高频特征并定制训练分发方案,则可在执行5次训练时都利用确定的训练分发方案执行训练样本的分发;如果在第一个训练周期执行过程中分析来确定高频特征并定制训练分发方案,则可在第1次训练时利用传统分发方案执行训练样本的分发,而在后续的4次训练时利用确定的训练分发方案执行训练样本的分发。
根据本公开的实施例,上述训练分发方案可以通过如下方式确定:针对确定的高频特征,确定训练分发方案,其中,训练分发方案包括针对每个高频特征,指定包括该高频特征的训练样本将被分发到的特定的至少一个计算节点,其中,特定的至少一个计算节点是用于机器学习模型的分布式训练的多个计算节点中的一部分计算节点。
此外,根据本公开的实施例,在确定训练分发方案时,还可按照确定的高频特征的访问相关性,对确定的高频特征进行分组,此时,预定训练分发方案还包括针对每一组的高频特征,指定包括该组的高频特征的训练样本将被一起分发到的特定的至少一个计算节点。例如,分组将确定的高频特征之中的一起被访问的频率超过第二预定阈值的高频特征划分到一组。这样,同一组的高频特征可在训练过程中被分发到指定的某个或某几个计算节点。
综上,在分布式机器学习中,本公开融合了参数服务器架构和all-reduce架构,将高频访问的参数通过all-reduce同步,低频访问的参数存储在参数服务器上,从而综合了二者的优点。需要说明的是,分布式机器学习同时也是一种分布式的数据处理任务,因此,本公开同样可以应用于一些类似的分布式数据处理场景。
图6示出根据本公开的示例性实施例的计算节点的框图。如图6所示,该计算节点包括第一获取单元60,第二获取单元62和训练单元64。
第一获取单元60,被配置为获取一个批次的训练样本中的对应于本计算节点的部分训练样本;第二获取单元62,被配置为获取机器学习模型的参数和部分训练样本中特征对应的表示参数,其中,从本地存储器中获取机器学习模型的参数和部分训练样本中高频特征对应的表示参数,从服务器端获取部分训练样本中非高频特征对应的表示参数;训练单元64,被配置为基于机器学习模型的参数和部分训练样本中特征对应的表示参数完成对机器学习模型的一次迭代训练。
根据本公开的实施例,上述计算节点还包括:确定单元66,被配置为确定部分训练样本中非高频特征中的高频特征;第三获取单元68,被配置为从服务器端获取高频特征对应的表示参数;缓存单元610,被配置为将高频特征对应的表示参数缓存在用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器中。
根据本公开的实施例,确定单元66,还被配置为遍历训练样本集中包含的所有训练样本;将出现的次数大于预估迭代次数的特征确定为高频特征,其中,预估迭代次数是完成机器学习模型训练的预估的迭代次数;
根据本公开的实施例,确定单元66,还被配置为遍历训练样本集中包含的所有特征被划分到的域;将维度小于第二预定阈值的域中包含的特征确定为高频特征。
根据本公开的实施例,缓存单元610,还被配置为在将高频特征对应的表示参数缓存在用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器中之后,确定部分训练样本中高频特征中的非高频特征;从本地存储器获取非高频特征对应的表示参数,并将非高频特征对应的表示参数从本地存储器剔除;将非高频特征对应的表示参数存储在服务器端。
根据本公开的实施例,上述计算节点还包括更新单元612,还被配置为对于部分训练样本中高频特征对应的表示参数或机器学习模型的参数,在接收到更新的指示后,基于更新指示更新用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器上的部分训练样本中高频特征对应的参数或机器学习模型的参数。
根据本公开的实施例,更新部分训练样本中高频特征对应的参数或机器学习模型的参数的方式包括以下任一种方式:all-reduce同步方式、all-gather同步方式、广播的方式。
根据本公开的实施例,第二获取单元62,还被配置为向服务器端发送查询请求,其中,查询请求中携带有部分训练样本中非高频特征的编号;接收服务器端基于编号反馈的部分训练样本中非高频特征对应的表示参数。
根据本公开的实施例,本地存储器为显存,内存或持久化内存。
图7示出根据本公开的示例性实施例的分发装置的框图。如图7所示,该分发装置包括第一确定单元70,第一分发单元72和第二分发单元74。
第一确定单元70,被配置为确定训练样本集包含的高频特征;第一分发单元72,被配置为将训练样本集中高频特征对应的表示参数和机器学习模型的参数,分发到执行分布式训练的多个计算节点中的每个计算节点的本地存储器中存储,并将训练样本集中非高频特征对应的表示参数分发到在服务器端存储;第二分发单元74,被配置为针对分布式训练的每一次迭代训练,从存储训练样本集的存储器预读一个批次的训练样本,并根据训练分发方案,将一个批次的训练样本中包括高频特征的训练样本分发到指定的至少一个计算节点,其中,指定的至少一个计算节点是执行分布式训练的多个计算节点中的一部分计算节点。
根据本公开的实施例,上述分发装置还包括:第二确定单元76,被配置为针对确定的高频特征,确定训练分发方案,其中,训练分发方案包括针对每个高频特征,指定包括该高频特征的训练样本将被分发到的特定的至少一个计算节点,其中,特定的至少一个计算节点是用于机器学习模型的分布式训练的多个计算节点中的一部分计算节点。
根据本公开的实施例,第二确定单元76,还被配置为按照确定的高频特征的访问相关性,对确定的高频特征进行分组;其中,训练分发方案还包括针对每一组的高频特征,指定包括该组的高频特征的训练样本将被一起分发到的特定的至少一个计算节点。
根据本公开的实施例,第二确定单元76,还被配置为将确定的高频特征之中的一起被访问的频率超过第三预定阈值的高频特征划分到一组。
根据本公开的实施例,上述分发装置还包括:第三分发单元78,被配置为将训练样本集中高频特征对应的表示参数分发到相应的指定的至少一个计算节点的本地存储器中存储。
根据本公开的实施例,第一确定单元70,还被配置为确定训练样本集的每个特征的类型,其中,训练样本集的特征的类型包括稀疏特征和稠密特征;确定训练样本集的每个特征在训练样本集中包含的所有训练样本中出现的次数;基于每个特征的类型和出现的次数中的至少一个,确定训练样本集包含的高频特征。
根据本公开的实施例,第一确定单元70,还被配置为将训练样本集的稠密特征确定为高频特征。
可选地,第一确定单元70,还被配置为针对训练样本集的稀疏特征,遍历训练样本集中包含的所有训练样本;将出现的次数大于预估迭代次数的稀疏特征确定为高频特征,其中,预估迭代次数是完成机器学习模型训练的预估的迭代次数。
根据本公开的实施例,第一确定单元70,还被配置为针对训练样本集的稀疏特征,遍历训练样本集中包含的所有特征被划分到的域;将维度小于第二预定阈值的域中包含的特征确定为高频特征。
根据本公开的实施例,本地存储器为显存,内存或持久化内存。
图8示出根据本公开的示例性实施例的实现机器学习模型的分布式训练的系统的框图。如图8所示,该系统包括:本地存储器80,服务器82,如上任一实施例所述的计算节点84和如上任一实施例所述的分发装置86,其中,本地存储器80设置在计算节点的本地。
以上已参照图1至图8描述了根据本公开示例性实施例的实现机器学习模型的分布式训练的方法及系统、计算节点和分发装置。
图6-图8所示出的各个单元可被配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,各个单元可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的模块。此外,各个单元所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。
此外,参照图1所描述的实现机器学习模型的分布式训练的方法可通过记录在计算机可读存储介质上的程序(或指令)来实现。例如,根据本公开的示例性实施例,可提供存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行根据本公开的实现机器学习模型的分布式训练的方法。
上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,计算机程序还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经在参照图1进行相关方法的描述过程中提及,因此这里为了避免重复将不再进行赘述。
应注意,根据本公开示例性实施例的的各个单元可完全依赖计算机程序的运行来实现相应的功能,即,各个单元在计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
另一方面,图6-图8所示的各个单元也可以通过硬件、软件、固件、中间件、微代码或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得处理器可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
例如,本公开的示例性实施例还可以实现为计算装置,该计算装置包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当计算机可执行指令集合被处理器执行时,执行根据本公开的示例性实施例的实现机器学习模型的分布式训练的方法。
具体说来,计算装置可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点装置上。此外,计算装置可以是PC计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。
这里,计算装置并非必须是单个的计算装置,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。计算装置还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。
在计算装置中,处理器可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
根据本公开示例性实施例的实现机器学习模型的分布式训练的方法中所描述的某些操作可通过软件方式来实现,某些操作可通过硬件方式来实现,此外,还可通过软硬件结合的方式来实现这些操作。
处理器可运行存储在存储部件之一中的指令或代码,其中,存储部件还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储部件可与处理器集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储部件可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储部件和处理器可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器能够读取存储在存储部件中的文件。
此外,计算装置还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。计算装置的所有组件可经由总线和/或网络而彼此连接。
根据本公开示例性实施例的实现机器学习模型的分布式训练的方法可被描述为各种互联或耦合的功能块或功能示图。然而,这些功能块或功能示图可被均等地集成为单个的逻辑装置或按照非确切的边界进行操作。
因此,参照图1所描述的实现机器学习模型的分布式训练的方法可通过包括至少一个计算装置和至少一个存储指令的存储装置的系统来实现。
根据本公开的示例性实施例,至少一个计算装置是根据本公开示例性实施例的用于执行实现机器学习模型的分布式训练的方法的计算装置,存储装置中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个计算装置执行时,执行参照图1所描述的实现机器学习模型的分布式训练的方法。
以上描述了本公开的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本公开不限于所披露的各示例性实施例。在不偏离本公开的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本公开的保护范围应该以权利要求的范围为准。
Claims (10)
1.一种实现机器学习模型的分布式训练的方法,其特征在于,该方法包括由执行所述分布式训练的多个计算节点中的每个计算节点执行的如下步骤:
获取一个批次的训练样本中的对应于本计算节点的部分训练样本;
获取所述机器学习模型的参数和所述部分训练样本中特征对应的表示参数,其中,从本地存储器中获取所述机器学习模型的参数和所述部分训练样本中高频特征对应的表示参数,从服务器端获取所述部分训练样本中非高频特征对应的表示参数;
基于所述机器学习模型的参数和所述部分训练样本中特征对应的表示参数完成对所述机器学习模型的一次迭代训练。
2.根据权利要求1中所述的方法,其中,在获取所述部分训练样本中特征对应的表示参数之前,还包括:
确定所述部分训练样本中非高频特征中的高频特征;
从所述服务器端获取所述高频特征对应的表示参数;
将所述高频特征对应的表示参数缓存在用于机器学习模型的分布式训练的多个计算节点中每个计算节点的本地存储器中。
3.根据权利要求2中所述的方法,其中,确定所述部分训练样本中非高频特征中的高频特征,包括:
遍历训练样本集中包含的所有训练样本;
将出现的次数大于预估迭代次数的特征确定为高频特征,其中,所述预估迭代次数是完成机器学习模型训练的预估的迭代次数。
4.根据权利要求3中所述的方法,其中,确定所述部分训练样本中非高频特征中的高频特征,包括:
遍历训练样本集中包含的所有特征被划分到的域;
将维度小于第一预定阈值的域中包含的特征确定为高频特征。
5.一种实现机器学习模型的分布式训练的方法,其特征在于,包括:
确定训练样本集包含的高频特征;
将所述训练样本集中高频特征对应的表示参数和所述机器学习模型的参数,分发到执行所述分布式训练的多个计算节点中的每个计算节点的本地存储器中存储,并将所述训练样本集中非高频特征对应的表示参数分发到在服务器端存储;
针对分布式训练的每一次迭代训练,从存储训练样本集的存储器预读一个批次的训练样本,并根据训练分发方案,将所述一个批次的训练样本中包括高频特征的训练样本分发到指定的至少一个计算节点,其中,所述指定的至少一个计算节点是执行所述分布式训练的多个计算节点中的一部分计算节点。
6.一种计算节点,其特征在于,包括:
第一获取单元,被配置为获取一个批次的训练样本中的对应于本计算节点的部分训练样本;
第二获取单元,被配置为获取机器学习模型的参数和所述部分训练样本中特征对应的表示参数,其中,从本地存储器中获取所述机器学习模型的参数和所述部分训练样本中高频特征对应的表示参数,从服务器端获取所述部分训练样本中非高频特征对应的表示参数;
训练单元,被配置为基于所述机器学习模型的参数和所述部分训练样本中特征对应的表示参数完成对所述机器学习模型的一次迭代训练。
7.一种分发装置,其特征在于,包括:
第一确定单元,被配置为确定训练样本集包含的高频特征;
第一分发单元,被配置为将所述训练样本集中高频特征对应的表示参数和机器学习模型的参数,分发到执行分布式训练的多个计算节点中的每个计算节点的本地存储器中存储,并将所述训练样本集中非高频特征对应的表示参数分发到在服务器端存储;
第二分发单元,被配置为针对分布式训练的每一次迭代训练,从存储训练样本集的存储器预读一个批次的训练样本,并根据训练分发方案,将所述一个批次的训练样本中包括高频特征的训练样本分发到指定的至少一个计算节点,其中,所述指定的至少一个计算节点是执行所述分布式训练的多个计算节点中的一部分计算节点。
8.一种实现机器学习模型的分布式训练的系统,其特征在于,包括:本地存储器,服务器,如权利要求6所述的计算节点和7所述的分发装置,其中,所述本地存储器设置在所述计算节点的本地。
9.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至5中的任一权利要求所述的实现机器学习模型的分布式训练的方法。
10.一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至5中的任一权利要求所述的实现机器学习模型的分布式训练的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110340253.3A CN112906825A (zh) | 2021-03-30 | 2021-03-30 | 实现机器学习模型的分布式训练的方法和计算节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110340253.3A CN112906825A (zh) | 2021-03-30 | 2021-03-30 | 实现机器学习模型的分布式训练的方法和计算节点 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112906825A true CN112906825A (zh) | 2021-06-04 |
Family
ID=76109754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110340253.3A Pending CN112906825A (zh) | 2021-03-30 | 2021-03-30 | 实现机器学习模型的分布式训练的方法和计算节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112906825A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556247A (zh) * | 2021-06-25 | 2021-10-26 | 深圳技术大学 | 多层参数分布式数据传输方法、装置及可读介质 |
CN115712583A (zh) * | 2023-01-09 | 2023-02-24 | 之江实验室 | 一种提升分布式缓存跨节点访问性能的方法及装置、介质 |
CN115936095A (zh) * | 2023-02-20 | 2023-04-07 | 浪潮电子信息产业股份有限公司 | 一种参数梯度同步方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161836A1 (en) * | 2009-12-31 | 2011-06-30 | Ruicao Mu | System for processing and synchronizing large scale video conferencing and document sharing |
WO2019127085A1 (en) * | 2017-12-27 | 2019-07-04 | Volkswagen (China) Investment Co., Ltd. | Processing method, processing apparatus, control device and cloud server |
US20190374165A1 (en) * | 2018-06-07 | 2019-12-12 | Canon Medical Systems Corporation | Image processing apparatus and method |
CN110751275A (zh) * | 2019-08-03 | 2020-02-04 | 北京达佳互联信息技术有限公司 | 图训练系统、数据访问方法及装置、电子设备、存储介质 |
CN111352915A (zh) * | 2018-12-20 | 2020-06-30 | 北京奇虎科技有限公司 | 一种机器学习系统、一种机器学习参数服务器及实现方法 |
-
2021
- 2021-03-30 CN CN202110340253.3A patent/CN112906825A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161836A1 (en) * | 2009-12-31 | 2011-06-30 | Ruicao Mu | System for processing and synchronizing large scale video conferencing and document sharing |
WO2019127085A1 (en) * | 2017-12-27 | 2019-07-04 | Volkswagen (China) Investment Co., Ltd. | Processing method, processing apparatus, control device and cloud server |
US20190374165A1 (en) * | 2018-06-07 | 2019-12-12 | Canon Medical Systems Corporation | Image processing apparatus and method |
CN111352915A (zh) * | 2018-12-20 | 2020-06-30 | 北京奇虎科技有限公司 | 一种机器学习系统、一种机器学习参数服务器及实现方法 |
CN110751275A (zh) * | 2019-08-03 | 2020-02-04 | 北京达佳互联信息技术有限公司 | 图训练系统、数据访问方法及装置、电子设备、存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556247A (zh) * | 2021-06-25 | 2021-10-26 | 深圳技术大学 | 多层参数分布式数据传输方法、装置及可读介质 |
CN115712583A (zh) * | 2023-01-09 | 2023-02-24 | 之江实验室 | 一种提升分布式缓存跨节点访问性能的方法及装置、介质 |
CN115712583B (zh) * | 2023-01-09 | 2023-04-18 | 之江实验室 | 一种提升分布式缓存跨节点访问性能的方法及装置、介质 |
CN115936095A (zh) * | 2023-02-20 | 2023-04-07 | 浪潮电子信息产业股份有限公司 | 一种参数梯度同步方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112906825A (zh) | 实现机器学习模型的分布式训练的方法和计算节点 | |
CN111652380B (zh) | 针对机器学习算法进行算法参数调优的方法及系统 | |
EP3404899B1 (en) | Adaptive computation and faster computer operation | |
US11082206B2 (en) | Layout-independent cryptographic stamp of a distributed dataset | |
US10394847B2 (en) | Processing data in a distributed database across a plurality of clusters | |
CN111078147B (zh) | 一种缓存数据的处理方法、装置、设备及存储介质 | |
JP2019212336A (ja) | 分散キャッシュクラスタ管理 | |
CN109447274B (zh) | 用于执行机器学习的分布式系统及其方法 | |
KR101620602B1 (ko) | Gpu를 이용한 큰 규모 그래프 처리 시스템 및 방법 | |
EP3678030B1 (en) | Distributed system for executing machine learning, and method therefor | |
US11537617B2 (en) | Data system configured to transparently cache data of data sources and access the cached data | |
CN111386521B (zh) | 在数据库集群中重分布表数据 | |
EP3848815B1 (en) | Efficient shared bulk loading into optimized storage | |
US11651221B2 (en) | Method, device, and computer program product for deep learning | |
CN111144582B (zh) | 训练及更新机器学习模型的方法及相应装置 | |
US11934927B2 (en) | Handling system-characteristics drift in machine learning applications | |
US11138231B2 (en) | Method and system for data handling | |
CN110168513A (zh) | 在不同存储系统中对大文件的部分存储 | |
EP3686751A1 (en) | Method and system for data handling | |
CN112906309B (zh) | 机器学习模型的分布式训练方法、装置和系统 | |
US20230021513A1 (en) | System and method for a content-aware and context-aware compression algorithm selection model for a file system | |
US20230094789A1 (en) | Data distribution in target database systems | |
CN114022274A (zh) | 图神经网络结构搜索方法和系统 | |
CN117521842A (zh) | 模型参数处理方法及装置、模型训练方法及系统 | |
CN113656646A (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 |