一种分布式机器学习的计算机系统技术方案

技术编号:22472365 阅读:38 留言:0更新日期:2019-11-06 13:21
本发明专利技术提供了一种用于机器学习模型的分布式训练的计算机系统(100)。所述计算机系统(100)包括BSP系统(101),包含中央BSP控制模块(102)和至少一个本地BSP模块(103)。所述计算机系统(100)还包括至少一个机器学习模块(105),与正好一个本地BSP模块(103)相关联,以及共享内存模块(104),与正好一对本地BSP模块(103)和机器学习模块(105)相关联。中央BSP控制模块(102)用于指示所述至少一个本地BSP模块(103)将本地模型存储在其相关联的共享内存模块(104)。所述至少一个机器学习模块(105)用于从其相关联的共享内存模块(104)读取所述本地模型,基于所述本地模型计算梯度,并且在梯度计算之后立即将所述梯度聚合成其相关联的共享内存模块(104)中的聚合梯度。所述中央BSP控制模块(102)还用于指示所述至少一个本地BSP模块(103)周期性地读出其相关联的共享内存模块(104)。

A distributed machine learning computer system

【技术实现步骤摘要】
【国外来华专利技术】一种分布式机器学习的计算机系统
本专利技术涉及一种用于机器学习(machinelearning,简称ML)模型的分布式训练的计算机系统和相应方法。特别地,本专利技术的系统和方法扩展了整体同步并行(BulkSynchronousParallel,简称BSP)系统以支持基于参数服务器(ParameterServer,简称PS)的分布式机器学习方法中的异步梯度计算。
技术介绍
如今,需要分布式计算加速大规模机器学习问题的迭代训练。为了有效地支持例如分布式模型训练,模型训练过程分布在如图10所示的集群上。PS将主要模型副本存储在分片上,即所述集群中的分布式机器集合。所述PS服务于分布式工作节点的模型共享。所述集群中的每台机器都有一个或多个ML工作节点。每个ML工作节点使用以下迭代计算模型更新:首先,所述ML工作节点从所述PS提取模型副本(copy)M。其次,所述ML工作节点计算所述模型M的梯度,即ΔM=computeGrad(M)。第三,所述ML工作节点基于计算出的梯度,即M+=ΔM更新所述PS中的模型。目前存在三种主要的方法来建立这种基于PS的系统。这些方法如图11所示。第一种方法(左上方本文档来自技高网...

【技术保护点】
1.一种用于机器学习模型的分布式训练的计算机系统(100),其特征在于,所述计算机系统(100)包括:整体同步并行BSP系统(101),包含中央BSP控制模块(102)和至少一个本地BSP模块(103);至少一个机器学习模块(105),与一个特定的本地BSP模块(103)相关联;共享内存模块(104),与本地BSP模块(103)和机器学习模块(105)这一对模块相关联;其中,所述中央BSP控制模块(102)用于指示所述至少一个本地BSP模块(103)将本地模型存储在其相关联的共享内存模块(104);其中,所述至少一个机器学习模块(105)用于从其相关联的共享内存模块(104)读取所述本地模型;...

【技术特征摘要】
【国外来华专利技术】1.一种用于机器学习模型的分布式训练的计算机系统(100),其特征在于,所述计算机系统(100)包括:整体同步并行BSP系统(101),包含中央BSP控制模块(102)和至少一个本地BSP模块(103);至少一个机器学习模块(105),与一个特定的本地BSP模块(103)相关联;共享内存模块(104),与本地BSP模块(103)和机器学习模块(105)这一对模块相关联;其中,所述中央BSP控制模块(102)用于指示所述至少一个本地BSP模块(103)将本地模型存储在其相关联的共享内存模块(104);其中,所述至少一个机器学习模块(105)用于从其相关联的共享内存模块(104)读取所述本地模型;基于所述本地模型计算梯度;在梯度计算之后立即将所述梯度聚合成其相关联的共享内存模块(104)中的聚合梯度;其中,所述中央BSP控制模块(102)还用于指示所述至少一个本地BSP模块(103)周期性地读出其相关联的共享内存模块(104)。2.根据权利要求1所述的计算机系统(100),其特征在于,所述至少一个机器学习模块(105)用于:基于所述本地模型计算多个梯度;将所述多个梯度聚合成存储在其相关联的共享内存模块(104)中的所述聚合梯度。3.根据权利要求1或2所述的计算机系统(100),其特征在于,所述至少一个机器学习模块(105)用于从所述BSP系统(101)读取训练数据;或者所述BSP系统(101)用于通过其相关联的共享内存模块(104)将训练数据推送到所述至少一个机器学习模块(105);所述至少一个机器学习模块(105)用于基于所述本地模型和所述训练数据计算所述梯度。4.根据权利要求1至3中任一项所述的计算机系统(100),其特征在于,所述至少一个本地BSP模块(103)还用于与参数服务器PS进行通信以接收将被存储为所述本地模型的PS模型。5.根据权利要求1至4中任一项所述的计算机系统(100),其特征在于,在每个周期性地读出共享内存模块(104)的步骤之后,所述中央BSP控制模块(102)还用于指示相关联的本地BSP模块(103)向PS提供所述聚合梯度以更新所述PS中的所述PS模型。6.根据权利要求1至5中任一项所述的计算机系统(100),其特征在于,所述中央BSP控制模块(102)用于通知所述至少一个本地BSP模块(103)驻留在PS中的更新的PS模型的可用性;所述至少一个本地BSP模块(103)用于从所述PS下载所述更新的PS模型并且使用它来更新存储在其相关联的共享内存模块(104)中的所述本地模型。7.根据权利要...

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

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

1