【技术实现步骤摘要】
基于NDN的PS架构分布式机器学习训练系统数据传输方法
[0001]本专利技术涉及一种分布式机器学习训练系统中的数据传输方法,尤其涉及一种基于NDN(Named Data Networking,命名数据网络)的PS(Parameter Server,参数服务器)架构下的分布式机器学习训练系统中的数据传输方法,属于分布式机器学习
技术介绍
[0002]分布式机器学习训练系统,利用多个图形处理器(Graphics Processing Unit,GPU)进行模型并行训练,从而加速模型训练的速度。在分布式机器学习训练系统中,训练样本被分为多份,每一份样本由训练系统中的一个GPU所持有,训练会进行多轮,直至训练出的模型达到精度要求。每轮训练包含三个步骤:首先,训练系统中的每一个GPU使用其持有的部分样本完成一次训练,获得该轮对应的参数梯度;然后,GPU之间交换各自计算所得的参数梯度,并对训练模型进行更新;最后,GPU使用更新后的模型进行下一轮训练。
[0003]在常见的基于PS架构的分布式机器学习训练系统中,由一个 ...
【技术保护点】
【技术特征摘要】
1.基于NDN的PS架构分布式机器学习训练系统数据传输方法,其特征在于,包括以下步骤:步骤1:由网络中的路由器建立持久PIT表结构;PIT,是指PendingInterest Table,待定请求表;所述持久PIT表是以数据名称为键、以上游接口为值的表;步骤2:PS发送任务分配兴趣包,GPU回复任务分配数据包;步骤2.1:当PS有训练任务要交给GPU执行时,以“/GPU名称/PS名称/训练名称”为名称,构建并发送任务分配兴趣包,通知各个GPU执行任务;步骤2.2:当GPU收到任务分配兴趣包时,检查目前是否在进行其它工作,构建并发送以“任务分配兴趣包的名称”为名称,以“是否接受本次训练”为内容的任务分配数据包;步骤2.3:若GPU接受任务,则执行步骤3,否则,结束流程;步骤3:GPU发送训练内容兴趣包,PS回复训练内容数据包;步骤3.1:GPU以“/PS名称/训练名称/GPU名称”为名称,构建并发送训练内容兴趣包向PS请求模型初始化所需数据;步骤3.2:当PS收到训练内容兴趣包时,构建并发送以“训练内容兴趣包的名称”为名称,以“模型初始化所需数据”为内容的训练内容数据包;步骤4:GPU发送分发兴趣包,PS回复分发确认数据包;步骤4.1:GPU以“/*插入*/PS名称/训练名称”为名称,构建并发送分发兴趣包,以便从PS获取模型更新的推送;步骤4.2:GPU与PS之间的路由器接收到分发兴趣包,识别名称前缀“/*插入*/”,提取名称中的“/PS名称/训练名称”,检查其持久PIT表中是否存在以“/PS名称/训练名称”为键的表项,若存在,执行步骤4.2.1,否则,执行步骤4.2.2;步骤4.2.1:路由器在以“/PS名称/训练名称”为键的持久PIT表项的对应值中添加“分发兴趣包的输入接口”;步骤4.2.2:路由器在其持久PIT中添加以“/PS名称/训练名称”为键,以“分发兴趣包的输入接口”为值的表项;步骤4.3:当PS收到分发兴趣包时,以“/*分发*/PS名称/训练名称”为名称,构建并发送内容为“空”的分发确认数据包,以通知GPU其发送的分发兴趣包PS已经接收;步骤4.4:GPU与PS之间的路由器接收到分发确认数据包,识别名称前缀“/*分发*/”,提取出数据包中的“/PS名称/训练名称”,与持久PIT表中的同名表项匹配,并根据表项中记录的接口将分发确认数据包转发至GPU;步骤5:PS发送收集兴趣包,GPU回复收集数据包;步骤5.1:PS估计GPU完成训练的时间,并在GPU预计完成训练的时间以“/GPU名称/PS名称/训练名称/参数版本”为名称,构建并发送收集兴趣包以获得该GPU计算得到的参数梯度;步骤5.2:当GPU收到收集兴趣包时,若已经完成所请求参数的计算,则以“收集兴趣包的名称”为名称,以“计算得到的参数梯度”为内容构建并发送收集数据包;若未完成所请求参数的计算,则等待计算完成后,以“收集兴趣包的名称”为名称,以“计算得到的参数梯度”为内容,构建并发送收集数据包;
步骤5.3:若本次训练为同步训练,执行步骤5.3.1,否则,执行步骤6;步骤5.3.1:当GPU发送收集数据包后,记录发送的收集数据包名称中的“参数版本”,并根据以往“发送收集数据包至收到分发数据包的时间差”的经验,设置试探计时器的时间并开始计时,当试探计时器到期时,执行步骤9;其中,试探计时器用于在分发数据包丢包时允许GPU主动获取更新后的参数;步骤6:PS发送分发数据包;步骤6.1:PS在更新...
【专利技术属性】
技术研发人员:胡晗,欧阳巧琳,刁文澜,安建平,
申请(专利权)人:北京理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。