当前位置: 首页 > 专利查询>中山大学专利>正文

一种去中心化的参数服务器优化算法制造技术

技术编号:20824839 阅读:19 留言:0更新日期:2019-04-10 07:14
本发明专利技术公开了一种去中心化的参数服务器优化算法,将现有技术中的中心化参数服务器算法中的参数服务器去掉,把原来参数服务器的工作线程分散到每个工作节点中,进行模型训练时,采用随机梯度下降算法进行多次迭代的参数更新。迭代过程为首先采用前向传播和反向传播进行每个工作节点的梯度计算,然后每个工作节点根据分配的参数服务器的工作线程负责的部分模型设定的网络层的梯度的收集并利用随机梯度下降算法进行参数更新,最后将所有工作节点的更新的参数取出构成全局网络模型的参数,进行多次迭代后完成模型训练。

【技术实现步骤摘要】
一种去中心化的参数服务器优化算法
本专利技术涉及深度学习
,更具体的说是涉及一种去中心化的参数服务器优化算法。
技术介绍
目前,分布式深度学习框架中常进行基于参数服务器的异步数据并行的模型训练,但是随着网络规模的不同和硬件带宽等限制,训练过程经常会出现更新停止和通信等待的问题,因为无论是单参数服务器还是分级参数服务器的设计,整个通信网络的通信量和利用梯度更新模型的计算量都集中在参数服务器节点上,通信量集中在通信网络中心、特定时期的计算量也集中在通信网络的中心,造成了参数服务器节点的通信阻塞,工作节点的计算停等,进一步造成了工作节点的CPU空载和带宽空载,降低了整个通信网络的训练效率。而随着网络规模和并行度的增加,硬件带宽若不能有同等比例的提升,则通信阻塞和CPU空载、带宽浪费的瓶颈还会进一步加重。因此,如何避免分布式深度学习的模型训练中的通信阻塞和环节由于通信停等带来的CPU空载和带宽浪费是本领域技术人员亟需解决的问题。
技术实现思路
有鉴于此,本专利技术提供了一种去中心化的参数服务器优化算法,区别于传统的中心化参数服务器算法,将传统中心化参数服务器算法的参数服务器的工作线程平均分配到每个工作节点中,根据每一个工作节点中分配的参数服务器的工作线程负责的部分模型设定的网络层,收集部分网络层的梯度,更新计算这一部分网络的参数,最后将每一个工作节点的参数进行汇总得到全局网络模型的更新后的参数,如此进行多次迭代后完成模型训练。为了实现上述目的,本专利技术采用如下技术方案:一种去中心化的参数服务器优化算法,包括如下具体步骤:步骤1:将需要进行训练的数据集分割成n个块,将每个单独的所述块分配给一个特定的工作节点;步骤2:每个所述工作节点从所分配到的块中采样模型训练数据用于训练所述工作节点的本地模型;步骤3:将全局网络模型平均分成n个部分模型分配给每个所述工作节点,为每个所述工作节点分配一个参数服务器线程,所述参数服务器线程负责所述部分模型的维护和更新,每个所述工作节点根据所述参数服务器线程同时采用迭代法和随机梯度下降法进行所述工作节点参数更新计算;其中所述工作节点参数更新的具体步骤如下:步骤31:首先对所述本地工作节点进行初始化:设置网络参数初始值W;设置迭代次数K;设置初始学习率e和学习策略;设置所述参数服务器线程,即所述部分模型的网络层序号;所述本地工作节点根据模型定义文件生成初始所述本地模型;步骤32:在所述本地工作节点的本地数据集中随机抽取用于迭代的数据;步骤33:所述本地模型根据所述数据生成标签,所述本地工作节点根据所述数据采用前向传播进行标签预测得到预测结果,所述标签与所述预测结果进行比较获得误差,采用反向传播将误差进行回传得到所述本地工作节点梯度u;步骤34:所述本地工作节点收集所述参数服务器线程负责的所述部分模型对应的所述梯度u并进行参数更新计算,得到更新参数,并将所述更新参数回传至收集的所述梯度u对应的所述工作节点中,所述本地工作节点得到本地更新参数;步骤4:将所有所述工作节点中的所述本地更新参数整合成全局网络模型参数;步骤5:判断是否完成K次迭代,如果否则再次进入步骤32,如果是则完成本地模型训练。优选的,步骤34的具体计算过程如下:步骤341:根据所述梯度和所述全局网络模型的对应关系将所述梯度u拆分成包括多个小节梯度u’的梯度数组;步骤342:所述本地工作节点收集所述参数服务器线程负责的所述部分模型对应的不同所述工作节点的所述小节梯度u’,并根据Wi+1=Wi-e*u’计算出所述部分模型的更新参数Wi+1,Wi为本次迭代更新参数;步骤343:根据收集的所述小节梯度u’,将所述更新参数Wi+1传回至所述小节梯度u’对应的所述工作节点,所述本地工作节点将接收的所述更新参数Wi+1拼接成本地更新参数。优选的,根据整个网络的层数和每层数据量分配每个所述工作节点中的所述参数服务器线程负责汇总的层序号。优选的,所述参数服务器线程持续监听并收集对应负责的所述部分网络层的梯度并进行更新参数计算,将所述更新参数回传至所述参数服务器线程对应的所述工作节点。经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种去中心化的参数服务器优化算法,将传统的中心化参数服务器算法中的中心参数服务器去掉,将中心参数服务器的工作线程平均分配到每个工作节点中,利用迭代算法和下降梯度算法在每一个工作节点中根据参数服务器的工作线程更新计算部分网络的参数,并将更新的参数回传至参数更新计算中应用到的梯度对应的工作节点中,取出每个工作节点的参数进行汇总得到全局网络模型参数,如此进行多次迭代后得到训练模型。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1附图为本专利技术提供的一种去中心化的参数服务器优化算法流程结构示意图;图2附图为本专利技术提供的工作节点通讯结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种去中心化的参数服务器优化算法,包括如下具体步骤:S1:将需要进行训练的数据集分割成n个块,将每个单独的块分配给一个特定的工作节点;S2:每个工作节点从所分配到的块中采样模型训练数据用于训练工作节点的本地模型;S3:将全局网络模型平均分成n个部分模型分配给每个工作节点,为每个工作节点分配一个参数服务器线程,参数服务器线程负责部分模型的维护和更新,每个工作节点根据参数服务器线程同时采用迭代法和随机梯度下降法进行工作节点参数更新计算;其中工作节点参数更新的具体步骤如下:S31:首先对本地工作节点进行初始化:设置网络参数初始值W;设置迭代次数K;设置初始学习率e和学习策略;设置参数服务器线程,即部分模型的网络层序号;本地工作节点根据模型定义文件生成初始本地模型,各工作节点进行一次模型同步;S32:在本地工作节点的本地数据集中随机抽取用于迭代的数据;S33:本地模型根据数据生成标签,本地工作节点根据数据采用前向传播进行标签预测得到预测结果,标签与预测结果进行比较获得误差,采用反向传播将误差进行回传得到本地工作节点梯度u;S34:本地工作节点收集参数服务器线程负责的部分模型对应的梯度u并进行参数更新计算,得到更新参数,并将更新参数回传至收集的梯度u对应的工作节点中,本地工作节点得到本地更新参数;S4:将所有工作节点中的本地更新参数整合成全局网络模型参数;S5:判断是否完成K次迭代,如果否则再次进入步骤32,如果是则完成本地模型训练。为了进一步优化上述技术方案,S34的具体计算过程如下:S341:根据梯度和全局网络模型的对应关系将梯度u拆分成包括多个小节梯度u’的梯度数组;S342:本地工作节点收集参数服务器线程负责的部分模型对应的不同工作节点的小节梯度u’,并根据Wi+1=Wi-e*本文档来自技高网...

