使用分布式系统训练分类器模型时的容错恢复系统和方法技术方案

技术编号:21959018 阅读:22 留言:0更新日期:2019-08-24 22:19
提供了一种训练分类器的分布式系统,包括:机器学习(machine learning,简称ML)工作节点,其每个工作节点用于计算分类器模型的模型更新;参数服务器(parameter server,简称PS),配置用于并行处理以向每个ML工作节点提供所述模型,从每个ML工作节点接收模型更新,并使用每个模型更新迭代地更新模型;梯度数据集,每个梯度数据集与相应的ML工作节点相关联,存储可以指示所述计算模型更新和相应模型更新的模型更新标识(delta‑M‑ID);全局数据集,其存储:delta‑M‑ID,所述delta‑M‑ID为计算模型更新的ML工作节点的标识;用于在PS中标记新模型的模型版本(MODEL‑VERSION),其是通过将模型更新与PS中的先前的模型合并而计算得出的;模型下载数据集,其存储每一个被传输模型的ML‑worker‑ID和MODEL‑VERSION。

A Fault Tolerant Recovery System for Training Classifier Model with Distributed System

【技术实现步骤摘要】
【国外来华专利技术】使用分布式系统训练分类器模型时的容错恢复系统和方法
技术介绍
本专利技术在其一些实施例中涉及使用分布式系统训练分类器模型的系统和方法,更具体地但非排他地,涉及使用分布式系统训练分类器模型时的容错恢复系统和方法。在机器学习中,会使用训练数据集训练分类器模型。所述分类器模型由一组参数进行参数化。选择所述分类器模型,根据所述训练数据集来调整所述参数。从所述训练数据集计算出模型更新,并将其添加到模型中。使用计算出的模型更新,模型可以迭代地更新。使用分布式计算系统可以加速大规模机器学习问题的迭代训练。然而,当所述分布式计算系统的一个或多个处理器发生故障时,利用现有机制进行恢复会涉及较为复杂的计算,处理和/或数据存储资源成本高,并且较为缓慢和/或一般效率较低。
技术实现思路
本专利技术旨在提供一种使用分布式系统训练分类器的装置、系统、计算机程序产品和方法。上述及其它目的通过独立权利要求的特征来实现。根据从属权利要求、说明书以及附图,进一步的实现方式是显而易见的。根据第一方面,提供了一种训练分类器的系统,包括:机器学习(machinelearning,ML)工作节点,其包括至少一个处理器,用于计算经一组模型参数加以参数化的所述分类器模型的模型更新;参数服务器(ParameterServer,PS),其包括至少一个处理器,所述参数服务器用于向每个ML工作节点提供所述分类器模型,基于每个ML工作节点所提供的分类器模型来接收相应的模型更新,并使用每个接收到的模型更新来迭代地更新所述分类器模型;梯度数据集,每个梯度数据集都与相应的ML工作节点相关联,其中,每个梯度数据集内存储可以指示由相应ML工作节点计算出的相应模型更新的模型更新标识(model-update-identification,delta-M-ID),并存储与每个相应delta-M-ID相关联的模型更新;全局数据集,其存储:与每个模型更新相关联的delta-M-ID,所述delta-M-ID在每次相应迭代中不被PS使用来更新所述分类器模型;ML工作节点标识(ML-worker-ID),其可以计算相应迭代中的与delta-M-ID相关联的模型更新;在PS中标记新分类器模型的模型版本(MODEL-VERSION),其是通过将所述模型更新与PS中的先前的分类器模型合并而计算得出的;模型下载数据集,其存储每一次所述分类器模型从PS到某个特定ML工作节点的传输相关联的ML-worker-ID和MODEL-VERSION。可选地,所述PS可以包含多个用于并行处理的处理器。根据第二方面,提供了一种通过机器学习(machinelearning,简称ML)工作节点训练分类器的方法,包括如下步骤:通过参数服务器(parameterserver,简称PS)向每个所述ML工作节点提供分类器模型;通过参数服务器(parameterserver,简称PS)接收来自每个所述ML工作节点的模型更新;基于每个接收的模型更新迭代地更新所述分类器模型;存储指示由相应ML工作节点计算出的相应模型更新的模型更新标识(delta-M-ID);存储与每个相应的delta-M-ID相关联的相应模型更新;并且存储ML工作节点标识(ML-worker-ID),其计算相应迭代的与delta-M-ID相关联的模型更新,以及存储在PS中标记新分类器模型的模型版本(MODEL-VERSION),其是通过将所述模型更新与PS中的先前的分类器模型合并而计算得出的。第一方面所述的系统容错机制和第二方面所述的方法,与其他容错方法相比,显著地减少了提供容错的在线开销。本文描述的容错机制,与其他容错方法相比,实现方法较为简单,且占用较少的数据存储和/或处理器资源。本文描述的容错机制,与其他容错方法相比,实现了较短的恢复时间。本文描述的容错机制,与其他容错方法相比,可以恢复到模型的最新版本。第一方面所述的系统容错机制和第二方面所述的方法,提供了恢复到更新模型的较快方法,这种方法使用更少的存储和/或处理资源。与基于快照的方法和/或其他方法(其将整个模型存储在数据存储设备中,这一过程较为缓慢)相反,基于本文描述的故障机制(其通过使用模型更新进行恢复)的恢复可以从PS设备的主存储器(例如,节点)和/或从ML工作节点设备的主存储器执行,这要快得多。与需要大量和/或复杂簿记的其他系统和/或方法(例如,快照和分布式哈希表)相比,第一方面所述的系统容错机制和第二方面所述的方法使用相对少量的内存簿记就可实现,且运行时开销非常小。在根据第一或第二方面的所述系统或方法的第一种可能实现方式中,当第一个ML工作节点计算第一个模型更新时,第一模型更新和与其相关联的第一delta-M-ID被存储到与第一ML工作节点相关联的第一梯度数据集中;当PS通过合并第一模型更新与分类器第一模型来创建分类器第二模型时,以下内容被存储到全局数据集中:第一模型更新的第一delta-M-ID,第一ML工作节点ML-worker-ID,以及分类器第二模型的第二MODEL-VERSION;当第二ML工作节点收到来自PS的分类器第二模型时,分类器第二模型的第二MODEL-VERSION和第二ML工作节点的第二ML-worker-ID被存储到模型下载数据集中。根据第一或第二方面或根据第一或第二方面的任一种前述的实现方式,在所述的系统或方法的第二种可能实现方式中,所述系统还包括与PS相关联的控制器计算设备,其中,所述控制器用于,或者所述方法还包括由所述控制器执行的以下动作:接收PS的至少一个处理器的故障指示,访问模型下载数据集以识别下载分类器第二模型的第二ML-worker的第二MODEL-VERSION和关联第二ML-worker-ID,其中,第二MODEL-VERSION表示模型下载数据集中位于第一MODEL-VERSION后面的最新条目;使用从模型下载数据集中获得的第二ML-worker-ID来访问第二ML-worker,以及使用从模型下载数据集中获得的第二MODEL-VERSION来检索分类器第二模型;通过分类器第二模型来初始化PS。根据第一或第二方面的第二种实现方式,在所述系统或方法的第三种可能的实现方式中,所述控制器用于:访问全局数据集以检索第三delta-M-ID和与第三MODEL-VERSION相关联的第三ML-worker-ID,其中,第三MODEL-VERSION表示第二MODEL-VERSION之后全局数据集中的最新条目;根据检索到的第三ML-worker-ID访问第三ML-worker,从而根据第三delta-M-ID检索第三模型更新;指示PS将第三模型更新与第二模型合并,以恢复分类器第三模型至发生故障前的对应的分类器第三模型。根据第一或第二方面的第二或第三种实现方式,在所述系统或方法的第四种可能的实现方式中,所述控制器用于:接收第二ML-worker的至少一个处理器的故障指示;访问模型下载数据集以识别已载有分类器第一模型的第一MODEL-VERSION和第一ML-worker的第一ML-worker-ID,其中,第一MODEL-VERSION表示模型下载数据集中位于第二MODEL-VERSION之前的条目;使用从模型下载数据集中获得的第一ML-worker-ID来访问本文档来自技高网...

