[发明专利]一种适用于分布式机器学习的参数同步优化方法及其系统有效
申请号: | 201510117746.5 | 申请日: | 2015-03-17 |
公开(公告)号: | CN104714852B | 公开(公告)日: | 2018-05-22 |
发明(设计)人: | 廖小飞;王思远;范学鹏;金海;姚琼杰 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/50 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 曹葆青 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 分布式 机器 学习 参数 同步 优化 方法 及其 系统 | ||
本发明提供了一种适用于分布式机器学习的参数同步优化方法及其系统,使用参数服务器分布式方式实现的机器学习算法,解决现有算法在参数同步过程中的瓶颈。本发明系统包括参数服务器端的资源监控和分配模块、参数维护模块,各工作节点的服务器资源请求模块、参数同步时间间隔控制模块、未同步时间累计模块、参数计算模块和参数同步模块。本发明通过监控参数服务器资源占用情况,为不同工作节点选取不同同步时间间隔来避免请求突发情况,同时保证选取的时间间隔能够同时满足降低通信频率和确保训练准确率,以有效解决现有分布式机器学习系统在参数同步过程中所面临的瓶颈问题。
技术领域
本发明属于分布式计算和机器学习交叉技术领域,具体涉及一种适用于分布式机器学习的参数同步优化方法及其系统。
背景技术
随着大数据时代的到来,机器学习算法尤其是适用于大规模数据的深度学习算法正得到越来越广泛的关注和应用,包括语音识别、图像识别以及自然语言处理等。然而,随着输入训练数据(机器学习中用于求解神经网络模型的一类数据)和神经网络模型的增大,单节点进行机器学习训练存在内存限制以及数周甚至数月的训练耗时等问题,分布式机器学习应运而生。分布式机器学习在工业界和学术界都收到普遍的关注,如:Google利用DistBelief分布式系统训练出了猫脸识别模型,UC Berkeley AMP实验室开源了一个可适用于机器学习算法的类Hadoop MapReduce的分布式计算系统Spark。机器学习分布式化的主要目的在于:1.解决单个计算节点内存不足,以保证能够处理TB级及以上的数据量;2.利用并行加速算法模型训练,将原有数月的训练时间缩短为周或者数天。
典型的机器学习分布式系统为参数服务器系统(本文中所述参数指的是机器学习中用于建立神经网络模型的矩阵变量),该系统包括一个(或多个)主节点作为参数服务器节点,多个从节点作为工作节点。参数服务器节点负责维护和更新全局共享参数;工作节点保存一部分输入训练数据,利用该训练数据计算新的模型参数,并且及时和参数服务器同步最新参数。分布式机器学习常用算法——并行Stochastic Gradient Descent(随机梯度下降,简称SGD)算法的一个完整训练步包括4个子步骤:
1.工作节点从参数服务器节点拉取最新参数副本。
2.工作节点从本地训练数据中取出一批(batch,表示一个完整实体的用于训练的输入数据矩阵称为一组,一批可能是一组或者多组)新的数据,进行计算,得到新的参数梯度(本文所述参数梯度指的是用于更新参数矩阵的差值)。
3.工作节点将新计算的参数梯度推送给参数服务器。
4.参数服务器利用参数梯度计算更新参数。
上述中的步骤2和步骤4,是为得到最终模型参数的两个关键步骤,步骤1和步骤3可以根据需求不在完整训练步中出现。虽然参数服务器系统能够利用分布式训练的方式减少训练时间(训练时间包括基本的模型参数计算、更新的时间和参数同步时间两个部分),但是如上训练的步骤1即拉取最新参数和步骤3即推送参数梯度(这两个步骤统称为参数同步动作)是整个分布式训练中的瓶颈:对于需要进行分布式训练的大规模算法模型,其需要进行同步的参数矩阵和参数梯度矩阵的大小正比于该算法的神经网络大小(甚至可能接近内存大小),因此进行参数同步的时间,受制于网络带宽、服务器内存、CPU使用等诸多条件,成为分布式训练中的巨大瓶颈。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510117746.5/2.html,转载请声明来源钻瓜专利网。