【技术保护点】
1.一种去中心化的参数服务器优化算法,其特征在于,包括如下具体步骤:步骤1:将需要进行训练的数据集分割成n个块,将每个单独的所述块分配给一个工作节点;步骤2:每个所述工作节点从所分配到的块中采样模型训练数据用于训练所述工作节点的本地模型;步骤3:将全局网络模型平均分成n个部分模型分配给每个所述工作节点,为每个所述工作节点分配一个参数服务器线程,所述参数服务器线程负责所述部分模型的维护和更新,每个所述工作节点根据所述参数服务器线程同时采用迭代法和随机梯度下降法进行所述工作节点参数更新计算;其中所述工作节点参数更新的具体步骤如下:步骤31:首先对所述本地工作节点进行初始化:设置网络参数初始值W;设置迭代次数K;设置初始学习率e和学习策略;设置所述参数服务器线程,即所述部分模型的网络层序号;所述本地工作节点根据模型定义文件生成初始所述本地模型;步骤32:在所述本地工作节点的本地数据集中随机抽取用于迭代的数据;步骤33:所述本地模型根据所述数据生成标签,所述本地工作节点根据所述数据采用前向传播进行标签预测得到预测结果,所述标签与所述预测结果进行比较获得误差,采用反向传播将误差进行回传得到所述本地工作节点梯度;步骤34:所述本地工作节点收集所述参数服务器线程负责的所述部分模型对应的所述梯度并进行参数更新计算,得到更新参数,并将所述更新参数回传至收集的所述梯度对应的所述工作节点中,所述本地工作节点得到本地更新参数;步骤4:将所有所述工作节点中的所述本地更新参数整合成全局网络模型参数;步骤5:判断是否完成K次迭代,如果否则再次进入步骤32,如果是则完成本地模型训练。...

【技术特征摘要】
1.一种去中心化的参数服务器优化算法,其特征在于,包括如下具体步骤:步骤1:将需要进行训练的数据集分割成n个块,将每个单独的所述块分配给一个工作节点;步骤2:每个所述工作节点从所分配到的块中采样模型训练数据用于训练所述工作节点的本地模型;步骤3:将全局网络模型平均分成n个部分模型分配给每个所述工作节点,为每个所述工作节点分配一个参数服务器线程,所述参数服务器线程负责所述部分模型的维护和更新,每个所述工作节点根据所述参数服务器线程同时采用迭代法和随机梯度下降法进行所述工作节点参数更新计算;其中所述工作节点参数更新的具体步骤如下:步骤31:首先对所述本地工作节点进行初始化:设置网络参数初始值W;设置迭代次数K;设置初始学习率e和学习策略;设置所述参数服务器线程,即所述部分模型的网络层序号;所述本地工作节点根据模型定义文件生成初始所述本地模型;步骤32:在所述本地工作节点的本地数据集中随机抽取用于迭代的数据;步骤33:所述本地模型根据所述数据生成标签,所述本地工作节点根据所述数据采用前向传播进行标签预测得到预测结果,所述标签与所述预测结果进行比较获得误差,采用反向传播将误差进行回传得到所述本地工作节点梯度;步骤34:所述本地工作节点收集所述参数服务器线程负责的所述部分模型对应的所述梯度并进行参数更新计算,得...

【专利技术属性】
技术研发人员:李欣鑫吴维刚
申请(专利权)人:中山大学
类型:发明
国别省市:广东,44

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

1