CN111027708A - 一种面向分布式机器学习的参数通信优化方法 - Google Patents
一种面向分布式机器学习的参数通信优化方法 Download PDFInfo
- Publication number
- CN111027708A CN111027708A CN201911197591.5A CN201911197591A CN111027708A CN 111027708 A CN111027708 A CN 111027708A CN 201911197591 A CN201911197591 A CN 201911197591A CN 111027708 A CN111027708 A CN 111027708A
- Authority
- CN
- China
- Prior art keywords
- parameter
- computing node
- machine learning
- training
- node
- 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.)
- Withdrawn
Links
Images
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Multi Processors (AREA)
Abstract
本发明公布一种面向分布式机器学习的参数通信优化方法。本发明将机器学习迭代‑收敛算法的容错特性进行扩展,提出了动态有限容错特性,并基于动态有限容错性实现了一种分布式机器学习参数通信优化策略,通过动态调节各计算节点与参数服务器的同步策略结合性能检测模型,充分利用各计算节点的性能,保证机器学习模型准确率;保证计算资源充足,模型的训练过程不受分布式计算资源动态变化的影响;将训练算法和系统硬件资源进行解耦,解放了开发人员凭经验手工进行计算资源的分配以及数据通信调优的过程,有效的提高了程序在各种集群环境下的扩展性和较高的执行效率。本发明可应用于分布式机器学习参数通信的优化、集群计算性能的优化等领域中。
Description
技术领域
本发明属于机器学习和高性能并行计算领域,特别涉及一种面向分布式机器学习的参数通信优化方法。
背景技术
随着大数据时代到来,分布式机器学习因其能适应大数据的复杂性、获得更高的预测精度、支持更智能的任务,日渐成为研究的热门。
将机器学习分布式化的主要目的就是:(1)解决单个计算节点内存不足,以保证能够处理TB级及以上的数据量;(2)利用并行加速模型训练,将原有数月的训练时间大幅缩短。其中最主要的问题便是如何对训练过程实现并行化加速。基于参数服务器的数据并行化是一种分布式机器学习中常见的并行化方案,其中数据样本切分成小数据集后分发到各个节点,这些节点都能够共享访问模型参数。在每次迭代训练中,各计算节点在其数据子集上同时计算局部更新,随后将局部更新提交到参数服务器聚集并更新全局模型参数,然后参数服务器将新的全局模型参数分发给各个机器。通常情况下,数据并行算法都是以整体同步并行方式执行,即各计算节点训练完本次迭代并提交局部参数到参数服务器后便开始等待,直到所有计算节点都提交了局部参数并得到更新的全局模型参数后才开始下次迭代。整体同步并行方式会因计算节点性能的差异性而导致迭代计算负载不均衡。
目前已存在一些解决上述问题的方法,例如分布式机器学习异步迭代方案,其中计算节点可以在接收全局模型参数之前使用局部模型参数执行下一迭代,该方案将容错性无限放大,导致机器学习模型可能陷入局部最优,不能保证机器学习模型最终收敛于最优解,也不能保证其准确率;延迟同步并行策略,该策略允许各计算节点迭代训练时使用非最新全局模型参数,减少了提交局部更新到参数服务器所造成的同步开销,并且严格控制使用非最新全局模型参数进行迭代的次数,来确保模型收敛。虽然使用局部模型参数提高了训练速度,但由于丢失了部分局部更新,会累积并行错误,降低了收敛速度。
因而针对各计算节点性能存在差异的集群,结合已有的延迟同步策略,本发明改进了延迟同步并行策略,有必要提供一种基于动态有限容错特性的参数通信优化策略。
发明内容
本发明的目的在于针对现有方法存在的上述问题,提出一种能够在计算性能存在差异的集群中有优秀表现的采用动态延迟同步策略的分布式机器学习参数通信优化方法,该方法将训练算法和系统硬件资源进行解耦,解放了开发人员凭经验手工进行计算资源的分配以及数据通信调优的过程,有效的提高了程序在各种计算节点性能存在差异的集群环境下的扩展性和较高的执行效率。
本发明解决其技术问题采用的技术方案是:一种面向分布式机器学习的参数通信优化方法,将训练算法和系统硬件资源进行解耦,有效的提高程序在各种异构环境下的扩展性和较高的执行效率。该方法采用以下步骤实现:
步骤1:采用参数服务器系统,将异构集群一个节点设置为参数服务器,其它节点设置为计算节点。
步骤2:采用数据并行策略,每个计算节点拥有完整的模型,参数服务器用来接收、更新、发送模型参数。
步骤3:将完整训练集发送给各个计算节点,根据计算节点的序号进行划分训练集,确保每个计算节点训练集不同,并进行参数梯度的计算。
步骤4:采用动态延迟同步策略避免因集群计算节点性能不同影响计算效率,每个节点首先采用异步训练,即完成一次迭代任务后并不直接上传参数梯度给参数服务器,而是将参数梯度累计,当训练数最多的计算节点与训练数最少的计算节点之间相差s次迭代或者训练数最少的计算节点完成w次迭代的时候,使用同步栅栏将所有计算节点的参数梯度发送给参数服务器。
步骤5:参数服务器接收到参数梯度后,将这些梯度累加,进行模型参数更新,得到新的模型参数。
步骤6:参数服务器将模型参数广播给各个计算节点,各个计算节点继续进行训练。直到模型训练终止。
本发明具有的有益效果是:
1、本发明通过采用参数服务器系统,设置参数服务器专用于模型参数的接收、更新、发送,解决了分布式机器学习的训练速度慢的问题。
2、本发明通过采用动态延迟同步策略,解决了集群不同计算节点计算性能不同导致性能浪费的问题。
3、本发明通过设置迭代差s以及最低值w,保证了分布式机器学习模型训练有较高的正确率与速度。
4、本发明可应用于分布式机器学习模型训练速度的优化、异构集群计算性能的优化等领域中。
附图说明
图1总设计图。
图2 参数服务器详细设计图。
图3 计算节点详细设计图。
图4 动态延时同步并行策略图。
具体实施方式
下面结合附图和具体实施应用过程对本发明进一步说明:
步骤1—采用主从方式设置节点:
如图1,本发明将异构集群的一个节点作为参数服务器,其余节点作为计算节点,实现参数服务器系统。如图2,参数服务器采用多线程方式实现,每个线程对应一个计算节点,用来专门接收发送该计算节点所计算的梯度;并另设一个线程用来专门处理上述线程的梯度的求和,以及模型参数的更新与广播。如图3,计算节点主要用于进行模型梯度的计算与更新。
步骤2—采用数据并行策略:
本发明在初始时将要训练的网络模型构建出多个副本,每个副本的模型参数均相同,副本的个数与计算节点数相同,每个节点上分布一个模型副本,并采用Lightning Memory-Mapped Database(LMDB)存储引擎,仅需在初始阶段将数据集发送给计算节点,无需多次发送数据集,支持多个模型同时读取一个数据集,每个计算节点可根据需要读取数据。
步骤3—计算节点进行梯度计算:
本发明通过前向传播的计算,将计算的结果与训练标签相对比,其误差进行反向传播,根据随机梯度下降算法计算偏导求出每个层次中每个模型参数的梯度大小,并将其累计。重复上述前向后向的过程,不断累加模型参数梯度,当每个计算节点上迭代计算次数累计到一定的阈值时,进行与参数服务器的通信。
步骤4—动态延迟同步策略:
如图4为本发明动态延迟同步策略的示意图。本发明采用动态延迟同步策略避免异构集群节点性能的不同,每个节点首先采用异步训练,即完成一次迭代任务后并不直接上传参数梯度给参数服务器,而是将参数梯度累计,并使该节点的迭代计数器加1后发送给参数服务器,在参数服务器上设置一个节点空闲队列,用来判断计算节点是否处于上传完计数器或梯度后的空闲时间,从而快速分派新的迭代任务,当训练数最多的计算节点与训练数最少的计算节点之间相差s次迭代或者训练数最少的计算节点完成w次迭代的时候,使用同步栅栏将所有计算节点的参数梯度发送给参数服务器。
步骤5—模型参数更新:
在参数服务器上计算出节点计算器最大差值达到s时,参数服务器上对应各个计算节点的线程向计算节点发送信号,要求上传参数梯度。各计算节点上传参数到各对应线程后,这些线程将这些参数梯度存储到一个数组中,并在完成上传后通知专门处理梯度求和的线程,该线程处理所有上传的梯度,并将得出的值用于模型参数更新。模型参数更新后,该线程发送通知给计算节点对应线程,各个计算节点线程将更新后的模型参数发送给各个计算节点,从而完成此次更新。如此循环,直到训练完成。
Claims (5)
1.一种面向分布式机器学习的参数通信优化方法,其特征在于该方法包括以下步骤:
步骤1:采用参数服务器系统,将集群中的一个节点设置为参数服务器,其它节点设置为计算节点;
步骤2:采用数据并行策略,每个计算节点拥有完整的模型,参数服务器用来接收、更新、发送模型参数;
步骤3:将完整训练集发送给各个计算节点,根据计算节点的序号划分训练集,确保每个计算节点训练集不同,并计算模型的参数梯度;
步骤4:采用动态延迟同步并行策略,具体是:每个节点采用异步训练,即完成一次迭代任务后并不直接上传参数梯度给参数服务器,而是将参数梯度累计,当训练数最多的计算节点与训练数最少的计算节点之间相差s次迭代或者训练数最少的计算节点完成w次迭代的时候,使用同步栅栏将所有计算节点的参数梯度发送给参数服务器;
步骤5:参数服务器接收到参数梯度后,将这些梯度累加,进行模型参数更新,得到新的模型参数;
步骤6:参数服务器将模型参数广播给各个计算节点,各个计算节点继续进行训练,直到模型训练终止。
2.根据权利要求1所述的一种面向分布式机器学习的参数通信优化方法,其特征在于:在步骤1中,采用多线程方式实现参数服务器,每个线程对应一个计算节点,用来专门处理该计算节点所计算梯度的收发;并另设一个线程用来专门处理上述线程的梯度的求和,以及模型参数的更新与广播。
3.根据权利要求1所述的一种面向分布式机器学习的参数通信优化方法,其特征在于:在步骤1中,参数服务器上设置一个节点空闲队列,用来判断计算节点是否处于上传完梯度后的空闲时间,从而快速分派新的迭代任务。
4.根据权利要求1所述的一种面向分布式机器学习的参数通信优化方法,其特征在于:在步骤3中,采用Lightning Memory-Mapped Database存储引擎,无需多次发送数据集,支持多个模型同时读取一个数据集,每个计算节点可根据需要读取数据。
5.根据权利要求1所述的一种面向分布式机器学习的参数通信优化方法,其特征在于:在步骤4中,各个计算节点采用异步的方式进行训练,并且设置计数器,每完成一次迭代任务便将计数器上传到参数服务器,在参数服务器中进行差值s和最低值w的计算,从而控制延迟同步跨度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911197591.5A CN111027708A (zh) | 2019-11-29 | 2019-11-29 | 一种面向分布式机器学习的参数通信优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911197591.5A CN111027708A (zh) | 2019-11-29 | 2019-11-29 | 一种面向分布式机器学习的参数通信优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111027708A true CN111027708A (zh) | 2020-04-17 |
Family
ID=70203283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911197591.5A Withdrawn CN111027708A (zh) | 2019-11-29 | 2019-11-29 | 一种面向分布式机器学习的参数通信优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111027708A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753997A (zh) * | 2020-06-28 | 2020-10-09 | 北京百度网讯科技有限公司 | 分布式训练方法、系统、设备及存储介质 |
CN111818570A (zh) * | 2020-07-25 | 2020-10-23 | 清华大学 | 一种面向真实网络环境的智能拥塞控制方法及系统 |
CN111882060A (zh) * | 2020-07-20 | 2020-11-03 | 中国人民解放军国防科技大学 | 用于机器学习的单步延迟随机梯度下降训练方法 |
CN112001501A (zh) * | 2020-08-14 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种ai分布式训练系统的参数更新方法、装置、设备 |
CN112070271A (zh) * | 2020-08-07 | 2020-12-11 | 北京电子工程总体研究所 | 动态变化条件下互联资源的容错栅栏覆盖配置方法和系统 |
CN112862088A (zh) * | 2021-01-18 | 2021-05-28 | 中山大学 | 一种基于流水线环形参数通信的分布式深度学习方法 |
WO2021136065A1 (zh) * | 2019-12-30 | 2021-07-08 | 中兴通讯股份有限公司 | 深度学习方法、装置、网络设备和可读存储介质 |
CN113485805A (zh) * | 2021-07-01 | 2021-10-08 | 曙光信息产业(北京)有限公司 | 基于异构加速平台的分布式计算调整方法、装置及设备 |
CN114819321A (zh) * | 2022-04-18 | 2022-07-29 | 郑州大学 | 一种面向分布式机器学习的参数传输通信优化方法 |
WO2022160604A1 (en) * | 2021-01-28 | 2022-08-04 | Huawei Technologies Co., Ltd. | Servers, methods and systems for second order federated learning |
CN117115825A (zh) * | 2023-10-23 | 2023-11-24 | 深圳市上融科技有限公司 | 一种提高证照ocr识别率的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107018184A (zh) * | 2017-03-28 | 2017-08-04 | 华中科技大学 | 分布式深度神经网络集群分组同步优化方法及系统 |
US20190171604A1 (en) * | 2017-10-31 | 2019-06-06 | Micron Technology, Inc. | System Having a Hybrid Threading Processor, a Hybrid Threading Fabric Having Configurable Computing Elements, and a Hybrid Interconnection Network |
CN110084378A (zh) * | 2019-05-07 | 2019-08-02 | 南京大学 | 一种基于本地学习策略的分布式机器学习方法 |
-
2019
- 2019-11-29 CN CN201911197591.5A patent/CN111027708A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107018184A (zh) * | 2017-03-28 | 2017-08-04 | 华中科技大学 | 分布式深度神经网络集群分组同步优化方法及系统 |
US20190171604A1 (en) * | 2017-10-31 | 2019-06-06 | Micron Technology, Inc. | System Having a Hybrid Threading Processor, a Hybrid Threading Fabric Having Configurable Computing Elements, and a Hybrid Interconnection Network |
CN110084378A (zh) * | 2019-05-07 | 2019-08-02 | 南京大学 | 一种基于本地学习策略的分布式机器学习方法 |
Non-Patent Citations (1)
Title |
---|
屠杭镝: "面向分布式机器学习的通信动态调优技术研究" * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021136065A1 (zh) * | 2019-12-30 | 2021-07-08 | 中兴通讯股份有限公司 | 深度学习方法、装置、网络设备和可读存储介质 |
CN111753997A (zh) * | 2020-06-28 | 2020-10-09 | 北京百度网讯科技有限公司 | 分布式训练方法、系统、设备及存储介质 |
CN111753997B (zh) * | 2020-06-28 | 2021-08-27 | 北京百度网讯科技有限公司 | 分布式训练方法、系统、设备及存储介质 |
CN111882060A (zh) * | 2020-07-20 | 2020-11-03 | 中国人民解放军国防科技大学 | 用于机器学习的单步延迟随机梯度下降训练方法 |
CN111818570B (zh) * | 2020-07-25 | 2022-04-01 | 清华大学 | 一种面向真实网络环境的智能拥塞控制方法及系统 |
CN111818570A (zh) * | 2020-07-25 | 2020-10-23 | 清华大学 | 一种面向真实网络环境的智能拥塞控制方法及系统 |
CN112070271B (zh) * | 2020-08-07 | 2024-05-31 | 北京电子工程总体研究所 | 动态变化条件下互联资源的容错栅栏覆盖配置方法和系统 |
CN112070271A (zh) * | 2020-08-07 | 2020-12-11 | 北京电子工程总体研究所 | 动态变化条件下互联资源的容错栅栏覆盖配置方法和系统 |
CN112001501B (zh) * | 2020-08-14 | 2022-12-23 | 苏州浪潮智能科技有限公司 | 一种ai分布式训练系统的参数更新方法、装置、设备 |
CN112001501A (zh) * | 2020-08-14 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种ai分布式训练系统的参数更新方法、装置、设备 |
CN112862088A (zh) * | 2021-01-18 | 2021-05-28 | 中山大学 | 一种基于流水线环形参数通信的分布式深度学习方法 |
CN112862088B (zh) * | 2021-01-18 | 2023-11-07 | 中山大学 | 一种基于流水线环形参数通信的分布式深度学习方法 |
WO2022160604A1 (en) * | 2021-01-28 | 2022-08-04 | Huawei Technologies Co., Ltd. | Servers, methods and systems for second order federated learning |
CN113485805A (zh) * | 2021-07-01 | 2021-10-08 | 曙光信息产业(北京)有限公司 | 基于异构加速平台的分布式计算调整方法、装置及设备 |
CN113485805B (zh) * | 2021-07-01 | 2024-02-06 | 中科曙光(南京)计算技术有限公司 | 基于异构加速平台的分布式计算调整方法、装置及设备 |
CN114819321A (zh) * | 2022-04-18 | 2022-07-29 | 郑州大学 | 一种面向分布式机器学习的参数传输通信优化方法 |
CN114819321B (zh) * | 2022-04-18 | 2023-04-07 | 郑州大学 | 一种面向分布式机器学习的参数传输通信优化方法 |
CN117115825A (zh) * | 2023-10-23 | 2023-11-24 | 深圳市上融科技有限公司 | 一种提高证照ocr识别率的方法 |
CN117115825B (zh) * | 2023-10-23 | 2024-01-26 | 深圳市上融科技有限公司 | 一种提高证照ocr识别率的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111027708A (zh) | 一种面向分布式机器学习的参数通信优化方法 | |
US10204140B2 (en) | Massively parallel and in-memory execution of grouping and aggregation in a heterogeneous system | |
Zhao et al. | Dynamic stale synchronous parallel distributed training for deep learning | |
CN114756383B (zh) | 一种分布式计算方法、系统、设备及存储介质 | |
Ding et al. | Improving optimistic concurrency control through transaction batching and operation reordering | |
US9229983B2 (en) | System-wide query optimization | |
CN111079921A (zh) | 一种基于异构分布式系统的高效神经网络训练调度方法 | |
CN108810115B (zh) | 一种适用于分布式数据库的负载均衡方法、装置及服务器 | |
Zhan et al. | Pipe-torch: Pipeline-based distributed deep learning in a gpu cluster with heterogeneous networking | |
CN105468439A (zh) | 在cpu-gpu异构框架下遍历固定半径内邻居的自适应并行算法 | |
CN104243617A (zh) | 一种异构集群中面向混合负载的任务调度方法及系统 | |
CN115237580B (zh) | 面向智能计算的流水并行训练自适应调整系统、方法 | |
CN111597230A (zh) | 基于MapReduce的并行密度聚类挖掘方法 | |
CN110888744B (zh) | 一种基于工作量自动调优的负载均衡方法 | |
US20210390405A1 (en) | Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof | |
CN108897625B (zh) | 基于dag模型的并行调度方法 | |
CN111176831A (zh) | 基于多线程共享内存通信的动态线程映射优化方法及装置 | |
CN102722653B (zh) | 一种基于MapReduce的射线跟踪加速算法 | |
Chen et al. | MRSIM: mitigating reducer skew In MapReduce | |
CN116663639A (zh) | 一种梯度数据同步方法、系统、装置及介质 | |
CN116303219A (zh) | 一种网格文件的获取方法、装置及电子设备 | |
CN107967335B (zh) | 一种分布式sql处理方法及系统 | |
CN105335226B (zh) | 针对多处理器系统的迭代式静态任务列表调度方法 | |
CN115034634A (zh) | 一种基于贪婪算法的相控阵雷达资源调度管理方法 | |
Lei et al. | Redoop: Supporting Recurring Queries in Hadoop. |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200417 |