本申请提供一种混合异构系统的模型训练方法,包括:获取所述混合异构系统中各设备的设备性能;将设备性能最低的两个设备合并得到合并设备;判断所述合并设备的设备性能是否大于合并前混合异构系统中性能第三低设备的设备性能;若是,停止设备合并,得到合并系统;利用所述合并系统执行模型训练。本申请通过合并性能较低的设备提高系统各设备的平均性能,减少模型处理流水线的长度,从而缓解通信压力,有效缩短在混合异构平台上执行模型训练的时间,提高模型训练效率。本申请还提供一种混合异构系统的模型训练系统、计算机可读存储介质和服务器,具有上述有益效果。
A hybrid heterogeneous system model training method, system and related devices
【技术实现步骤摘要】
一种混合异构系统的模型训练方法、系统及相关装置
本申请涉及机器学习领域,特别涉及一种混合异构系统的模型训练方法、系统及相关装置。
技术介绍
随着混合异构平台的发展,出现了类型不一的加速设备,如何在混合异构平台中充分利用这些不同类型的设备以及如何在多个计算设备之间部署深度学习模型以训练大型和复杂的模型的重要性不断提高。数据并行是应用最广泛的并行化策略,但是如果数据并行训练中的设备不断增长,设备之间的通信开销就会成为瓶颈。此外,每个步骤因设备性能差异处理的批总量不同会导致精度的损失,即需要更大的训练周期以收敛到期望的精度。这些因素会影响整体训练时间,并且会影响某些设备的运行效率。除了数据并行,每个训练步骤都可以通过模型并行来加速。GPipe是一款分布式机器学习库,基于同步随机梯度下降与流水并行技术进行模型并行训练,适用于由多个连续层组成的任意深度神经网络。为了实现跨加速器的高效训练,GPipe先按照加速器对模型进行按层划分,然后将每个批次的训练示例拆分为更小的微批次。通过在微批次中执行流水管理,加速器得以并行流水运行。此外,梯度将在微批次中持续累积,以免分区的数量影响到模型的质量。Gpipe框架中采用的模型并行策略是按照模型每层的计算量均等的分到各个计算设备上,然后在各个设备上依次进行模型的前向反向计算,同时每个时刻只有一个设备在执行计算任务,其他设备都处在空闲状态,这样会带来极大的资源浪费。
技术实现思路
本申请的目的是提供一种混合异构系统的模型训练方法、系统、计算机可读存储介质和服务器,能够提高模型训练效率。为解决上述技术问题,本申请提供一种混合异构系统的模型训练方法,具体技术方案如下:S1、获取所述混合异构系统中各设备的设备性能;S2、将设备性能最低的两个设备合并得到合并设备;S3、判断所述合并设备是否为当前混合异构系统中设备性能最低的设备;若否,进入S4;S4、停止设备合并,得到合并系统;S5、利用所述合并系统执行模型训练。可选的,若所述合并设备为当前混合异构系统中设备性能最低的设备,还包括:将所述合并设备作为单设备,返回S1。可选的,利用所述合并系统执行模型训练包括:对模型进行分层,得到训练层级;为所述合并系统中的每个设备分配模型的一个训练层级并训练。可选的,对模型进行分层,得到训练层级时,还包括:确认各训练层级的计算量;则为所述合并系统中的每个设备分配模型的一个训练层级并训练包括:根据各所述训练层级的计算量顺序和各所述设备的设备性能顺序为每个设备分配对应的训练层级并训练。可选的,所述训练层级包含若干模型通道,则利用所述合并系统执行模型训练时还包括:根据所述合并设备中各个子设备的设备性能比例对应分配对应的模型通道数,以便各所述子设备对各自对应的模型通道进行训练。本申请还提供一种混合异构系统的模型训练系统,包括:获取模块,用于获取所述混合异构系统中各设备的设备性能;合并模块,用于将设备性能最低的两个设备合并得到合并设备;判断模块,用于判断所述合并设备是否为当前混合异构系统中设备性能最低的设备;系统更新模块,用于所述判断模块的判断结果为否时,停止设备合并,得到合并系统;训练模块,用于利用所述合并系统执行模型训练。可选的,还包括:循环模块,用于所述判断模块的判断结果为是时,将所述合并设备作为单设备,转入所述获取模块。可选的,训练模块包括:分层单元,用于对模型进行分层,得到训练层级;训练单元,用于为所述合并系统中的每个设备分配模型的一个训练层级并训练。本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。本申请还提供一种服务器,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。本申请提供一种混合异构系统的模型训练方法,包括:获取所述混合异构系统中各设备的设备性能;将设备性能最低的两个设备合并得到合并设备;判断所述合并设备的设备性能是否大于合并前混合异构系统中性能第三低设备的设备性能;若是,停止设备合并,得到合并系统;利用所述合并系统执行模型训练。本申请通过将混合异构系统中性能偏低的设备进行合并,避免模型由于设备性能较低从而造成流水处理过程复杂,通过合并性能较低的设备提高系统各设备的平均性能,减少模型处理流水线的长度,从而缓解通信压力,有效缩短在混合异构平台上执行模型训练的时间,提高模型训练效率。本申请还提供一种混合异构系统的模型训练系统、计算机可读存储介质和服务器,具有上述有益效果,此处不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例所提供的一种混合异构系统的模型训练方法的流程图;图2为本申请实施例所提供的另一种混合异构系统的模型训练方法的流程图;图3为本申请实施例所提供的一种混合异构系统的模型训练系统结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在混合异构架构下,设备的性能通常会有很大的差异性,比如设备群的FPGA设备,通常情况下FPGA设备只能承担某一层的计算,甚至某些性能过低的FPGA设备无法承担一层的计算量。因此需要更加精细的模型并行训练时模型划分方法。为了解决设备性能分布不均带来的模型划分困难,本申请提出了一种混合异构系统的模型训练方法。请参考图1,图1为本申请实施例所提供的一种混合异构系统的模型训练方法的流程图,该方法包括:S1、获取所述混合异构系统中各设备的设备性能;本步骤旨在获取系统中各设备的设备性能,在此对于如何获取设备的设备性能不作限定,可以根据各设备的设备参数确定其设备性能,也可以对设备进行实际测试,直接得到其设备性能。S2、将设备性能最低的两个设备合并得到合并设备;本步骤旨在将当前混合异构系统中设备性能最低的两个设备进行合并,得到合并设备。需要注意的是,合并设备需要将两个设备通过对应的链路相连,使得在接收一个计算指令时,同步运行两个设备。需要注意的是,合并设备的设备性能并不一定为原先两个设备的设备性能之和,具体应对合并设备作实际测试以得到合并设备的设备性能。换句话说,步骤S本文档来自技高网...
【技术保护点】
1.一种混合异构系统的模型训练方法,其特征在于,包括:/nS1、获取所述混合异构系统中各设备的设备性能;/nS2、将设备性能最低的两个设备合并得到合并设备;/nS3、判断所述合并设备是否为当前混合异构系统中设备性能最低的设备;若否,进入S4;/nS4、停止设备合并,得到合并系统;/nS5、利用所述合并系统执行模型训练。/n
【技术特征摘要】
1.一种混合异构系统的模型训练方法,其特征在于,包括:
S1、获取所述混合异构系统中各设备的设备性能;
S2、将设备性能最低的两个设备合并得到合并设备;
S3、判断所述合并设备是否为当前混合异构系统中设备性能最低的设备;若否,进入S4;
S4、停止设备合并,得到合并系统;
S5、利用所述合并系统执行模型训练。
2.根据权利要求1所述的模型训练方法,其特征在于,若所述合并设备为当前混合异构系统中设备性能最低的设备,还包括:
将所述合并设备作为单设备,返回S1。
3.根据权利要求1所述的模型训练方法,其特征在于,利用所述合并系统执行模型训练包括:
对模型进行分层,得到训练层级;
为所述合并系统中的每个设备分配模型的一个训练层级并训练。
4.根据权利要求3所述的模型训练方法,其特征在于,对模型进行分层,得到训练层级时,还包括:
确认各训练层级的计算量;
则为所述合并系统中的每个设备分配模型的一个训练层级并训练包括:
根据各所述训练层级的计算量顺序和各所述设备的设备性能顺序为每个设备分配对应的训练层级并训练。
5.根据权利要求3或4所述的模型训练方法,其特征在于,若所述训练层级包含若干模型通道,则利用所述合并系统执行模型训练时还包括:
根据所述合并设备中各个子设备的设备性...
【专利技术属性】
技术研发人员:高开,郭振华,王丽,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。