CN116627659B - 模型检查点文件保存方法、装置、设备及存储介质 - Google Patents
模型检查点文件保存方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116627659B CN116627659B CN202310899664.5A CN202310899664A CN116627659B CN 116627659 B CN116627659 B CN 116627659B CN 202310899664 A CN202310899664 A CN 202310899664A CN 116627659 B CN116627659 B CN 116627659B
- Authority
- CN
- China
- Prior art keywords
- model
- checkpoint file
- node
- nodes
- equipment
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 230000007246 mechanism Effects 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000011218 segmentation Effects 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 71
- 238000012549 training Methods 0.000 claims description 45
- 238000004321 preservation Methods 0.000 claims description 14
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Retry When Errors Occur (AREA)
Abstract
本申请公开了一种模型检查点文件保存方法、装置、设备及存储介质,本申请在确定需要保存检查点checkpoint文件时,为了避免单节点网卡或磁盘IO拥塞问题,引入了负载均衡机制,将模型分割后的各个部分的checkpoint文件保存任务分散到多个不同的设备节点上,控制不同的设备节点采用并行处理的方式执行本设备节点的checkpoint文件保存任务,这样可以充分利用各设备节点的资源,避免单节点网卡或磁盘IO拥塞,提高保存效率。
Description
技术领域
本申请涉及大规模模型训练技术领域,更具体的说,是涉及一种模型检查点文件保存方法、装置、设备及存储介质。
背景技术
模型预训练在各种业务上广泛开展,包括但不限于自然语言处理,图像识别,语音识别等领域,尤其在自然语言处理方向,训练更大规模的预训练模型(大型人工智能模型),再在下游任务中微调,已成为了提高自然语言处理NLP应用的常见方法。在这些应用中,模型大小从最开始的几百兆参数,扩展到如今的上万亿参数,单个GPU的内存和算力将无法满足模型训练需求,需要通过模型并行技术,将参数分割到更多的GPU中。
同时,超大模型的checkpoint保存也面临诸多挑战(checkpoint是用于描述在每次训练后保存模型状态的术语,中文可以称为检查点,所保存的模型状态包括模型网络参数、优化器状态等,统称为检查点文件或checkpoint文件)。对于超大模型其需要切分为多个部分,分别部署到多个GPU中进行计算。参照图1,其示例了一种典型的超大模型训练场景。图中,Dn表示数据并行组rank号,Pl表示流水并行组rank号,Tm表示张量并行组rank号,表示模型并行组rank号。模型被拆分成16个部分,数据并行度为D=8,张量并行度/>,流水并行度/>,即模型并行度M=T/>P=16(流水并行因为通信量较小,一般进行跨节点拆分,张量并行通信量大且频繁,一般在节点内进行拆分,充分利用节点内的高带宽)。使用该并行策略进行训练,每4台机器中的16张GPU组成一个模型并行组,保存模型时,需要保存16份checkpoint文件。传统的模型保存方法,一般仅让数个并行组内的master节点(即Dn=0的节点)保存模型,如图1中加粗线框标记的进程所在的节点。这使得master节点的网卡或磁盘IO拥塞,降低模型保存效率。
发明内容
鉴于上述问题,提出了本申请以便提供一种模型检查点文件保存方法、装置、设备及存储介质,以避免仅使用master节点对各部分模型的checkpoint文件进行保存,导致master节点的网卡或磁盘IO拥塞,降低模型保存效率的问题。具体方案如下:
第一方面,提供了一种模型检查点文件保存方法,所述模型被分割为若干部分,分别部署于不同的设备节点上进行训练,方法包括:
当确定需要保存检查点checkpoint文件时,通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上;
控制不同的设备节点,采用并行处理的方式执行本设备节点的checkpoint文件保存任务。
优选地,所述通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上,包括:
从模型分割后的各部分中选取一未分配部分;
在所有设备节点中确定具有所述未分配部分的候选设备节点;
从各所述候选设备节点选择一个负载最小的目标候选设备节点,将所述未分配部分的checkpoint文件保存任务分配给所述目标候选设备节点,并为所述目标候选设备节点的负载状态增加设定值,返回执行从模型分割后的各部分中选取一未分配部分的步骤,直至不存在未分配的模型部分为止。
优选地,所述模型采用流水并行、张量并行和数据并行策略进行训练,则所述通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上,包括:
选取满足如下公式的设备节点进程来保存模型Mi部分的checkpoint文件:
其中,Pl表示流水并行组rank号,Tm表示张量并行组rank号,Dn表示数据并行组
rank号,Mi表示模型并行组rank号,D表示数据并行度,T表示张量并行度,表示取余运算,为关系运算符,表示左右两边值是否相同。
优选地,控制每一设备节点执行checkpoint文件保存任务的过程,包括:
通过设备节点的训练进程将需要保存的checkpoint文件卸载到中央处理器CPU,并存储至设定的保存队列中;
通过设备节点的后台保存进程异步地从所述保存队列中读取并执行checkpoint文件保存任务。
优选地,还包括:
在保存checkpoint文件过程中,若监控到训练进程发生异常,则等待所述保存队列中的checkpoint文件保存任务执行完毕后再退出进程。
优选地,还包括:
若当前设备节点的保存进程发生异常,则将分配到所述当前设备节点的checkpoint文件保存任务分配给其它可用的设备节点,以供其他设备节点进行保存。
第二方面,提供了一种模型检查点文件保存装置,所述模型被分割为若干部分,分别部署于不同的设备节点上进行训练,装置包括:
文件分散单元,用于当确定需要保存检查点checkpoint文件时,通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上;
并行保存单元,用于控制不同的设备节点,采用并行处理的方式执行本设备节点的checkpoint文件保存任务。
优选地,所述并行保存单元控制每一设备节点执行本设备节点的checkpoint文件保存任务的过程,包括:
通过设备节点的训练进程将需要保存的checkpoint文件卸载到中央处理器CPU,并存储至设定的保存队列中;
通过设备节点的后台保存进程异步地从所述保存队列中读取并执行checkpoint文件保存任务。
第三方面,提供了一种模型检查点文件保存设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如前所述的模型检查点文件保存方法的各个步骤。
第四方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如前所述的模型检查点文件保存方法的各个步骤。
借由上述技术方案,本申请在确定需要保存checkpoint文件时,为了避免单节点网卡或磁盘IO拥塞问题,引入了负载均衡机制,将模型分割后的各个部分的checkpoint文件保存任务分散到多个不同的设备节点上,控制不同的设备节点采用并行处理的方式执行本设备节点的checkpoint文件保存任务,这样可以充分利用各设备节点的资源,避免单节点网卡或磁盘IO拥塞,提高保存效率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示例了一种典型的超大模型训练场景示意图;
图2为本申请实施例提供的模型检查点文件保存方法的一流程示意图;
图3为本申请实施例提供的一种超大模型训练场景示意图;
图4为本申请实施例提供的一种通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到不同设备节点上的方法流程示意图;
图5为本申请实施例提供的一种模型检查点文件保存装置结构示意图;
图6为本申请实施例提供的一种模型检查点文件保存设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种模型检查点文件checkpoint文件保存方案,可以适用于对各类型模型训练过程的checkpoint文件进行保存,特别是对大型人工智能模型这类包含大规模参数的模型,可以有效提供保存效率。
本申请的模型检查点文件保存方法应用于模型训练集群,集群中包含多台设备节点,多台设备节点被划分为若干通信组。本实施例中以大规模模型训练任务为例进行说明,在大规模模型训练的任务中,由于模型的尺寸过大,通常需要通过多维并行的方案进行模型的切割,并部署在不同的设备节点中。常见的技术手段包括流水线并行技术、张量并行技术,以及用于集群扩充的数据并行技术,构建了三维并行的整体解决方案。
集群中的设备节点可以采用具备数据处理能力的终端实现,该终端可以是服务器、服务器集群、云端等。
接下来,结合图2所述,本申请的模型检查点文件保存方法可以包括如下步骤:
步骤S100、当确定需要保存checkpoint文件时,通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上。
参照图3所示,在数据并行训练的情况下,模型被分割后的各部分被分配到多个不同的设备节点上进行并行训练,为了避免现有技术通过单一设备节点进行全部checkpoint文件的保存所存在的网卡或磁盘IO拥塞的问题,本步骤中可以引入负载均衡机制,将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上。
步骤S110、控制不同的设备节点,采用并行处理的方式执行本设备节点的checkpoint文件保存任务。
具体地,不同的设备节点可以并行地执行本设备节点的checkpoint文件保存任务,充分利用***资源,提高保存效率。
本申请实施例提供的模型检查点文件保存方法,在确定需要保存checkpoint文件时,为了避免单节点网卡或磁盘IO拥塞问题,引入了负载均衡机制,将模型分割后的各个部分的checkpoint文件保存任务分散到多个不同的设备节点上,控制不同的设备节点采用并行处理的方式执行本设备节点的checkpoint文件保存任务,这样可以充分利用各设备节点的资源,避免单节点网卡或磁盘IO拥塞,提高保存效率。
在本申请的一些实施例中,对上述步骤S100,通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上的过程,提供了几种不同的实现方式。
第一种、可以采用贪婪策略进行分配。
结合图4所示,具体包括如下步骤:
步骤S200、从模型分割后的各部分中选取一未分配部分。
步骤S210、在所有设备节点中确定具有所述未分配部分的候选设备节点。
具体地,在并行训练模式下,模型分割后的每一部分可以复制到不同的设备节点上进行并行训练。为了实现对每一部分模型的checkpoint文件进行保存,可以选择将每一部分模型的checkpoint文件保存任务分配给具备该部分模型的设备节点,因此本步骤中首先在所有设备节点中确定具有该未分配部分的候选设备节点。
步骤S220、从各所述候选设备节点选择一个负载最小的目标候选设备节点,将所述未分配部分的checkpoint文件保存任务分配给所述目标候选设备节点,并为所述目标候选设备节点的负载状态增加设定值。
具体地,为了尽量实现负载均衡,可以从候选设备节点中选择一个负载最小的目标候选设备节点,并将未分配部分的checkpoint文件保存任务分配给所述目标候选设备节点。进一步地,在分配之后可以为目标候选设备节点的负载状态增加设定值,示例如为目标候选设备节点的负载状态+1,以更新该目标候选设备节点的负载状态。
步骤S230、判断是否还存在未分配的模型部分,若是,返回执行上述步骤S200,若否,结束。
具体地,重复上述各个步骤直至将模型分割后的各个部分的checkpoint文件保存任务都分配完毕为止。
按照本实施例提供的方法,可以实现将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上,并尽量保证各设备节点的负载均衡,提升整体的保存效率。
结合图3所示,对上述方法进行示例性说明:
模型被分割为16部分,rank号分别为M0~M15。
按照上述M0~M15的顺序依次为每个部分分配checkpoint文件保存任务,对于M0,首先确定具有M0部分的候选设备节点,包括:0号节点的0号进程和4号进程、4号节点的0号进程和4号进程、8号节点的0号进程和4号进程、12号节点的0号进程和4号进程。
进一步,初始状态下各设备节点中各个进程的负载均相同,因此可以随机从各候选设备节点中选择一个目标候选设备节点,假设选择0号节点的0号进程,用于执行M0部分的checkpoint文件保存任务。同时,为0号节点的负载状态+1。
对于M1,首先确定具有M1部分的候选设备节点,包括:0号节点的1号进程和5号进程、4号节点的1号进程和5号进程、8号节点的1号进程和5号进程、12号节点的1号进程和5号进程。
进一步,从中选择负载最小的一个,也即从4号、8号、12号节点中选择一个进程,示例如选择了4号节点的1号进程,用于执行M1部分的checkpoint文件保存任务。同时,为4号节点的负载状态+1。
以此类推,直至分配完M15部分的checkpoint文件保存任务。M0~M15部分的分配结果可以参照图3中加粗线框标记的各进程。
第二种、针对模型采用流水并行、张量并行和数据并行策略进行训练的场景,提供了上述步骤S100的一种实现方式。
具体地,可以按照下述示例的公式,选取满足公式的设备节点进程来保存模型Mi部分的checkpoint文件:
其中,Pl表示流水并行组rank号,Tm表示张量并行组rank号,Dn表示数据并行组
rank号,Mi表示模型并行组rank号,D表示数据并行度,T表示张量并行度,表示取余运算,为关系运算符,表示左右两边值是否相同。
上述第一个公式用来保证选取的设备节点进程具有模型的Mi部分。示例性的,针对模型切分后的第0号部分,其rank号Mi=0。对于0号节点的0号进程,其Pl=0、T=4、Tm=0,则Pl/> T +Tm=0/>4+0==Mi。
上述第二个公式用于将张量并行组内的不同保存任务散列到不同的模型并行组。由于流水并行通常跨节点拆分,所以在该公式中可不予考虑。
示例性的,仍以模型切分后的第0号部分为例,其rank号Mi=0。对于0号节点的0号进程,D=8,T=4,Dn=0,用于保证在D小于T的情况下最小取值为1。公式左侧为:max{1,2}/>0%8=0== Dn。
显然,通过上述两个公式,可以选取0号节点的0号进程来保存模型M0部分的checkpoint文件。
对于其余模型其余部分,也可以采用上述公式来分配各部分的checkpoint文件保存任务,M0~M15部分的分配结果可以参照图3中加粗线框标记的各进程。
采用本实施例提供的分配方法,也可以实现将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上,并尽量保证各设备节点的负载均衡,提升整体的保存效率。
在本申请的一些实施例中,考虑到传统的同步保存模型的方式会阻塞模型训练进程,也即训练进程在执行checkpoint文件保存任务时,无法同时执行模型训练任务,进而影响训练进程,造成不必要的停顿时间。
为此,本实施例中提供了一种异步保存方案。具体地:
上述步骤S110中,控制每一设备节点执行checkpoint文件保存任务的过程,可以包括:
通过设备节点的训练进程将需要保存的checkpoint文件卸载到中央处理器CPU,并存储至设定的保存队列中。
通过设备节点的后台保存进程异步地从所述保存队列中读取并执行checkpoint文件保存任务。
由此可知,本实施例中设备节点的训练进程仅需要将需要保存的checkpoint文件卸载到CPU,并存储到指定的保存队列中即可,由后台保存进程异步地从保存队列中读取并执行checkpoint文件保存任务,训练进程无需等待checkpoint文件全部保存落盘后再继续执行模型训练,也即模型的训练可以持续地进行,不会因为同步等待checkpoint文件落盘而阻塞,大大提高了训练效率。
在本申请的一些实施例中,进一步提供了一种异常处理机制,用于应对保存checkpoint文件过程中可能出现的异常情况。
在保存checkpoint文件过程中,若监控到训练进程发生异常,示例如网络中断、节点故障、代码逻辑错误等,则可以设置等待保存队列中的checkpoint文件保存任务执行完毕后再退出进程。避免checkpoint文件保存任务尚未执行完毕前就退出进程所可能出现的checkpoint文件未成功落盘保存,再次启动训练时无法恢复模型状态,浪费训练时间的问题。
此外,设备节点的保存进程也可能发生异常,示例如设备节点硬件出现故障,则可能导致设备节点的训练进程、保存进程均出现异常,则当前设备节点无法进行checkpoint文件的保存任务。在此基础上,本申请可以将分配到当前设备节点的checkpoint文件保存任务分配给其它可用的设备节点,以供其他设备节点进行保存。
重新分配checkpoint文件保存任务的过程,可以参照前文实施例介绍的分配方式,在分配过程排除当前设备节点即可,详细可以参照前文介绍,此处不再赘述。
本实施例中通过设置异常处理机制,能够自动进行故障恢复,保证了***的稳定性和可靠性。
下面对本申请实施例提供的模型检查点文件保存装置进行描述,下文描述的模型检查点文件保存装置与上文描述的模型检查点文件保存方法可相互对应参照。
参见图5,图5为本申请实施例公开的一种模型检查点文件保存装置结构示意图。
如图5所示,该装置可以包括:
文件分散单元11,用于当确定需要保存检查点checkpoint文件时,通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上;
并行保存单元12,用于控制不同的设备节点,采用并行处理的方式执行本设备节点的checkpoint文件保存任务。
可选的,上述文件分散单元通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上的过程,可以包括:
从模型分割后的各部分中选取一未分配部分;
在所有设备节点中确定具有所述未分配部分的候选设备节点;
从各所述候选设备节点选择一个负载最小的目标候选设备节点,将所述未分配部分的checkpoint文件保存任务分配给所述目标候选设备节点,并为所述目标候选设备节点的负载状态增加设定值,返回执行从模型分割后的各部分中选取一未分配部分的步骤,直至不存在未分配的模型部分为止。
另一种可选的情况下,在模型采用流水并行、张量并行和数据并行策略进行训练时,上述文件分散单元通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上的过程,可以包括:
选取满足如下公式的设备节点进程来保存模型Mi部分的checkpoint文件:
其中,Pl表示流水并行组rank号,Tm表示张量并行组rank号,Dn表示数据并行组
rank号,Mi表示模型并行组rank号,D表示数据并行度,T表示张量并行度,表示取余运算,为关系运算符,表示左右两边值是否相同。
可选的,上述并行保存单元控制每一设备节点执行本设备节点的checkpoint文件保存任务的过程,可以包括:
通过设备节点的训练进程将需要保存的checkpoint文件卸载到中央处理器CPU,并存储至设定的保存队列中;
通过设备节点的后台保存进程异步地从所述保存队列中读取并执行checkpoint文件保存任务。
可选的,本申请的装置还可以包括:
第一异常处理单元,用于在保存checkpoint文件过程中,若监控到训练进程发生异常,则等待所述保存队列中的checkpoint文件保存任务执行完毕后再退出进程。
可选的,本申请的装置还可以包括:
第二异常处理单元,用于在当前设备节点的保存进程发生异常时,将分配到所述当前设备节点的checkpoint文件保存任务分配给其它可用的设备节点,以供其他设备节点进行保存。
本申请实施例提供的模型检查点文件保存装置可应用于模型检查点文件保存设备,该设备可以是模型训练集群中的训练设备,如服务器、服务器集群、云端等。可选的,图6示出了模型检查点文件保存设备的硬件结构框图,参照图6,设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
当确定需要保存检查点checkpoint文件时,通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上;
控制不同的设备节点,采用并行处理的方式执行本设备节点的checkpoint文件保存任务。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
当确定需要保存检查点checkpoint文件时,通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上;
控制不同的设备节点,采用并行处理的方式执行本设备节点的checkpoint文件保存任务。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种模型检查点文件保存方法,其特征在于,所述模型被分割为若干部分,分别部署于不同的设备节点上进行训练,方法包括:
当确定需要保存检查点checkpoint文件时,通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上;
控制不同的设备节点,采用并行处理的方式执行本设备节点的checkpoint文件保存任务;
所述通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上,包括:
从模型分割后的各部分中选取一未分配部分;
在所有设备节点中确定具有所述未分配部分的候选设备节点;
从各所述候选设备节点选择一个负载最小的目标候选设备节点,将所述未分配部分的checkpoint文件保存任务分配给所述目标候选设备节点,并为所述目标候选设备节点的负载状态增加设定值,返回执行从模型分割后的各部分中选取一未分配部分的步骤,直至不存在未分配的模型部分为止。
2.根据权利要求1所述的方法,其特征在于,所述模型采用流水并行、张量并行和数据并行策略进行训练,则所述通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上,包括:
选取满足如下公式的设备节点进程来保存模型Mi部分的checkpoint文件:
其中,Pl表示流水并行组rank号,Tm表示张量并行组rank号,Dn表示数据并行组rank号,Mi表示模型并行组rank号,D表示数据并行度,T表示张量并行度,表示取余运算,/>为关系运算符,表示左右两边值是否相同。
3.根据权利要求1所述的方法,其特征在于,控制每一设备节点执行checkpoint文件保存任务的过程,包括:
通过设备节点的训练进程将需要保存的checkpoint文件卸载到中央处理器CPU,并存储至设定的保存队列中;
通过设备节点的后台保存进程异步地从所述保存队列中读取并执行checkpoint文件保存任务。
4.根据权利要求3所述的方法,其特征在于,还包括:
在保存checkpoint文件过程中,若监控到训练进程发生异常,则等待所述保存队列中的checkpoint文件保存任务执行完毕后再退出进程。
5.根据权利要求3所述的方法,其特征在于,还包括:
若当前设备节点的保存进程发生异常,则将分配到所述当前设备节点的checkpoint文件保存任务分配给其它可用的设备节点,以供其他设备节点进行保存。
6.一种模型检查点文件保存装置,其特征在于,所述模型被分割为若干部分,分别部署于不同的设备节点上进行训练,装置包括:
文件分散单元,用于当确定需要保存检查点checkpoint文件时,通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上;
并行保存单元,用于控制不同的设备节点,采用并行处理的方式执行本设备节点的checkpoint文件保存任务;
所述通过负载均衡机制将各部分模型的checkpoint文件保存任务分散到多个不同的设备节点上,包括:
从模型分割后的各部分中选取一未分配部分;
在所有设备节点中确定具有所述未分配部分的候选设备节点;
从各所述候选设备节点选择一个负载最小的目标候选设备节点,将所述未分配部分的checkpoint文件保存任务分配给所述目标候选设备节点,并为所述目标候选设备节点的负载状态增加设定值,返回执行从模型分割后的各部分中选取一未分配部分的步骤,直至不存在未分配的模型部分为止。
7.根据权利要求6所述的装置,其特征在于,所述并行保存单元控制每一设备节点执行本设备节点的checkpoint文件保存任务的过程,包括:
通过设备节点的训练进程将需要保存的checkpoint文件卸载到中央处理器CPU,并存储至设定的保存队列中;
通过设备节点的后台保存进程异步地从所述保存队列中读取并执行checkpoint文件保存任务。
8.一种模型检查点文件保存设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~5中任一项所述的模型检查点文件保存方法的各个步骤。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~5中任一项所述的模型检查点文件保存方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310899664.5A CN116627659B (zh) | 2023-07-21 | 2023-07-21 | 模型检查点文件保存方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310899664.5A CN116627659B (zh) | 2023-07-21 | 2023-07-21 | 模型检查点文件保存方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116627659A CN116627659A (zh) | 2023-08-22 |
CN116627659B true CN116627659B (zh) | 2023-12-01 |
Family
ID=87602896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310899664.5A Active CN116627659B (zh) | 2023-07-21 | 2023-07-21 | 模型检查点文件保存方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116627659B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873789B (zh) * | 2024-03-13 | 2024-05-10 | 之江实验室 | 一种基于分段量化的检查点写入方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188346A (zh) * | 2013-03-05 | 2013-07-03 | 北京航空航天大学 | 支持分布式决策的大规模高并发访问i/o服务器负载均衡*** |
US9158540B1 (en) * | 2011-11-14 | 2015-10-13 | Emc Corporation | Method and apparatus for offloading compute resources to a flash co-processing appliance |
WO2016122596A1 (en) * | 2015-01-30 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Checkpoint-based scheduling in cluster |
CN106027647A (zh) * | 2016-05-20 | 2016-10-12 | 云南云电同方科技有限公司 | Lxpfs集群分布式文件存储*** |
CN109819057A (zh) * | 2019-04-08 | 2019-05-28 | 科大讯飞股份有限公司 | 一种负载均衡方法及*** |
CN111258824A (zh) * | 2020-01-18 | 2020-06-09 | 重庆邮电大学 | 一种云计算中基于人工势场的增量检查点容错方法 |
CN114787833A (zh) * | 2019-09-23 | 2022-07-22 | 普雷萨根私人有限公司 | 分散式人工智能(ai)/机器学习训练*** |
CN116185623A (zh) * | 2023-02-07 | 2023-05-30 | 北京百分点科技集团股份有限公司 | 任务分配方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9804798B2 (en) * | 2012-12-14 | 2017-10-31 | Vmware, Inc. | Storing checkpoint file in high performance storage device for rapid virtual machine suspend and resume |
US10268744B2 (en) * | 2015-09-22 | 2019-04-23 | Walmart Apollo, Llc | System for maintaining consistency across a decentralized database cluster and method therefor |
-
2023
- 2023-07-21 CN CN202310899664.5A patent/CN116627659B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9158540B1 (en) * | 2011-11-14 | 2015-10-13 | Emc Corporation | Method and apparatus for offloading compute resources to a flash co-processing appliance |
CN103188346A (zh) * | 2013-03-05 | 2013-07-03 | 北京航空航天大学 | 支持分布式决策的大规模高并发访问i/o服务器负载均衡*** |
WO2016122596A1 (en) * | 2015-01-30 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Checkpoint-based scheduling in cluster |
CN106027647A (zh) * | 2016-05-20 | 2016-10-12 | 云南云电同方科技有限公司 | Lxpfs集群分布式文件存储*** |
CN109819057A (zh) * | 2019-04-08 | 2019-05-28 | 科大讯飞股份有限公司 | 一种负载均衡方法及*** |
CN114787833A (zh) * | 2019-09-23 | 2022-07-22 | 普雷萨根私人有限公司 | 分散式人工智能(ai)/机器学习训练*** |
CN111258824A (zh) * | 2020-01-18 | 2020-06-09 | 重庆邮电大学 | 一种云计算中基于人工势场的增量检查点容错方法 |
CN116185623A (zh) * | 2023-02-07 | 2023-05-30 | 北京百分点科技集团股份有限公司 | 任务分配方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116627659A (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230169351A1 (en) | Distributed training method based on end-to-end adaption, and device | |
CN116627659B (zh) | 模型检查点文件保存方法、装置、设备及存储介质 | |
CN112416585A (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN112114973B (zh) | 一种数据处理方法及装置 | |
CN110134505A (zh) | 一种集群***的分布式计算方法、***及介质 | |
CN115237580B (zh) | 面向智能计算的流水并行训练自适应调整***、方法 | |
CN116340005B (zh) | 容器集群的调度方法、装置、设备及存储介质 | |
CN111209106B (zh) | 一种基于缓存机制的流式图划分方法和*** | |
CN112732444A (zh) | 一种面向分布式机器学习的数据划分方法 | |
US11775344B1 (en) | Training task queuing cause analysis method and system, device and medium | |
US20210390405A1 (en) | Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof | |
CN112256441B (zh) | 神经网络推理的内存分配方法及装置 | |
CN115951845B (zh) | 一种磁盘管理方法、装置、设备及存储介质 | |
CN113626173A (zh) | 调度方法、装置及存储介质 | |
CN111049900B (zh) | 一种物联网流计算调度方法、装置和电子设备 | |
CN104503820B (zh) | 一种基于异步启动的Hadoop优化方法 | |
CN113821174B (zh) | 存储处理方法、装置、网卡设备及存储介质 | |
CN112948087A (zh) | 一种基于拓扑排序的任务调度方法及*** | |
KR101916809B1 (ko) | 가상 클러스터 배치 방법 및 이를 제공하기 위한 장치 | |
CN113094168A (zh) | 模型的分布式训练方法、装置和*** | |
CN111541623B (zh) | 一种数据处理方法及装置 | |
CN112631743B (zh) | 任务调度方法、装置及存储介质 | |
CN109542601B (zh) | 策略编译方法、装置、电子设备及计算机存储介质 | |
CN117234749A (zh) | 分组计算任务的方法、装置、设备、存储介质和程序产品 | |
CN111796919A (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 |