【技术保护点】
1.一种用于训练分类器的系统,其特征在于,包括:多个机器学习(machine learning,简称ML)工作节点,其中,每个节点包括至少一个处理器,用于计算由一组模型参数参数化的分类器模型的模型更新;参数服务器(parameter server,简称PS),其包括至少一个处理器,所述参数服务器用于向每个ML工作节点提供所述分类器模型,基于多个ML工作节点的每个节点所提供的分类器模型来接收相应的模型更新,并使用每个接收到的模型更新来迭代地更新所述分类器模型;多个梯度数据集,每个梯度数据集都与多个ML工作节点中的相应ML工作节点相关联,其中,每个梯度数据集内存储可以指示由相应ML工作节点计算的相应模型更新的模型更新标识(delta‑M‑ID),并存储与每个相应的delta‑M‑ID相关联的相应模型更新;全局数据集,其存储:与每个模型更新相关联的delta‑M‑ID,所述每个模型更新在每次迭代中由PS使用,用来更新所述分类器模型;ML工作节点标识(ML‑worker‑ID),其可以计算相应迭代中的与delta‑M‑ID相关联的模型更新;标记PS中分类器的新模型的模型版本MODEL‑VERSION,其是通过将模型更新与PS中的分类器的先前模型合并而计算的;模型下载数据集,其存储与分类器模型从PS至某个特定ML工作节点每一次传输相关联的ML‑worker‑ID和MODEL‑VERSION。...

