System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,并且更具体地,涉及一种模型训练的方法和装置。
技术介绍
1、深度神经网络(deep neural network,dnn)通过迭代训练不断优化模型参数,减小模型输出与标签之间的差距,直至模型收敛。其中,为了获得更高的准确度,dnn模型倾向于包含更复杂的结构,模型大小和数据集规模也随之增加,这使得训练dnn模型需要花费很长的时间。而在长时间的训练过程中可能会因语义错误、基础架构故障等影响,导致模型训练发生中断,造成已有的训练结果丢失。为了避免上述问题,引入了在模型训练的过程中引入检查点,定期将模型参数写入固态硬盘以保存模型训练结果,在发生中断时系统可以使用最新保存的检查点恢复训练。但是,为了准确保存模型状态,系统需要暂停当前训练以执行检查点,使得整体训练效率降低。
2、因此,如何增加保存模型训练结果效率,以加快模型训练的速度,减少在模型训练发生中断后读取保存的模型参数并恢复模型参数的时间,是亟需解决的技术问题。
技术实现思路
1、本申请实施例提供一种模型训练的方法和装置,以增加保存模型参数效率,进而加快整体模型训练的速度,并且减少在模型训练发生中断后读取保存的模型参数并恢复模型参数的时间。
2、第一方面,提供了一种模型训练的方法,该方法包括:根据n个第一训练模型的前向传播结果,确定n个第一梯度,该n个第一梯度与n个第一训练模型的前向传播结果一一对应,每个第一梯度是基于所对应的第一训练模型的前向传播结果确定的,其中,n个第一训练模型与dnn的n
3、示例地,上述操作可以通过一种控制器完成,也可以通过一种处理器完成,即上述dnn的训练模型可以部署在分布式图形处理器(graphics processing unit,gpu)中,该分布式gpu由多个单独的gpu构成,每个gpu专用于负责dnn中指定一层的神经网络模型的训练工作,从而神经网络模型训练的过程能够按层调度,即每一层确定模型参数后,即可直接进入到当前层的模型参数的保存,而不同于单点训练框架下,各个层都确定模型参数后,再进行模型参数保存的操作,而单点训练框架下,是一个gpu负责整个dnn模型训练的。由此可见,通过上述方案,能够较早地进入到模型参数保存的操作,从而整体上加快了神经网络模型训练过程中模型参数的保存速度。
4、示例地,上述第一层可以是dnn中的输入层,也可以是dnn隐含层中的一层。
5、示例地,上述根据深度神经网络dnn的第一层中多个节点基于第一训练模型的前向传播结果,确定多个第一梯度的过程可以是神经网络模型训练中的反向传播的过程。即各个节点通过前向传播的输出结果,反过来计算一个梯度值,然后基于这个梯度值再去调节该节点的模型参数,如此往复,直到训练模型的训练结果收敛,使训练模型更为准确地进行计算。
6、应理解,由于dnn的一层中包括多个处理节点,而这些处理节点都对应配置了一个第一训练模型,因此,上述根据n个第一训练模型的前向传播结果,确定n个第一梯度具体代表的是这n个第一训练模型的训练可以是同时进行的,即这n个第一训练模型同步进行训练,并且各自输出一个第一梯度。
7、示例地,上述将n个第一梯度传输至n个节点中的每个节点的过程,可以是通过控制器先获取上述n个第一梯度,然后将这n个第一梯度直接传输至每个节点;此外,还可以是控制各个节点中的每个节点,将自身配置的第一训练模型的前向传播结果对应第一梯度同步传输至其他节点,当所有节点都进行一次上述操作后,即完成了将n个第一梯度传输至n个节点中的过程。
8、示例地,上述确定n个第一梯度的过程可以都是并行的,即可以同时进行的。基于上述步骤可知,如果第一层中包括n个节点,则可以相应地确定n个第一梯度,其中,n为大于1的整数。所以,可以将针对于dnn一层的数据集(batch)划分为多个不同的子数据集,输入到各个节点的训练模型中分别进行训练。可见,即使同层中各个节点的训练模型是相同的,但是由于每个模型输入的子数据集是不同的,所以各个节点基于前向传播结果进行反向传播操作后得到的第一梯度也是不同的。
9、示例地,可以通过神经网络模型训练框架中的全数据整合(all-reduce)算法,完成上述dnn第一层中各个节点之间第一梯度的通信同步操作。
10、基于上述技术方案,使dnn每一层能够并行地进行模型训练和梯度同步操作,加快了模型训练以及参数同步的效率,还能够实现在dnn一层的模型训练结束后,即可进行模型参数的更新,为在完成一层训练模型参数更新后,就进行对该层的模型参数进行保存提供了条件。
11、结合第一方面,在第一方面的某些实现方式中,上述第一模型参数由n个节点存储至持久化内存pm中。
12、应理解,将pm作为保存模型参数的载体,而pm具有内存装置的相关特性,支持gpu内存向pm中直接写入或者从pm中直接读取数据。并且相较于普通的内存装置,pm中存储的数据在掉电后不会丢失,因此,pm也可以替换外存设备,作为主要的存储设备,来存储上述第一模型参数。所以在向pm中写入第一模型参数的过程中,存储系统底层不需要进行多次内拷贝过程,并且pm中的数据格式与内存装置的数据格式相同,所以也不需要将第一模型参数进行数据序列化,外部设备可以直接进行模型参数的写入或者读取,该过程比较简单,并且效率较高,有助于提升模型参数的保存或者恢复的效率,进一步减少因为模型参数保存的过程而阻塞后续模型训练的情况。而使用诸如固态硬盘一类的外存,上述在数据存储或者读取的过程需要对数据进行多次拷贝以及序列化的操作,降低了数据存取的效率。
13、示例地,上述将第一模型参数存储至pm中,可以包括两个阶段:快照和持久化,其中,快照在确定第一模型参数后即可进行,而且快照速度快,能迅速将当前数据保存起来,保存至处理器的内存中,例如,上述gpu的内存中。模型参数持久化需要在上述模型参数快照完成后进行,该过程相较于快照阶段持续时间较长,占用整个模型参数保存的主要时间。
14、基于上述技术方案,能够在完成一层的模型参数确定的过程后,即可进行对该层的模型参数的保存操作,较早地进入到模型参数保存的过程,整体上加快了模型参数保存的速度。并且将dnn各层确定的模型参数存储到pm中,进一步提升模型参数的保存或者恢复的效率,进而减少因为模型参数保存的过程而阻塞后续模型训练的情况发生。
15、结合第一方面,在第一方面的某些实现方式中,在上述在将n个第一梯度传输至n个节点中的每个节点同时,根据n个第二训练模型的前向传播结果,确定m个第二梯度,m个第二梯度与m个第二训练模型的前向传播结果一一对应,每个第二梯度是基于所对应的第二训练模型的前向传播结果确定的,其中,m个第二训练模型与深度神经网络dnn的m个节点一一对应,每本文档来自技高网...
【技术保护点】
1.一种模型训练的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第一模型参数由所述N个节点存储至持久化内存PM中。
3.根据权利要求1或2所述的方法,其特征在于,在所述将所述N个第一梯度传输至所述N个节点中的每个节点同时,所述方法还包括:
4.一种模型训练的方法,其特征在于,所述方法包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,在所述将所述第一模型参数存储至PM中的同时,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.根据权利要求4至7中任一项所述的方法,其特征在于,所述将所述第一模型参数存储至PM中包括:
9.根据权利要求8所述的方法,其特征在于,所述第一模型参数存储至所述PM的第一存储空间,在所述将所述第一模型参数存储至所述PM中之后,模型训练发生中断,所述方法还包括:
10.一种模型训练的装置,其特征在于,所述装置包括:
11
12.根据权利要求10或11所述的装置,其特征在于,所述装置还包括:
13.一种模型训练的装置,其特征在于,所述方法包括:
14.根据权利要求13所述的装置,其特征在于,所述第一操作单元还用于:
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
16.根据权利要求15所述的装置,其特征在于,所述第二操作单元还用于:
17.根据权利要求13至16中任一项所述的装置,其特征在于,所述第一操作单元具体用于:
18.根据权利要求17所述的装置,其特征在于,所述第一模型参数存储至所述PM的第一存储空间,在所述第一操作单元将所述第一模型参数存储至所述PM中之后,模型训练发生中断,所述第一操作单元还用于:
19.一种模型训练的装置,其特征在于,包括:
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,所述指令在计算机上执行时,以使得所述装置执行如权利要求1至9中任一项所述的方法。
21.一种模型训练系统,其特征在于,包括:
...【技术特征摘要】
1.一种模型训练的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第一模型参数由所述n个节点存储至持久化内存pm中。
3.根据权利要求1或2所述的方法,其特征在于,在所述将所述n个第一梯度传输至所述n个节点中的每个节点同时,所述方法还包括:
4.一种模型训练的方法,其特征在于,所述方法包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,在所述将所述第一模型参数存储至pm中的同时,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.根据权利要求4至7中任一项所述的方法,其特征在于,所述将所述第一模型参数存储至pm中包括:
9.根据权利要求8所述的方法,其特征在于,所述第一模型参数存储至所述pm的第一存储空间,在所述将所述第一模型参数存储至所述pm中之后,模型训练发生中断,所述方法还包括:
10.一种模型训练的装置,其特征在于,所述装置包括:
11.根据权利要求10所述的装置,其特征在于,所述...
【专利技术属性】
技术研发人员:柏蓉,黄建明,张双武,左鹏飞,华宇,
申请(专利权)人:华为云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。