System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及人工智能,特别涉及一种模型训练方法和计算设备。
技术介绍
1、在人工智能模型训练场景中,模型的参数复杂、数据量大。尤其在网络中进行前向传播计算时,会产生巨大的数据量。在前向传播中,上一层的输出数据作为下一层的输入,这些数量庞大的数据往往无法同时保存在内存中。
2、在反向传播过程中,需要从网络的最后一层逐层向前去改变每一层的权重,反向计算每一层的梯度。因此在反向传播时需要用到前向传播每一层产生的数据。由于在前向传播过程产生的数据并不会全部保存,而且缺失的数据并不会固定在哪一层,所以当反向传播至这样的网络节点时,会暂停反向传播,同时再次发起前向传播,通过逐层的计算得到缺失的数据后,继续进行反向传播计算。
3、然而,上述方案中在反向传播更新梯度时,需要进行前向传播来获取数据,再进行梯度的计算,从而需要多次等待,浪费了大量时间,导致人工智能模型训练速度缓慢。
技术实现思路
1、本申请实施例提供了一种模型训练方法和计算设备,可以加快人工智能模型训练的速度。该技术方案如下:
2、第一方面,提供了一种模型训练方法,该方法由第一计算设备执行,包括:将目标模型在前向传播过程中至少一层网络层的计算数据写入目标存储空间;目标存储空间是第一计算设备的内存之外的其他存储空间。在目标模型训练启动反向传播的情况下,从目标存储空间中获取目标模型中第n层对应的计算数据;其中,n是大于或等于1的正整数;基于第n层对应的计算数据,更新n-1层目标模型的模型参数。
>3、可以理解的是,通过将网络模型在前向传播过程中至少一层网络层的计算数据,写入目标存储空间;启动反向传播的情况下,从目标存储空间获取目标模型中第n层网络层对应的计算数据,可以避免因计算数据缺失导致的暂停反向传播,启动前向传播逐层获取缺失的计算数据的耗时问题,提高模型训练的速度。
4、在一种可能的实现方式中,将目标模型在前向传播过程中至少一层网络层的计算数据写入目标存储空间,包括,若第一计算设备的内存剩余容量小于指定阈值,将第n层网络层在前向传播过程中产生的计算数据写入目标内存空间。
5、可以理解的是,当内存的剩余容量小于指定阈值,将第n层网络层生成的计算数据写入目标存储空间,可以避免因内存容量不足造成目标模型前向传播过程中的计算数据丢失。
6、在一种可能的实现方式中,将目标模型在前向传播过程中至少一层网络层的计算数据,通过文件传输协议ftp写入目标存储空间;其中,每一层网络层的计算数据在目标存储空间中的每一个独立目录中。
7、可以理解的是,通过文件传输协议ftp将将目标模型在前向传播过程中至少一层网络层的计算数据写入存储空间,可以使每一层网络层的计算数据在目标存储空间中的每一个独立目录中,便于计算数据的查找和获取。
8、在一种可能实现的方式中,每一个独立目录中的网络层的计算数据是经过压缩处理的数据。
9、可以理解的是,对每一个独立目录中的网络层的计算数据进行压缩处理可以节约目标存储空间的内存容量。在一种可能的实现方式中,从目标存储空间中获取目标模型中第n层对应的计算数据,包括,确定第一计算设备的内存中是否包含第n层网络层的计算数据。若第一计算设备的内存中包含第n层网络层的计算数据,从第一计算设备的内存中获取第n层网络层的计算数据。
10、可以理解的是,若第一计算设备的内存中包含第n层网络层的计算数据,可以直接从内存中获取第n层网络层对应的计算数据,节约从目标存储空间获取计算数据的算力,提高模型训练的速率。
11、在一种可能的实现方式中,从目标存储空间中获取目标模型中第n层对应的计算数据,包括,若第一计算设备的内存中不包含第n层网络层的计算数据,确定目标空间中是否包含第n层网络层的计算数据;若目标空间中包含第n层网络层的计算数据,从目标空间中获取第n层网络层的计算数据。
12、可以理解的是,若第一计算设备的内存中不存在第n层网络层的计算数据时,而目标存储空间中包含第n层网络层的计算数据数据,可以从目标存储空间获取第n层计算数据。节约了启动前向传播重新获取第n层网络层的计算数据时间和算力,加快了模型训练是速度。
13、在一种可能的实现方式中,若目标空间中不包含第n层网络层的计算数据,获取目标存储空间中的第m层网络层的计算数据;第m层网络层在第n层网络层之前,且与第n层网络层的间隔层数小于等于第一阈值;其中,m是大于等于1,且小于n的正整数。按照第m层网络层的计算数据启动前向传播,获取第n层网络层的计算数据。将第n层网络层的计算数据写入目标存储空间;从目标存储空间获取第n层网络层的计算数据。
14、可以理解的是,若第一计算设备的内存中和目标存储空间中均不存在第n层网络层的计算数据,获取目标存储空间中的第m层网络层的计算数据;第m层网络层在第n层网络层之前,且与第n层网络层的间隔层数小于等于第一阈值;其中,m是大于等于1,且小于n的正整数。按照第m层网络层的计算数据启动前向传播,获取第n层网络层的计算数据。只需要小部分资源进行前向传播来获取第n层网络层的计算数据,不需要逐层启动前向传播来获取,大大缩短获取第n层网络层的计算数据的时间,提高模型训练效率。
15、在一种可能的实现方式中,确定目标模型中第n层网络层的反向传播结果,传播结果用于指示目标模型第n层的反向传播进度。确定目标模型中第n层网络层的计算数据在目标存储空间和第一计算设备的内存的检测结果,检测结果用于指示第n层网络层的计算数据是否在目标内存空间或第一计算设备的内存中。将传播结果和检测结果发送给第二计算设备,第二计算设备基于传播结果和检测结果控制目标模型的训练过程。
16、可以理解的是,将传播结果和检测结果发送给第二计算设备,第二计算设备可以根据传播结果和检测结果下发相关任务,管理目标模型的训练过程,确保模型训练的顺利进行,提高模型训练的效率。
17、第二方面,提供了一种模型训练方法,该方法由第二计算设备执行,包括:接收由第一计算设备发送的目标模型中第n层网络层的反向传播结果,所述传播结果用于指示所述目标模型第n层的反向传播进度。接收由第一计算设备发送的所述目标模型中第n层网络层的计算数据在所述目标存储空间和所述第一计算设备的内存的检测结果,所述检测结果用于指示所述第n层网络层的计算数据是否在所述目标内存空间或所述第一计算设备的内存中;其中,n是大于或等于1的正整数。在所述目标模型训练启动反向传播的情况下,根据所述传播结果和所述检测结果向所述目标存储空间发送数据传递任务,所述数据传递任务用于指示所述目标存储空间向所述第一计算设备发送所述目标模型中第n层对应的所述计算数据,以使得所述第一计算设备完成第n-1层所述目标模型的模型参数的更新。
18、可以理解的是,可以根据接收到的传播结果和检测结果下发相关任务,管理目标模型的训练过程,启动反向传播的情况下,控制目标存储空间及将目标模型中第n层网络层对应的本文档来自技高网...
【技术保护点】
1.一种模型训练方法,其特征在于,所述方法应用于第一计算设备,包括:
2.根据权利要求1所述的方法,其特征在于,所述将目标模型在前向传播过程中至少一层网络层的计算数据写入目标存储空间,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1至3任一项所述的方法,其特征在于,所述每一个独立目录中的网络层的所述计算数据是经过压缩处理的数据。
5.根据权利要求1所述的方法,其特征在于,所述从所述目标存储空间中获取所述目标模型中第n层对应的所述计算数据,包括:
6.根据权利要求1所述的方法,其特征在于,所述从所述目标存储空间中获取所述目标模型中第n层对应的所述计算数据,包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1至7任一所述的方法,其特征在于,所述方法还包括:
9.一种模型训练方法,其特征在于,所述方法应用于第二计算设备,包括:
10.一种计算设备,其特征在于,所述计算设备包括:处理器和用于存储所述处理器可执行
...【技术特征摘要】
1.一种模型训练方法,其特征在于,所述方法应用于第一计算设备,包括:
2.根据权利要求1所述的方法,其特征在于,所述将目标模型在前向传播过程中至少一层网络层的计算数据写入目标存储空间,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1至3任一项所述的方法,其特征在于,所述每一个独立目录中的网络层的所述计算数据是经过压缩处理的数据。
5.根据权利要求1所述的方法,其特征在于,所述从所述目标存储空间中获取所述目标模型中第...
【专利技术属性】
技术研发人员:郭飞飞,
申请(专利权)人:超聚变数字技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。