【技术特征摘要】
【国外来华专利技术】1.一种用于训练分类器的系统,其特征在于,包括:多个机器学习(machinelearning,简称ML)工作节点,其中,每个节点包括至少一个处理器,用于计算由一组模型参数参数化的分类器模型的模型更新;参数服务器(parameterserver,简称PS),其包括至少一个处理器,所述参数服务器用于向每个ML工作节点提供所述分类器模型,基于多个ML工作节点的每个节点所提供的分类器模型来接收相应的模型更新,并使用每个接收到的模型更新来迭代地更新所述分类器模型;多个梯度数据集,每个梯度数据集都与多个ML工作节点中的相应ML工作节点相关联,其中,每个梯度数据集内存储可以指示由相应ML工作节点计算的相应模型更新的模型更新标识(delta-M-ID),并存储与每个相应的delta-M-ID相关联的相应模型更新;全局数据集,其存储:与每个模型更新相关联的delta-M-ID,所述每个模型更新在每次迭代中由PS使用,用来更新所述分类器模型;ML工作节点标识(ML-worker-ID),其可以计算相应迭代中的与delta-M-ID相关联的模型更新;标记PS中分类器的新模型的模型版本MODEL-VERSION,其是通过将模型更新与PS中的分类器的先前模型合并而计算的;模型下载数据集,其存储与分类器模型从PS至某个特定ML工作节点每一次传输相关联的ML-worker-ID和MODEL-VERSION。2.根据权利要求1所述的系统,其特征在于,当多个ML工作节点的第一个ML工作节点计算第一模型更新时,第一模型更新和与第一模型更新相关联的第一delta-M-ID存储在与第一ML工作节点相关联的第一梯度数据集中;当PS通过合并第一模型更新和分类器第一模型来创建分类器第二模型后,以下内容被存储到全局数据集中:第一模型更新的第一delta-M-ID、第一ML工作节点的ML-worker-ID和分类器第二模型的第二MODEL-VERSION;当多个ML工作节点的第二个ML工作节点从PS接收分类器第二模型时,分类器第二模型的第二MODEL-VERSION和第二ML工作节点的第二ML-worker-ID存储在模型下载数据集中。3.根据上述权利要求中任一项所述的系统,其特征在于,还包括:与PS相关联的控制器计算设备,其中,所述控制器用于:接收PS的多个处理器中的至少一个处理器的故障指示;访问模型下载数据集以识别第二个MODEL-VERSION以及下载第二个分类器模型的第二个ML-worker的关联第二个ML-worker-ID,其中第二个MODEL-VERSION表示第一MODEL-VERSION之后模型下载数据集中的最新条目;通过从模型下载数据集获得的第二ML-worker-ID来访问第二ML-worker,并根据从模型下载数据集获得的第二MODEL-VERSION来检索分类器第二模型;使用分类器第二模型初始化PS。4.根据权利要求3所述的系统,其特征在于,所述控制器用于:访问全局数据集以检索与第三MODEL-VERSION相关联的第三delta-M-ID和第三ML-worker-ID,其中,第三MODEL-VERSION表示第二MODEL-VERSION之后全局数据集中的最新条目;根据检索到的第三ML-worker-ID访问第三ML-worker,从而根据第三delta-M-ID检索第三模型更新;指示PS将第三模型更新与第二模型合并,以恢复分类器第三模型至发生故障前的对应的分类器第三模型。5.根据权利要求3或4所述的系统,其特征在于,所述控制器用于:接收第二ML-worker的多个处理器中的至少一个处理器的故障指示;访问模型下载数据集以识别第一个MODEL-VERSION以及下载第一个分类器模型的第一个ML-worker的关联第一个ML-worker-ID,其中第一个MODEL-VERSION表示第二MODEL-VER...

【专利技术属性】
技术研发人员:罗马·塔扬斯基扎克·梅拉梅德内坦·彼得弗洛恩德吴祖光
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1