CN111860867B - 一种混合异构系统的模型训练方法、系统及相关装置 - Google Patents

一种混合异构系统的模型训练方法、系统及相关装置 Download PDF

Info

Publication number
CN111860867B
CN111860867B CN202010724233.1A CN202010724233A CN111860867B CN 111860867 B CN111860867 B CN 111860867B CN 202010724233 A CN202010724233 A CN 202010724233A CN 111860867 B CN111860867 B CN 111860867B
Authority
CN
China
Prior art keywords
equipment
training
performance
model
merging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010724233.1A
Other languages
English (en)
Other versions
CN111860867A (zh
Inventor
高开
郭振华
王丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010724233.1A priority Critical patent/CN111860867B/zh
Publication of CN111860867A publication Critical patent/CN111860867A/zh
Application granted granted Critical
Publication of CN111860867B publication Critical patent/CN111860867B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

本申请提供一种混合异构系统的模型训练方法,包括:获取所述混合异构系统中各设备的设备性能;将设备性能最低的两个设备合并得到合并设备;判断所述合并设备的设备性能是否大于合并前混合异构系统中性能第三低设备的设备性能;若是,停止设备合并,得到合并系统;利用所述合并系统执行模型训练。本申请通过合并性能较低的设备提高系统各设备的平均性能,减少模型处理流水线的长度,从而缓解通信压力,有效缩短在混合异构平台上执行模型训练的时间,提高模型训练效率。本申请还提供一种混合异构系统的模型训练系统、计算机可读存储介质和服务器,具有上述有益效果。

Description

一种混合异构系统的模型训练方法、系统及相关装置
技术领域
本申请涉及机器学习领域,特别涉及一种混合异构系统的模型训练方法、系统及相关装置。
背景技术
随着混合异构平台的发展,出现了类型不一的加速设备,如何在混合异构平台中充分利用这些不同类型的设备以及如何在多个计算设备之间部署深度学习模型以训练大型和复杂的模型的重要性不断提高。数据并行是应用最广泛的并行化策略,但是如果数据并行训练中的设备不断增长,设备之间的通信开销就会成为瓶颈。此外,每个步骤因设备性能差异处理的批总量不同会导致精度的损失,即需要更大的训练周期以收敛到期望的精度。这些因素会影响整体训练时间,并且会影响某些设备的运行效率。除了数据并行,每个训练步骤都可以通过模型并行来加速。
GPipe是一款分布式机器学习库,基于同步随机梯度下降与流水并行技术进行模型并行训练,适用于由多个连续层组成的任意深度神经网络。为了实现跨加速器的高效训练,GPipe先按照加速器对模型进行按层划分,然后将每个批次的训练示例拆分为更小的微批次。通过在微批次中执行流水管理,加速器得以并行流水运行。此外,梯度将在微批次中持续累积,以免分区的数量影响到模型的质量。
Gpipe框架中采用的模型并行策略是按照模型每层的计算量均等的分到各个计算设备上,然后在各个设备上依次进行模型的前向反向计算,同时每个时刻只有一个设备在执行计算任务,其他设备都处在空闲状态,这样会带来极大的资源浪费。
发明内容
本申请的目的是提供一种混合异构系统的模型训练方法、系统、计算机可读存储介质和服务器,能够提高模型训练效率。
为解决上述技术问题,本申请提供一种混合异构系统的模型训练方法,具体技术方案如下:
S1、获取所述混合异构系统中各设备的设备性能;
S2、将设备性能最低的两个设备合并得到合并设备;
S3、判断所述合并设备是否为当前混合异构系统中设备性能最低的设备;若否,进入S4;
S4、停止设备合并,得到合并系统;
S5、利用所述合并系统执行模型训练。
可选的,若所述合并设备为当前混合异构系统中设备性能最低的设备,还包括:
将所述合并设备作为单设备,返回S1。
可选的,利用所述合并系统执行模型训练包括:
对模型进行分层,得到训练层级;
为所述合并系统中的每个设备分配模型的一个训练层级并训练。
可选的,对模型进行分层,得到训练层级时,还包括:
确认各训练层级的计算量;
则为所述合并系统中的每个设备分配模型的一个训练层级并训练包括:
根据各所述训练层级的计算量顺序和各所述设备的设备性能顺序为每个设备分配对应的训练层级并训练。
可选的,所述训练层级包含若干模型通道,则利用所述合并系统执行模型训练时还包括:
根据所述合并设备中各个子设备的设备性能比例对应分配对应的模型通道数,以便各所述子设备对各自对应的模型通道进行训练。
本申请还提供一种混合异构系统的模型训练系统,包括:
获取模块,用于获取所述混合异构系统中各设备的设备性能;
合并模块,用于将设备性能最低的两个设备合并得到合并设备;
判断模块,用于判断所述合并设备是否为当前混合异构系统中设备性能最低的设备;
系统更新模块,用于所述判断模块的判断结果为否时,停止设备合并,得到合并系统;
训练模块,用于利用所述合并系统执行模型训练。
可选的,还包括:
循环模块,用于所述判断模块的判断结果为是时,将所述合并设备作为单设备,转入所述获取模块。
可选的,训练模块包括:
分层单元,用于对模型进行分层,得到训练层级;
训练单元,用于为所述合并系统中的每个设备分配模型的一个训练层级并训练。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
本申请还提供一种服务器,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
本申请提供一种混合异构系统的模型训练方法,包括:获取所述混合异构系统中各设备的设备性能;将设备性能最低的两个设备合并得到合并设备;判断所述合并设备的设备性能是否大于合并前混合异构系统中性能第三低设备的设备性能;若是,停止设备合并,得到合并系统;利用所述合并系统执行模型训练。
本申请通过将混合异构系统中性能偏低的设备进行合并,避免模型由于设备性能较低从而造成流水处理过程复杂,通过合并性能较低的设备提高系统各设备的平均性能,减少模型处理流水线的长度,从而缓解通信压力,有效缩短在混合异构平台上执行模型训练的时间,提高模型训练效率。
本申请还提供一种混合异构系统的模型训练系统、计算机可读存储介质和服务器,具有上述有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种混合异构系统的模型训练方法的流程图;
图2为本申请实施例所提供的另一种混合异构系统的模型训练方法的流程图;
图3为本申请实施例所提供的一种混合异构系统的模型训练系统结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在混合异构架构下,设备的性能通常会有很大的差异性,比如设备群的FPGA设备,通常情况下FPGA设备只能承担某一层的计算,甚至某些性能过低的FPGA设备无法承担一层的计算量。因此需要更加精细的模型并行训练时模型划分方法。为了解决设备性能分布不均带来的模型划分困难,本申请提出了一种混合异构系统的模型训练方法。
请参考图1,图1为本申请实施例所提供的一种混合异构系统的模型训练方法的流程图,该方法包括:
S1、获取所述混合异构系统中各设备的设备性能;
本步骤旨在获取系统中各设备的设备性能,在此对于如何获取设备的设备性能不作限定,可以根据各设备的设备参数确定其设备性能,也可以对设备进行实际测试,直接得到其设备性能。
S2、将设备性能最低的两个设备合并得到合并设备;
本步骤旨在将当前混合异构系统中设备性能最低的两个设备进行合并,得到合并设备。需要注意的是,合并设备需要将两个设备通过对应的链路相连,使得在接收一个计算指令时,同步运行两个设备。需要注意的是,合并设备的设备性能并不一定为原先两个设备的设备性能之和,具体应对合并设备作实际测试以得到合并设备的设备性能。
换句话说,步骤S2的核心在于通过合并一些性能较低的设备使合并后的设备的性能分布均匀,设备合并过程中通过循环遍历设备性能然后合并性能较低的两个设备的方式。假设第i个设备的性能记为Pi,整个设备群中设备的性能分布
Figure BDA0002601101240000051
用平均差来刻画:
Figure BDA0002601101240000052
则合并的目前为使得系统对应的
Figure BDA0002601101240000055
最小。循环的进行设备合并,每次循环将两个性能最低的设备合并到一起,对于一个有n个设备的混合异构系统而言,执行步骤S101后按照各设备的设备性能从大到小排序,依次得到P1,P2…Pn,则合并过程如下所示:
Figure BDA0002601101240000053
容易验证的是,经过设备合并之后,
Figure BDA0002601101240000054
则说明得到的合并系统中各设备的性能分布更均匀,从而使得设备流水线长度缩短,各设备性能差别很小或者已经没有差别。
S3、判断所述合并设备是否为当前混合异构系统中设备性能最低的设备;若否,进入S4;
本步骤旨在判断合并设备的性能是否大于合并前性能第三低设备的设备性能。由于上一步骤是对设备性能倒数第一和倒数第二的设备进行合并,即合并后的设备是否为当前混合异构系统中性能最低的设备,需要注意的是,经过合并后的设备已经视为单设备,不再视为两个设备或多个设备的集合。
若合并设备的设备性能小于合并前混合异构系统中性能第三低设备的设备性能,将合并设备作为单设备,返回S1,直至得到的合并设备不为当前混合异构系统中设备性能最低的设备。此时对应的流程图如图2所示,图2为本申请实施例所提供的另一种混合异构系统的模型训练方法的流程图。
S4、停止设备合并,得到合并系统;
需要注意的是,经过上文所述的合并过程,最后合并系统中可能包含多个合并设备,也可能包括一个由多个设备合并得到的合并设备,当然也可能包含从未参与过合并过程的单设备。
S5、利用所述合并系统执行模型训练。
本步骤即可利用得到的合并系统执行模型训练。经过上文所述的合并过程,合并系统中大部分设备的设备性能相对平均,相较于合并前的混合异构系统而言,设备之间的差异性降低,在进行模型训练时,略可以减少混合异构中设备流水线的长度,为模型并行训练时流水线的建立提供了便利。
作为本步骤的一种优选的执行方式,可以先对模型进行分层,得到训练层级,再为合并系统中的每个设备分配模型的一个训练层级并训练。即针对合并系统中的每个单设备,将模型的一个训练层级赋予该单设备,每个单设备负责模型的一个训练层级。在此过程中,可以确认各训练层级的计算量,以便根据各训练层级的计算量顺序和各设备的设备性能顺序为每个设备分配对应的训练层级并训练。即虽然合并系统中各设备的设备性能相对平均,但依旧存在设备性能较为优异的设备,此时可以将训练量大的训练层级赋予设备性能高的设备。
更优选的,由于训练层级包含若干模型通道,还可以根据合并设备中各个子设备的设备性能比例对应分配对应的模型通道数,以便各子设备对各自对应的模型通道进行训练。即每个合并设备负责一个训练层级,而训练层级中包含多个模型通道,则根据该合并设备各个子设备的实际设备性能之比对训练层级进行划分,即实现子设备的设备性能与所承载的模型通道相对应。不仅实现了根据合并之后设备性能划分训练层级,还实现了根据设备性能为合并设备中的每个子设备划分对应数量的模型通道。由于在混合模型并行训练中,当设备数量增多时,通常流水线的长度也会随之增加,因此花费在流水建立的时间占比也会增高。而且混合异构架构下设备的类型多种多样,通常会有很大的性能差异性,这些差异性会给设备间流水的建立带来通信瓶颈问题。因此通过上述方式,可以进一步减少模型训练时的流水线长度,缓解混合异构系统中性能较低设备的通信压力。
本申请实施例通过将混合异构系统中性能偏低的设备进行合并,避免模型由于设备性能较低从而造成流水处理过程复杂,通过合并性能较低的设备提高系统各设备的平均性能,减少模型处理流水线的长度,从而缓解通信压力,有效缩短在混合异构平台上执行模型训练的时间,提高模型训练效率。
本实施例以混合异构系统中包含两个GPU设备和两个FPGA设备为例对本申请提供的一种混合异构系统的模型训练方法进行说明。由于使用的FPGA设备的性能要低于GPU设备的性能,首先把两个FPGA设备合并成一个合并设备,此时合并设备高于任何一个GPU设备的设备性能。然后在合并后的三个设备上按照每各训练层级的计算量和设备的设备性能按比例将待训练的模型按层划分到每个设备上。此后,再把划分到两个FPGA设备上的网络层按卷积核通道数在两个FPGA设备上按各自的设备性能进行划分。如果两个FPGA设备的性能均等,那么划分到每个设备上的通道数是一致的。
下面对本申请实施例提供的一种混合异构系统的模型训练系统进行介绍,下文描述的模型训练系统与上文描述的一种混合异构系统的模型训练方法可相互对应参照。
图3为本申请实施例所提供的一种混合异构系统的模型训练系统结构示意图,本申请还提供一种混合异构系统的模型训练系统,包括:
获取模块100,用于获取所述混合异构系统中各设备的设备性能;
合并模块200,用于将设备性能最低的两个设备合并得到合并设备;
判断模块300,用于判断所述合并设备是否为当前混合异构系统中设备性能最低的设备;
系统更新模块400,用于所述判断模块的判断结果为否时,停止设备合并,得到合并系统;
训练模块500,用于利用所述合并系统执行模型训练。
基于上述实施例,作为优选的实施例,还包括:
循环模块,用于所述判断模块300的判断结果为是时,将所述合并设备作为单设备,转入所述获取模块。
基于上述实施例,作为优选的实施例,训练模块包括:
分层单元,用于对模型进行分层,得到训练层级;
训练单元,用于为所述合并系统中的每个设备分配模型的一个训练层级并训练。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种服务器,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述服务器还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种混合异构系统的模型训练方法,其特征在于,包括:
S1、获取所述混合异构系统中各设备的设备性能;
S2、将设备性能最低的两个设备合并得到合并设备;其中,在设备合并过程中,通过循环遍历设备性能并合并性能较低的两个设备;
S3、判断所述合并设备是否为当前混合异构系统中设备性能最低的设备;若否,进入S4;
S4、停止设备合并,得到合并系统;
S5、利用所述合并系统执行模型训练。
2.根据权利要求1所述的模型训练方法,其特征在于,若所述合并设备为当前混合异构系统中设备性能最低的设备,还包括:
将所述合并设备作为单设备,返回S1。
3.根据权利要求1所述的模型训练方法,其特征在于,利用所述合并系统执行模型训练包括:
对模型进行分层,得到训练层级;
为所述合并系统中的每个设备分配模型的一个训练层级并训练。
4.根据权利要求3所述的模型训练方法,其特征在于,对模型进行分层,得到训练层级时,还包括:
确认各训练层级的计算量;
则为所述合并系统中的每个设备分配模型的一个训练层级并训练包括:
根据各所述训练层级的计算量顺序和各所述设备的设备性能顺序为每个设备分配对应的训练层级并训练。
5.根据权利要求3或4所述的模型训练方法,其特征在于,若所述训练层级包含若干模型通道,则利用所述合并系统执行模型训练时还包括:
根据所述合并设备中各个子设备的设备性能比例对应分配对应的模型通道数,以便各所述子设备对各自对应的模型通道进行训练。
6.一种混合异构系统的模型训练系统,其特征在于,包括:
获取模块,用于获取所述混合异构系统中各设备的设备性能;
合并模块,用于将设备性能最低的两个设备合并得到合并设备;其中,在设备合并过程中,通过循环遍历设备性能并合并性能较低的两个设备
判断模块,用于判断所述合并设备是否为当前混合异构系统中设备性能最低的设备;
系统更新模块,用于所述判断模块的判断结果为否时,停止设备合并,得到合并系统;
训练模块,用于利用所述合并系统执行模型训练。
7.根据权利要求6所述的模型训练系统,其特征在于,还包括:
循环模块,用于所述判断模块的判断结果为是时,将所述合并设备作为单设备,转入所述获取模块。
8.根据权利要求6所述的模型训练系统,其特征在于,训练模块包括:
分层单元,用于对模型进行分层,得到训练层级;
训练单元,用于为所述合并系统中的每个设备分配模型的一个训练层级并训练。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的方法的步骤。
10.一种服务器,其特征在于,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1-5任一项所述的方法的步骤。
CN202010724233.1A 2020-07-24 2020-07-24 一种混合异构系统的模型训练方法、系统及相关装置 Active CN111860867B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010724233.1A CN111860867B (zh) 2020-07-24 2020-07-24 一种混合异构系统的模型训练方法、系统及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010724233.1A CN111860867B (zh) 2020-07-24 2020-07-24 一种混合异构系统的模型训练方法、系统及相关装置

Publications (2)

Publication Number Publication Date
CN111860867A CN111860867A (zh) 2020-10-30
CN111860867B true CN111860867B (zh) 2023-01-10

Family

ID=72950148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010724233.1A Active CN111860867B (zh) 2020-07-24 2020-07-24 一种混合异构系统的模型训练方法、系统及相关装置

Country Status (1)

Country Link
CN (1) CN111860867B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114048018B (zh) * 2022-01-14 2022-04-15 北京大学深圳研究生院 基于区块链的云原生任务分配系统、方法和装置
CN114116236B (zh) * 2022-01-26 2022-04-08 中国电子科技集团公司第十五研究所 一种异构计算系统的构建方法及系统
CN115470901B (zh) * 2022-09-06 2023-05-19 北京大学 支持移动端异构处理器分载的混合精度训练方法及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10602242B2 (en) * 2017-06-14 2020-03-24 GM Global Technology Operations LLC Apparatus, method and system for multi-mode fusion processing of data of multiple different formats sensed from heterogeneous devices
CN110379416B (zh) * 2019-08-15 2021-10-22 腾讯科技(深圳)有限公司 一种神经网络语言模型训练方法、装置、设备及存储介质
CN110705705B (zh) * 2019-09-25 2022-04-22 浪潮电子信息产业股份有限公司 卷积神经网络模型同步训练方法、集群及可读存储介质
CN110889439B (zh) * 2019-11-08 2022-06-17 浪潮电子信息产业股份有限公司 一种图像特征提取方法、装置及电子设备和存储介质

Also Published As

Publication number Publication date
CN111860867A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111860867B (zh) 一种混合异构系统的模型训练方法、系统及相关装置
CN107659433B (zh) 一种云资源调度方法及设备
CN109918182A (zh) 虚拟化技术下的多gpu任务调度方法
CN115237580B (zh) 面向智能计算的流水并行训练自适应调整系统、方法
CN111831355B (zh) 权重精度配置方法、装置、设备及存储介质
CN114676761B (zh) 预训练模型训练处理方法、装置、电子设备及存储介质
CN108063784A (zh) 一种云环境下应用集群资源分配的方法、装置和系统
CN112732444A (zh) 一种面向分布式机器学习的数据划分方法
CN103677960A (zh) 一种能耗约束的虚拟机博弈重放置方法
CN114281521A (zh) 优化深度学习异构资源通信效率方法、系统、设备及介质
US20220269993A1 (en) Modularized model interaction system and method
CN109918741B (zh) 一种适用于大规模水文模拟的参数率定方法
CN113886092A (zh) 一种计算图执行方法、装置及相关设备
CN112463340A (zh) 基于tensorflow的多任务弹性调度方法及系统
CN115496373A (zh) 应用于敏捷管理平台的任务分配方法及装置
CN105335226B (zh) 针对多处理器系统的迭代式静态任务列表调度方法
CN111858332B (zh) 一种分布式系统的计算资源弹性测试方法和装置
CN110969565A (zh) 图像处理的方法和装置
CN114579284A (zh) 任务调度方法及装置
CN114911621A (zh) 一种用于分布式训练计算阶段的自动优化方法
CN114356550A (zh) 一种面向三级并行中间件的计算资源自动分配方法及系统
CN109522106B (zh) 一种基于协同计算的风险价值模拟动态任务调度方法
CN108958938B (zh) 数据处理方法、装置及设备
CN117435308B (zh) 一种基于并行计算算法的Modelica模型仿真方法及系统
CN113254195B (zh) 电力优化运行方法、终端设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant