模型训练方法、服务器和计算机可读存储介质技术

技术编号:21891586 阅读:86 留言:0更新日期:2019-08-17 14:23
本发明专利技术公开了一种模型训练方法、服务器和计算机可读存储介质,属于人工智能计算领域。其中,该方法包括:接收到训练作业后,获取作业信息;将模型复制到每个GPU,并同步每个GPU的模型参数的初始值;每次迭代提取一部分样本数据,将提取的样本数据拆分后分发给不同的GPU进行训练,对所有GPU的训练得到的参数梯度进行全局规约操作,并在各GPU上根据规约之后的参数梯度更新所述模型参数;完成迭代次数的迭代后,选择任意一个GPU的模型参数保存为模型训练结果。本发明专利技术通过充分利用GPU‑GPU高速数据传输带宽,消除计算节点间的带宽瓶颈和计算能力瓶颈,从而提高模型在GPU集群上的同步训练效率和加速比。

Model Training Method, Server and Computer Readable Storage Media

【技术实现步骤摘要】
模型训练方法、服务器和计算机可读存储介质
本专利技术涉及人工智能计算领域,特别涉及一种模型训练方法、服务器和计算机可读存储介质。
技术介绍
深度学习模型的训练需要消耗庞大的计算资源,完成一次训练的耗时可达数天乃至数月。为加快模型训练,往往需要使用大规模GPU(GraphicProcessingUnit,图形处理器)集群进行并行训练,同时,深度学习训练任务常采用一些并行算法将训练任务分配到多个计算节点上同时运行,其中包括数据并行和模型并行两大类并行算法,以数据并行较为常用。在数据并行算法中,如图1所示,通常使用PS-Worker(ParameterServer-Worker,参数服务器-计算节点)架构部署在GPU集群上,其中PS用于存储模型参数,Worker持有CPU、GPU资源并负责模型训练计算任务,PS与Worker间以及各Worker之间常需进行大数据量交互,主要包括:每个深度学习的迭代中,每个Worker与PS间都需要完成一次参数梯度传输和参数的更新。由于交互数据量很大,PS-Worker间带宽和CPU处理能力常因此成为瓶颈,Worker上的GPU的强大并行计算能力无从发挥,导致系统加速比低、可扩展性差,硬件资源浪费。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种模型训练方法、装置、服务器和存储介质。以在不增加硬件投资的前提下,消除计算节点间的带宽瓶颈和计算能力瓶颈,从而提高模型训练加速比。本专利技术解决上述技术问题所采用的技术方案如下:根据本专利技术的一个方面,提供的一种模型训练方法包括:接收到训练作业后,获取作业信息;其中,所述作业信息包括模型、样本数据和迭代次数;将所述模型复制到每个GPU,并同步所述每个GPU的模型参数的初始值;每次迭代提取一部分样本数据,将所述提取的样本数据拆分后分发给不同的GPU进行训练,对所有GPU的训练得到的参数梯度进行全局规约操作,并在各GPU上根据规约之后的参数梯度更新所述模型参数;完成所述迭代次数的迭代后,选择任意一个GPU的模型参数保存为模型训练结果。根据本专利技术的另一个方面,提供的一种模型训练服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述模型训练方法的步骤。根据本专利技术的又一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述模型训练方法的步骤。本专利技术实施例提供的模型训练方法、服务器和计算机可读存储介质,在不显著增加硬件投资的前提下,通过优化系统部署和算法,充分利用GPU-GPU高速数据传输带宽,减少CPU-GPU间通讯需求,消除计算节点间的带宽瓶颈和计算能力瓶颈,从而提高模型训练加速比。附图说明图1为本专利技术相关技术中PS-Worker分布式系统的架构示意图;图2为本专利技术实施例提供的一种无PS的分布式训练系统的架构示意图;图3为本专利技术实施例提供的模型训练方法的流程图;图4为本专利技术实施例提供的一种聚合优化的全局规约方法的流程图;图5为本专利技术实施例提供的一种分组全局规约方法的流程图;图6为本专利技术实施例提供的一种分组多级全局规约方法的流程图;图7为本专利技术实施例提供的一种GPU加速的全局规约方法的流程图;图8为本专利技术优选实施例提供的一种优选的模型训练方法的流程图;图9为本专利技术实施例提供的一种模型训练装置的模块结构图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅以解释本专利技术,并不用于限定本专利技术。如图2所示,本专利技术实施例提供的分布式模型训练系统对图1的PS-Worker架构进行了优化部署。PS-Worker架构部署在GPU集群上,其中PS用于存储模型参数,Worker持有CPU、GPU资源并负责模型训练计算任务,PS与Worker间以及各Worker之间常需进行大数据量交互,主要包括:每个深度学习的迭代中,每个Worker与PS间都需要完成一次参数梯度传输和参数的更新。各个节点间、节点内通讯可能经过NVLink、PCIe((PeripheralComponentInterconnect-Express,外部设备互连总线)、IB(InfiniBand,无限带宽技术)、ETH(Ethernet网线)等多种传输媒介,NVLink(NVLinkTM,英伟达公司GPU间告诉互联网络)是英伟达公司开发的一种高带宽的互联技术,能够在CPU-GPU和GPU-GPU之间实现超高速的数据传输。这项技术的数据传输速度是传统PCIe3.0速度的5到12倍。由于交互数据量很大,PS-Worker间带宽和CPU处理能力常因此成为瓶颈,Worker上的GPU的强大并行计算能力无从发挥,导致系统加速比低、可扩展性差,硬件资源浪费。优化部署后的无PS分布式模型训练系统,节点内GPU间采用带宽较高媒介(比如NVLink/PCIe),去除了中心化PS,训练初始化时在每一个GPU上复制一个参数副本,各GPU上的模型就近引用模型参数。充分利用了GPU-GPU高速数据传输带宽,避免了PS-Worker之间的进程间通信开销,减少了GPU-CPU之间的数据传输开销,从而提升了并行训练效率。基于上述分布式训练系统架构,提出本专利技术方法各个实施例。实施例一如图3所示,本专利技术实施例提供一种模型训练方法,该方法包括:S301、接收到训练作业后,获取作业信息;其中,作业信息包括模型、样本数据和迭代次数。具体的,任务管理系统接收到用户提交的训练作业后,从中提取作业信息。作业信息可以包含深度学习的模型、样本数据、资源需求和训练迭代次数等信息。其中,模型一般形式是计算机编程语言写成的程序代码,训练系统是指管理GPU集群和通用训练平台(如矩阵数组Tensorflow、caffe2等)的任务管理系统。S302、将模型复制到每个GPU,并同步每个GPU的模型参数的初始值。具体的,训练系统为用户作业分配软硬件资源,主要包括CPU、GPU等计算资源,将模型复制到每个GPU,并开辟单独显存空间保存一套完整的模型参数,使得每块GPU的显存上都保存完整参数集副本。其中,模型可以是保持在GPU集群服务器可以访问到的NFS(网络文件服务器)上,也可以是GPU集群服务器本地硬盘上,由训练管理系统从预设的路径复制到上述NFS或本地硬盘,再由训练任务读取、复制到GPU上。同步每个GPU的模型参数的初始值可以通过参数同步消息将其中一个GPU的模型参数的初始值同步到其他GPU上。其中,参数同步消息包括但不限于:MPI(Message-Passing-Interface,接口传递)消息、IPC通信进程消息或NVLink消息。如果预设了哪个GPU的模型参数作为初始化值,则将预设的GPU中的模型参数同步到其他GPU,如果没有预设,则可以将第1个GPU的模型参数复制到其他GPU。S303、每次迭代提取一部分样本数据,将提取的样本数据拆分后分发给不同的GPU进行训练,对所有GPU训练得到的参数梯度进行全局规约操作,并在各GPU上根据规约之后的参数梯本文档来自技高网...

【技术保护点】
1.一种模型训练方法,其特征在于,该方法包括:接收到训练作业后,获取作业信息;其中,所述作业信息包括模型、样本数据和迭代次数;将所述模型复制到每个图形处理器GPU,并同步所述每个GPU的模型参数的初始值;每次迭代提取一部分样本数据,将所述提取的样本数据拆分后分发给不同的GPU进行训练,对所有GPU训练得到的参数梯度进行全局规约操作,并在各GPU上根据规约之后的参数梯度更新所述模型参数;完成所述迭代次数的迭代后,选择任意一个GPU的模型参数保存为模型训练结果。

【技术特征摘要】
1.一种模型训练方法,其特征在于,该方法包括:接收到训练作业后,获取作业信息;其中,所述作业信息包括模型、样本数据和迭代次数;将所述模型复制到每个图形处理器GPU,并同步所述每个GPU的模型参数的初始值;每次迭代提取一部分样本数据,将所述提取的样本数据拆分后分发给不同的GPU进行训练,对所有GPU训练得到的参数梯度进行全局规约操作,并在各GPU上根据规约之后的参数梯度更新所述模型参数;完成所述迭代次数的迭代后,选择任意一个GPU的模型参数保存为模型训练结果。2.根据权利要求1所述的模型训练方法,其特征在于,所述同步所述每个GPU的模型参数的初始值包括:通过参数同步消息将其中一个GPU的模型参数的初始值同步到其他GPU上。3.根据权利要求1所述的模型训练方法,其特征在于,其特征在于,所述对所有GPU训练得到的参数梯度进行全局规约操作,并在各GPU上根据规约之后的参数梯度更新所述模型参数包括:所有GPU均按照相同的顺序,将参数梯度的多维矩阵数组前后连接为连续存储的至少一个一维矩阵数组,并按顺序保存参数梯度多维矩阵数组的尺寸信息;对合并后的所述一维矩阵数组逐个进行全局规约操作;所有GPU各自根据参数梯度多维矩阵数组的尺寸信息,将全局规约后的所述一维矩阵数组恢复为原始尺寸的多维矩阵数组;所有GPU各自根据恢复后的参数梯度多维矩阵数组更新各自的模型参数。4.根据权利要求1所述的模型训练方法,其特征在于,所述对所有GPU的训练得到的参数梯度进行全局规约操作,并在各GPU上根据规约之后的参数梯度更新所述模型参数包括:根据预设的分组规则将所有GPU划分为多个规约组;对各GPU在多个所述规约组内进行组内的全局规约操作,并从每一个所述规约组内推选至少一个GPU作为规约组的代表GPU;对各规约组的代表GPU之间进行组间的全局规约操作;各代表GPU将组间的全局规约之后的参数梯度向组内其他GPU进行广播。5.根据权利要求4所述...

【专利技术属性】
技术研发人员:戎海栋
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1