CN114936117A - 模型训练的方法、服务器、芯片以及系统 - Google Patents
模型训练的方法、服务器、芯片以及系统 Download PDFInfo
- Publication number
- CN114936117A CN114936117A CN202111028409.0A CN202111028409A CN114936117A CN 114936117 A CN114936117 A CN 114936117A CN 202111028409 A CN202111028409 A CN 202111028409A CN 114936117 A CN114936117 A CN 114936117A
- Authority
- CN
- China
- Prior art keywords
- training
- model
- resource
- training resource
- processor
- 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.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 413
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000013473 artificial intelligence Methods 0.000 claims description 54
- 238000012545 processing Methods 0.000 description 27
- 238000004590 computer program Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种模型训练的方法、装置以及系统,该方法包括:使用第一训练资源训练模型;在所述第一训练资源故障时,基于所述模型在所述第一训练资源故障时的模型参数,继续使用第二训练资源对所述模型进行训练。上述技术方案可以在硬件训练资源发生故障后,能够快速恢复训练任务,且不损失训练的时间。
Description
技术领域
本申请涉及人工智能领域,并且更具体地,涉及一种模型训练的方法、服务器、芯片以及系统。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。在AI领域中,模型可以被特定的数据集进行训练后,单独用于完成一项任务或与其他神经网络(或其他功能模块)组合完成一项任务。
一般而言,模型的精度会随着训练数据量的增加而上升。随着神经网络规模和数据集规模的急剧增长,会使得计算负荷变大,因此,分布式模型训练技术应运而生。分布式模型训练技术旨在通过增加计算资源,并通过多个计算资源对训练的模型进行迭代,以提升模型的训练速度。
在分布式训练系统中,经常会发生由于某个硬件训练资源故障而导致训练任务异常的情况。相关的技术方案中,在模型训练的过程中,可以周期性地保存模型训练过程数据(也可以称为模型参数)。在某个硬件训练资源故障时,基于周期性保存的模型训练过程数据重新启动训练过程。由于模型训练过程数据的保存周期一般为小时级别,因此,基于周期性保存的模型训练过程数据重新启动训练过程会损失一定的训练时间。
发明内容
本申请提供一种模型训练的方法、服务器、芯片以及系统,可以硬件训练资源发生故障后,快速恢复训练任务,且不损失训练的时间。
第一方面,提供了一种模型训练的方法,包括:使用第一训练资源训练模型;在所述第一训练资源故障时,基于所述模型在所述第一训练资源故障时的模型参数,继续使用第二训练资源对所述模型进行训练。
上述技术方案中,在有硬件资源发生故障后,模型训练任务不退出,继续调度新的硬件资源并加载模型在故障时刻的模型参数,并基于该模型参数继续进行模型训练。这样,可以实现新的硬件资源从故障发生时刻继续训练的目的,在硬件训练资源发生故障后,可以快速恢复训练任务,且不损失训练的时间。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:在所述第一训练资源故障时,通知与所述第一训练资源共同参与训练所述模型的第三训练资源暂停对所述模型的训练。
结合第一方面,在第一方面的某些实现方式中,所述模型在所述第一训练资源故障时的模型参数是从所述第三训练资源获取的。
结合第一方面,在第一方面的某些实现方式中,,所述模型在所述第一训练资源故障时的模型参数包括以下信息中的一种或多种的组合:所述模型的权重信息、偏差信息、梯度信息、编译信息、算子编译信息、辅助变量信息、训练集数据。
结合第一方面,在第一方面的某些实现方式中,所述第一训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU;或者,所述第二训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:从所述第三训练资源的存储空间获得所述模型在所述第一训练资源故障时的模型参数,所述存储空间来自于所述第三训练资源的内存或者与所述第三训练资源连接的存储器。
结合第一方面,在第一方面的某些实现方式中,所述方法由集群管理设备执行。
第二方面,提供了一种模型训练的方法,所述方法包括:在第一训练资源故障时,第二训练资源基于模型在所述第一训练资源故障时的模型参数,继续对所述模型进行训练,所述第一训练资源参与对所述模型的训练。
结合第二方面,在第二方面的某些实现方式中,所述模型在所述第一训练资源故障时的模型参数是从第三训练资源获取的,所述第三训练资源是与所述第一训练资源共同参与训练所述模型的资源。
结合第二方面,在第二方面的某些实现方式中,所述模型在所述第一训练资源故障时的模型参数包括以下信息中的一种或多种的组合:所述模型的权重信息、偏差信息、梯度信息、编译信息、算子编译信息、辅助变量信息、训练集数据。
结合第二方面,在第二方面的某些实现方式中,所述第一训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU;或者,所述第二训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:所述第二训练资源从所述第三训练资源的存储空间获得所述模型在所述第一训练资源故障时的模型参数,所述存储空间来自于所述第三训练资源的内存或者与所述第三训练资源连接的存储器。
第二方面和第二方面的任意一个可能的实现方式的有益效果和第一方面以及第一方面的任意一个可能的实现方式的有益效果是对应的,对此,不再赘述。
第三方面,提供了一种模型训练的装置,包括:调度模块,用于使用第一训练资源训练模型;在所述第一训练资源故障时,基于所述模型在所述第一训练资源故障时的模型参数,继续使用第二训练资源对所述模型进行训练。
结合第三方面,在第三方面的某些实现方式中,所述装置还包括:故障管理模块,用于在所述第一训练资源故障时,通知与所述第一训练资源共同参与训练所述模型的第三训练资源暂停对所述模型的训练。
结合第三方面,在第三方面的某些实现方式中,所述模型在所述第一训练资源故障时的模型参数是从所述第三训练资源获取的。
结合第三方面,在第三方面的某些实现方式中,所述模型在所述第一训练资源故障时的模型参数包括以下信息中的一种或多种的组合:所述模型的权重信息、偏差信息、梯度信息、编译信息、算子编译信息、辅助变量信息、训练集数据。
结合第三方面,在第三方面的某些实现方式中,所述第一训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU;或者,所述第二训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU。
结合第三方面,在第三方面的某些实现方式中,所述故障管理模块还用于:从所述第三训练资源的存储空间获得所述模型在所述第一训练资源故障时的模型参数,所述存储空间来自于所述第三训练资源的内存或者与所述第三训练资源连接的存储器。
结合第三方面,在第三方面的某些实现方式中,所述装置设置于集群管理设备中。
第四方面,提供了一种模型训练的装置,所述装置设置于第二训练资源中,包括:训练模块,用于在第一训练资源故障时,基于模型在所述第一训练资源故障时的模型参数,继续对所述模型进行训练,所述第一训练资源参与对所述模型的训练。
结合第四方面,在第四方面的某些实现方式中,所述模型在所述第一训练资源故障时的模型参数是从第三训练资源获取的,所述第三训练资源是与所述第一训练资源共同参与训练所述模型的资源。
结合第四方面,在第四方面的某些实现方式中,所述模型在所述第一训练资源故障时的模型参数包括以下信息中的一种或多种的组合:所述模型的权重信息、偏差信息、梯度信息、编译信息、算子编译信息、辅助变量信息、训练集数据。
结合第四方面,在第四方面的某些实现方式中,所述第一训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU;或者,所述第二训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU。
结合第四方面,在第四方面的某些实现方式中,所述装置还包括:获取模块,用于从所述第三训练资源的存储空间获得所述模型在所述第一训练资源故障时的模型参数,所述存储空间来自于所述第三训练资源的内存或者与所述第三训练资源连接的存储器。
第五方面,提供了一种服务器,包括处理器和存储器,其中所述存储器用于存储计算机程序,所述处理器用于从存储器中调用并运行该计算机程序,使得所述执行第一方面或第一方面任意一种可能的实现方式中所述的方法。
可选地,该处理器可以是通用处理器,可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第六方面,提供了一种芯片,该芯片获取指令并执行该指令来实现上述第二方面以及第二方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述第二方面以及第二方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行第二方面以及第二方面中的任意一种实现方式中的方法。
第七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面以及第一方面的任意一种实现方式中的方法。
第八方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第二方面以及第二方面的任意一种实现方式中的方法。
第九方面,提供了一种计算机可读存储介质,包括指令;所述指令用于实现上述第一方面以及第一方面的任意一种实现方式中的方法。
作为示例,这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasablePROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。
第十方面,提供了一种计算机可读存储介质,包括指令;所述指令用于实现上述第二方面以及第二方面的任意一种实现方式中的方法。
作为示例,这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasablePROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。
第十一方面,提供了一种模型训练的系统,包括如第三方面以及第三方面的任意一种实现方式中的模型训练的装置以及如第四方面以及第四方面的任意一种实现方式中的模型训练的装置。
附图说明
图1是本申请实施例提供的一种分布式训练系统100的示意性框图。
图2是本申请实施例提供的一种模型训练的方法的示意性流程图。
图3是本申请实施例提供的一种模型训练的装置300的示意性框图。
图4是本申请实施例提供的另一种模型训练的装置400的示意性框图。
图5是本申请实施例提供的一种计算设备500的架构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的网络架构以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:包括单独存在A,同时存在A和B,以及单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
在AI领域中,模型可以被特定的数据集进行训练后,单独用于完成一项任务或与其他神经网络(或其他功能模块)组合完成一项任务。应理解,对模型的训练是一个重复迭代的过程,通过每一次的迭代确定模型的参数。具体的,对模型进行训练时,训练数据可以分批地输入至经过参数初始化后的模型,模型对训练数据进行计算(也即推理),获得针对训练数据的预测结果。经过推理获得的预测结果以及训练数据对应的标签作为根据损失函数计算损失的数据。基于损失函数计算得到的损失值可以用于更新模型的参数,具体的参数更新的方式常采用梯度下降方法。在每一次重复迭代的过程,对不同的训练数据进行推理,并计算损失值。多次迭代的目标是不断地更新模型的参数,找到使损失函数的损失值最低或者趋于平稳的参数配置。
一般而言,模型的精度会随着训练数据量的增加而上升。随着神经网络规模和数据集规模的急剧增长,会使得计算负荷变大,因此,分布式模型训练技术应运而生。分布式模型训练技术旨在通过增加计算资源,并通过多个计算资源对训练的模型进行迭代,以提升模型的训练速度。
下面结合图1,对应用于本申请实施例的一种对模型进行分布式训练的系统进行详细描述。
图1是本申请实施例提供的一种分布式训练系统100的示意性框图。如图1所示,该分布式训练系统100中可以包括:管理服务器111、多个训练资源112。
管理服务器111,用于负责对模型训练任务以及上述多个训练资源112进行调度和管理。作为示例,管理服务器111中可以包括集群管理模块1111,例如,该集群管理模块1111可以调度训练资源112执行模型训练任务。又如,集群管理模块1111还可以监控多个训练资源112的运行状态(训练资源112是否发生故障等)。又如,集群管理模块1111还可以监控训练资源112所在的服务器的运行状态(训练资源112所在的服务器是否掉电等)。
还应理解,管理服务器111和上述模型训练服务器可以是一台设备,或者也可以是不同的设备,本申请实施例对此不做限定。
多个训练资源112,分别用于根据不同的训练数据完成模型的训练。具体的,训练资源112可以是负责执行模型训练任务的硬件资源,该硬件资源例如可以是AI处理器,或图像处理器(graphics processing unit,GPU),或张量处理器(tensor processing unit,TPU)。本申请实施例对此不做具体限定。
应理解,上述多个训练资源112可以位于同一台模型训练服务器上,或者也可以位于不同的模型训练服务器上,本申请实施例对此不做限定。
下面以一个训练资源112为例,对训练资源112根据训练数据完成模型训练的过程进行详细描述。
举例说明,训练资源112上运行有AI训练框架1121以及训练脚本1122,从而进行模型的多次迭代的训练过程,以确定模型的相关参数。具体的,模型的每次迭代训练过程可以包括前向传播(forward propagation,FP)计算和反向传播(back propagation,BP)计算。在训练资源112执行FP计算的过程中,训练资源112获取训练脚本1122中的训练数据,比如输入图像的像素信息。将该训练数据作为模型的输入,模型根据参数矩阵中的权重对该训练数据进行计算,获得针对该训练数据的预测结果。在训练资源112执行BP计算的过程中,训练资源112根据推理获得的预测结果和训练数据对应的标签,基于损失函数计算得到损失值,并基于该损失值更新深度学习模型的参数(例如,深度学习模型的参数矩阵中的权重)。例如,可以采用梯度下降方法,根据损失值确定参数矩阵中的权重的梯度,并基于该梯度对参数矩阵中的权重进行更新。训练资源112在多次迭代的过程中,重复执行FP计算和BP计算,不断地更新深度学习模型的参数,最终确定出最优的深度学习模型的参数,使得推理获得的预测结果和训练数据对应的标签之间的损失值最低或者趋于平稳。
上述AI训练框架1121为一种便于AI开发者进行快速AI模型开发的工具库。AI训练框架1121内封装有多种可被调用的算子,也包含进行AI模型开发、训练和部署所需要的工具。在进行AI模型的构建、训练和推理等过程中,可以通过应用程序界面(applicationprogram interface,API)调用的方式调用AI训练框架1121中的封装的算子,再结合简单的一些驱动代码完成相应的操作。AI训练框架1121可以包括但不限于:PyTorch、张量流(TensorFlow)等。
以TensorFlow为例,TensorFlow是Google开源的第二代用于数字计算(numericalcomputation)的软件库,是一个非常灵活的基于数据流图的处理框架,能够运行在个人电脑或者服务器的单个或多个CPU和GPU上。TensorFlow计算框架要求所有的计算都表示成图,节点在图中被称为运算操作(operation,OP)。计算图是通过会话(session)提交的,一个session决定图中的运算该到哪个硬件资源上去计算。
在图1所述的分布式训练系统100中,经常会发生由于某个硬件训练资源故障而导致训练任务异常的情况,需要重新进行模型的训练。该某个硬件故障训练资源可以包括但不限于:训练资源112自身发生故障、该训练资源112所在的服务器发生故障。
相关的技术方案中,在模型训练的过程中,可以周期性地保存训练过程数据(例如,模型的参数等)作为checkpoint(CKPT)。这样,在进行模型训练的某个硬件(例如,训练资源112)发生故障后,正常运行的训练资源112可以加载上述CKPT,并从CKPT保存时刻开始重新启动训练任务。但是,由于受限于CKPT数据大小和存储带宽、空间等因素,CKPT保存周期一般为小时级别。以3小时保存周期为例,根据故障发生的时间,最大会带来3小时的训练时间损失。同时,重新启动训练需要重新编译加载模型以及模型的参数,一般是十分钟级别的时间消耗。
有鉴于此,本申请实施例提供了一种模型训练的方法,在进行分布式训练的硬件训练资源发生故障后,可以快速恢复训练任务,且不损失训练的时间。
图2是本申请实施例提供的一种模型训练的方法的示意性流程图。如图2所示,该方法可以包括步骤210-220,下面分别对步骤210-220进行详细描述。
步骤210:集群管理模块1111调度使用第一训练资源训练模型。
作为示例,集群管理服务器中的集群管理模块1111负责对整个硬件训练资源和训练任务进行调度和管理。本申请实施例中,第一训练资源为分布式训练系统中的任意一个训练资源,负责执行训练任务,对模型进行训练。
举例说明,上述第一训练资源可以是AI处理器,或者还可以是图像处理器(graphics processing unit,GPU),或者还可以是张量处理器(tensor processing unit,TPU),本申请实施例对此不做具体限定。
步骤220:在第一训练资源故障时,基于模型在第一训练资源故障时的模型参数,集群管理模块1111调度使用第二训练资源继续对该模型进行训练。
第一训练资源故障可以理解为第一训练资源本身发生故障,或者也可以是第一训练资源所在的服务器发生故障。
作为示例,集群管理服务器中的集群管理模块1111确定第一训练资源故障的具体实现当时有多种,本申请实施例对此不做具体限定。一种可能的实现方式中,集群管理模块1111向第一训练资源发送查询信息,该查询信息用于确定进行模型训练的第一训练资源是否发生故障。另一种可能的实现方式中,在进行模型训练的第一训练资源故障时,其可以向集群管理模块1111发出告警,以便于集群管理模块1111确定其故障。
本申请实施例中,在第一训练资源发生故障时,可以基于模型在第一训练资源故障时的模型参数,继续使用第二训练资源对该模型进行训练。其中,模型在第一训练资源故障时的模型参数可以包括以下信息中的一种或多种的组合:所述模型在第一训练资源故障时的权重信息、偏差信息、梯度信息、编译信息、算子编译信息、辅助变量信息、训练集数据。第二训练资源为分布式训练系统中可用的任意一个训练资源,该第二训练资源可以是AI处理器,或者还可以是图像处理器(graphics processing unit,GPU),或者还可以是张量处理器(tensor processing unit,TPU),本申请实施例对此不做具体限定。也就是说,第一训练资源和第二训练资源可以是同构的,或者也可以是异构的,本申请实施例对此不做具体限定。
作为示例,上述模型在第一训练资源故障时的模型参数是集群管理模块1111调度第二训练资源从第三训练资源获取的。其中,第三训练资源是分布式训练系统中与所述第一训练资源共同参与训练所述模型的可用的训练资源。具体的,第二训练资源可以从第一存储空间获得模型在第一训练资源故障时的模型参数。该第一存储空间可以来自于第三训练资源的内存,或者来自于和所述第三训练资源连接的存储器。
举例说明,上述存储器例如可以是固态硬盘(solid state drive,SSD),也可以是硬盘驱动器(hard disk drive,HDD),还可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)等。
举例说明,上述内存是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
需要说明的是,在第一训练资源故障时,集群管理模块1111通知分布式训练系统中与所述第一训练资源共同参与训练所述模型的第三训练资源不退出训练任务,暂停对所述模型的训练,并保存模型在第一训练资源故障时的模型参数。
上述技术方案中,在有硬件资源发生故障后,模型训练任务不退出,继续调度新的硬件资源并加载模型在故障时刻的模型参数,并基于该模型参数继续进行模型训练。这样,可以实现新的硬件资源从故障发生时刻继续训练的目的,在硬件训练资源发生故障后,可以快速恢复训练任务,且不损失训练的时间。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文结合图1至图2,详细描述了本申请实施例提供的模型训练的方法,下面将结合图3-图5,详细描述本申请装置的实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图3是本申请实施例提供的一种模型训练的装置300的示意性框图。该模型训练的装置300可以通过软件、硬件或者两者的结合实现成为装置中的部分或者全部。本申请实施例提供的模型训练的装置300可以实现本申请实施例图2所示的方法流程,该模型训练的装置300包括:调度模块310,用于调度使用第一训练资源训练模型;在所述第一训练资源故障时,基于所述模型在所述第一训练资源故障时的模型参数,继续调度使用第二训练资源对所述模型进行训练。
可选地,所述模型训练的装置300还包括:故障管理模块320,用于在所述第一训练资源故障时,通知与所述第一训练资源共同参与训练所述模型的第三训练资源暂停对所述模型的训练。
可选地,所述模型在所述第一训练资源故障时的模型参数是从所述第三训练资源获取的。
可选地,所述模型在所述第一训练资源故障时的模型参数包括以下信息中的一种或多种的组合:所述模型的权重信息、偏差信息、梯度信息、编译信息、算子编译信息、辅助变量信息、训练集数据。
可选地,所述第一训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU;或者,所述第二训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU。
可选地,所述故障管理模块320还用于:从所述第三训练资源的存储空间获得所述模型在所述第一训练资源故障时的模型参数,所述存储空间来自于所述第三训练资源的内存或者与所述第三训练资源连接的存储器。
可选地,所述模型训练的装置300设置于集群管理设备中。
这里的模型训练的装置300可以以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。
图4是本申请实施例提供的另一种模型训练的装置400的示意性框图。该模型训练的装置400可以通过软件、硬件或者两者的结合实现成为装置中的部分或者全部。本申请实施例提供的模型训练的装置400可以实现本申请实施例图2所示的方法流程,该模型训练的装置400设置于第二训练资源中,包括:训练模块410,用于在第一训练资源故障时,基于模型在所述第一训练资源故障时的模型参数,继续对所述模型进行训练,所述第一训练资源参与对所述模型的训练。
可选地,所述模型在所述第一训练资源故障时的模型参数是从第三训练资源获取的,所述第三训练资源是与所述第一训练资源共同参与训练所述模型的资源。
可选地,所述模型在所述第一训练资源故障时的模型参数包括以下信息中的一种或多种的组合:所述模型的权重信息、偏差信息、梯度信息、编译信息、算子编译信息、辅助变量信息、训练集数据。
可选地,所述第一训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU;或者,所述第二训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU。
可选地,所述装置400还包括:获取模块420,用于从所述第三训练资源的存储空间获得所述模型在所述第一训练资源故障时的模型参数,所述存储空间来自于所述第三训练资源的内存或者与所述第三训练资源连接的存储器。
例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
需要说明的是,上述实施例提供的模型训练的装置在执行模型训练的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的模型训练的装置与模型训练的方法实施例属于同一构思,其具体实现过程详见上文中的方法实施例,这里不再赘述。
本申请实施例提供的模型训练的方法可应用于集群管理设备,集群管理设备也可以被称为计算设备,或计算机系统。其包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括处理单元、内存和内存控制单元等硬件,随后对该硬件的功能和结构进行详细说明。该操作系统是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用程序。并且,可选地,该计算机系统是智能手机等手持设备,或个人计算机等终端设备,本申请并未特别限定,只要能够通过本申请实施例提供的方法即可。本申请实施例提供的模型训练的方法的执行主体可以是计算机系统,或者,是计算机系统中能够调用程序并执行程序的功能模块。
下面结合图5,对本申请实施例提供的一种执行上述模型训练的方法的计算设备进行详细描述。
图5是本申请实施例提供的一种计算设备500的架构示意图。该计算设备500可以是服务器或者计算机或者其他具有计算能力的设备。图5所示的计算设备500包括:至少一个处理器510和内存520。
处理器510执行内存520中的指令,使得计算设备500实现本申请提供的方法。或者,处理器510执行内存520中的指令,使得计算设备500实现本申请提供的各功能模块。
可选地,计算设备500还包括系统总线,其中,处理器510和内存520分别与系统总线连接。处理器510能够通过系统总线访问内存520,例如,处理器510能够通过系统总线在内存520中进行数据读写或代码执行。该系统总线是快捷外设部件互连标准(peripheralcomponent interconnect express,PCI)总线或扩展工业标准结构(extended industrystandard architecture,EISA)总线等。所述系统总线分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
一种可能的实现方式,处理器510的功能主要是解释计算机程序的指令(或者说,代码)以及处理计算机软件中的数据。其中,该计算机程序的指令以及计算机软件中的数据能够保存在内存520或者缓存516中。
可选地,处理器510可能是集成电路芯片,具有信号的处理能力。作为示例而非限定,处理器510是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其中,通用处理器是微处理器等。例如,该处理器510是中央处理单元(central processing unit,CPU)。
可选地,每个处理器510包括至少一个处理单元512和内存控制单元514。
可选地,处理单元512也称为核心(core)或内核,是处理器最重要的组成部分。处理单元512是由单晶硅以一定的生产工艺制造出来的,处理器所有的计算、接受命令、存储命令、处理数据都由核心执行。处理单元分别独立地运行程序指令,利用并行计算的能力加快程序的运行速度。各种处理单元都具有固定的逻辑结构,例如,处理单元包括例如,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元。
一种实现举例,内存控制单元514用于控制内存520与处理单元512之间的数据交互。具体地说,内存控制单元514从处理单元512接收内存访问请求,并基于该内存访问请求控制针对内存的访问。作为示例而非限定,内存控制单元是内存管理单元(memorymanagement unit,MMU)等器件。
一种实现举例,各内存控制单元514通过系统总线进行针对内存520的寻址。并且在系统总线中配置仲裁器(图中未示出),该仲裁器负责处理和协调多个处理单元512的竞争访问。
一种实现举例,处理单元512和内存控制单元514通过芯片内部的连接线,例如地址线,通信连接,从而实现处理单元512和内存控制单元514之间的通信。
可选地,每个处理器510还包括缓存516,其中,缓存是数据交换的缓冲区(称作cache)。当处理单元512要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助处理单元512更快地运行。
内存(memory)520能够为计算设备500中的进程提供运行空间,例如,内存520中保存用于生成进程的计算机程序(具体地说,是程序的代码)。计算机程序被处理器运行而生成进程后,处理器在内存520中为该进程分配对应的存储空间。进一步的,上述存储空间进一步包括文本段、初始化数据段、位初始化数据段、栈段、堆段等等。内存520在上述进程对应的存储空间中保存进程运行期间产生的数据,例如,中间数据,或过程数据等等。
可选地,内存也称为内存储器,其作用是用于暂时存放处理器510中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,处理器510就会把需要运算的数据调到内存中进行运算,当运算完成后处理单元512再将结果传送出来。
作为示例而非限定,内存520是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。应注意,本文描述的系统和方法的内存520旨在包括但不限于这些和任意其它适合类型的存储器。
以上列举的计算设备500的结构仅为示例性说明,本申请并未限定于此,本申请实施例的计算设备500包括现有技术中计算机系统中的各种硬件,例如,计算设备500还包括除内存520以外的其他存储器,例如,磁盘存储器等。本领域的技术人员应当理解,计算设备500还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,上述计算设备500还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,上述计算设备500也可仅仅包括实现本申请实施例所必须的器件,而不必包括图5中所示的全部器件。
上述描述的各示例的模块,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例还提供一种芯片,该芯片获取指令并执行该指令来实现上述模型训练的方法。
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述模型训练的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行上述模型训练的方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有指令,该指令用于上述方法实施例中的模型训练的方法,或者该指令用于实现上述的模型训练的装置。
本申请实施例还提供一种包含指令的计算机程序产品,该指令用于实现上述方法实施例中的模型训练的方法,或者该指令用于实现上述模型训练的装置。
一种实现举例,处理器可以为中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
一种实现举例,存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (27)
1.一种模型训练的方法,其特征在于,所述方法包括:
使用第一训练资源训练模型;
在所述第一训练资源故障时,基于所述模型在所述第一训练资源故障时的模型参数,继续使用第二训练资源对所述模型进行训练。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一训练资源故障时,通知与所述第一训练资源共同参与训练所述模型的第三训练资源暂停对所述模型的训练。
3.根据权利要求2所述的方法,其特征在于,所述模型在所述第一训练资源故障时的模型参数是从所述第三训练资源获取的。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述模型在所述第一训练资源故障时的模型参数包括以下信息中的一种或多种的组合:所述模型的权重信息、偏差信息、梯度信息、编译信息、算子编译信息、辅助变量信息、训练集数据。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU;或者,所述第二训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU。
6.根据权利要求3至5中任一项所述的方法,其特征在于,所述方法还包括:
从所述第三训练资源的存储空间获得所述模型在所述第一训练资源故障时的模型参数,所述存储空间来自于所述第三训练资源的内存或者与所述第三训练资源连接的存储器。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法由集群管理设备执行。
8.一种模型训练的方法,其特征在于,所述方法包括:
在第一训练资源故障时,第二训练资源基于模型在所述第一训练资源故障时的模型参数,继续对所述模型进行训练,所述第一训练资源参与对所述模型的训练。
9.根据权利要求8所述的方法,其特征在于,所述模型在所述第一训练资源故障时的模型参数是从第三训练资源获取的,所述第三训练资源是与所述第一训练资源共同参与训练所述模型的资源。
10.根据权利要求8或9所述的方法,其特征在于,所述模型在所述第一训练资源故障时的模型参数包括以下信息中的一种或多种的组合:所述模型的权重信息、偏差信息、梯度信息、编译信息、算子编译信息、辅助变量信息、训练集数据。
11.根据权利要求8至10中任一项所述的方法,其特征在于,所述第一训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU;或者,所述第二训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU。
12.根据权利要求9至11中任一项所述的方法,其特征在于,所述方法还包括:
所述第二训练资源从所述第三训练资源的存储空间获得所述模型在所述第一训练资源故障时的模型参数,所述存储空间来自于所述第三训练资源的内存或者与所述第三训练资源连接的存储器。
13.一种模型训练的装置,其特征在于,包括:
调度模块,用于使用第一训练资源训练模型;
所述调度模块,还用于在所述第一训练资源故障时,基于所述模型在所述第一训练资源故障时的模型参数,继续使用第二训练资源对所述模型进行训练。
14.根据权利要求13所述的装置,其特征在于,还包括:
故障管理模块,用于在所述第一训练资源故障时,通知与所述第一训练资源共同参与训练所述模型的第三训练资源暂停对所述模型的训练。
15.根据权利要求14所述的装置,其特征在于,所述模型在所述第一训练资源故障时的模型参数是从所述第三训练资源获取的。
16.根据权利要求13至15中任一项所述的装置,其特征在于,所述模型在所述第一训练资源故障时的模型参数包括以下信息中的一种或多种的组合:所述模型的权重信息、偏差信息、梯度信息、编译信息、算子编译信息、辅助变量信息、训练集数据。
17.根据权利要求13至16中任一项所述的装置,其特征在于,所述第一训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU;或者,所述第二训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU。
18.根据权利要求15至17中任一项所述的装置,其特征在于,所述故障管理模块还用于:
从所述第三训练资源的存储空间获得所述模型在所述第一训练资源故障时的模型参数,所述存储空间来自于所述第三训练资源的内存或者与所述第三训练资源连接的存储器。
19.根据权利要求13至18中任一项所述的装置,其特征在于,所述装置设置于集群管理设备中。
20.一种模型训练的装置,其特征在于,所述装置设置于第二训练资源中,包括:
训练模块,用于在第一训练资源故障时,基于模型在所述第一训练资源故障时的模型参数,继续对所述模型进行训练,所述第一训练资源参与对所述模型的训练。
21.根据权利要求20所述的装置,其特征在于,所述模型在所述第一训练资源故障时的模型参数是从第三训练资源获取的,所述第三训练资源是与所述第一训练资源共同参与训练所述模型的资源。
22.根据权利要求20或21所述的装置,其特征在于,所述模型在所述第一训练资源故障时的模型参数包括以下信息中的一种或多种的组合:所述模型的权重信息、偏差信息、梯度信息、编译信息、算子编译信息、辅助变量信息、训练集数据。
23.根据权利要求20至22中任一项所述的装置,其特征在于,所述第一训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU;或者,所述第二训练资源为人工智能AI处理器或者图像处理器GPU或者张量处理器TPU。
24.根据权利要求21至23中任一项所述的装置,其特征在于,还包括:
获取模块,用于从所述第三训练资源的存储空间获得所述模型在所述第一训练资源故障时的模型参数,所述存储空间来自于所述第三训练资源的内存或者与所述第三训练资源连接的存储器。
25.一种服务器,其特征在于,包括:处理器和存储器;所述处理器运行所述存储器中的指令,使得所述服务器执行如权利要求1至7中任一项所述的方法。
26.一种芯片,其特征在于,包括:处理器与数据接口;所述处理器通过该数据接口读取存储器上存储的指令,使得所述芯片执行如权利要求8至12中任一项所述的方法。
27.一种模型训练的系统,其特征在于,包括:如权利要求25中所述的服务器以及如权利要求26中所述的芯片。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111028409.0A CN114936117A (zh) | 2021-09-02 | 2021-09-02 | 模型训练的方法、服务器、芯片以及系统 |
PCT/CN2022/096851 WO2023029632A1 (zh) | 2021-09-02 | 2022-06-02 | 模型训练的方法、服务器、芯片以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111028409.0A CN114936117A (zh) | 2021-09-02 | 2021-09-02 | 模型训练的方法、服务器、芯片以及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114936117A true CN114936117A (zh) | 2022-08-23 |
Family
ID=82862249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111028409.0A Pending CN114936117A (zh) | 2021-09-02 | 2021-09-02 | 模型训练的方法、服务器、芯片以及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114936117A (zh) |
WO (1) | WO2023029632A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023098860A1 (zh) * | 2021-12-02 | 2023-06-08 | 华为技术有限公司 | 通信方法和通信装置 |
CN116755941A (zh) * | 2023-08-21 | 2023-09-15 | 之江实验室 | 一种模型训练的方法、装置、存储介质及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170220949A1 (en) * | 2016-01-29 | 2017-08-03 | Yahoo! Inc. | Method and system for distributed deep machine learning |
CN110135575A (zh) * | 2017-12-29 | 2019-08-16 | 英特尔公司 | 用于分布式机器学习的通信优化 |
CN110490316A (zh) * | 2019-08-21 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 基于神经网络模型训练系统的训练处理方法、训练系统 |
CN110738322A (zh) * | 2018-07-03 | 2020-01-31 | 杭州海康威视数字技术股份有限公司 | 一种分布式训练方法、装置、设备及系统 |
CN110737504A (zh) * | 2019-08-31 | 2020-01-31 | 苏州浪潮智能科技有限公司 | 一种深度学习模型训练容错方法、系统、终端及存储介质 |
CN110852445A (zh) * | 2019-10-28 | 2020-02-28 | 广州文远知行科技有限公司 | 分布式机器学习训练方法、装置、计算机设备和存储介质 |
CN111445027A (zh) * | 2019-01-16 | 2020-07-24 | 顺丰科技有限公司 | 机器学习模型的训练方法和装置 |
CN113312211A (zh) * | 2021-05-28 | 2021-08-27 | 北京航空航天大学 | 一种确保分布式学习系统的高可用性方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11288151B2 (en) * | 2019-08-13 | 2022-03-29 | Acronis International Gmbh | System and method of determining boot status of recovery servers |
US11226859B2 (en) * | 2020-01-26 | 2022-01-18 | Microsoft Technology Licensing, Llc | Systems and methods for error recovery |
CN112000473A (zh) * | 2020-08-12 | 2020-11-27 | 中国银联股份有限公司 | 深度学习模型的分布式训练方法以及装置 |
CN112631981A (zh) * | 2020-12-23 | 2021-04-09 | 中国人民解放军63921部队 | 一种模拟训练可靠容错仿真引擎 |
CN112506718B (zh) * | 2021-02-05 | 2021-05-11 | 浙江地芯引力科技有限公司 | 一种故障冗余机制的安全芯片处理器及处理方法 |
-
2021
- 2021-09-02 CN CN202111028409.0A patent/CN114936117A/zh active Pending
-
2022
- 2022-06-02 WO PCT/CN2022/096851 patent/WO2023029632A1/zh unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170220949A1 (en) * | 2016-01-29 | 2017-08-03 | Yahoo! Inc. | Method and system for distributed deep machine learning |
CN110135575A (zh) * | 2017-12-29 | 2019-08-16 | 英特尔公司 | 用于分布式机器学习的通信优化 |
CN110738322A (zh) * | 2018-07-03 | 2020-01-31 | 杭州海康威视数字技术股份有限公司 | 一种分布式训练方法、装置、设备及系统 |
CN111445027A (zh) * | 2019-01-16 | 2020-07-24 | 顺丰科技有限公司 | 机器学习模型的训练方法和装置 |
CN110490316A (zh) * | 2019-08-21 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 基于神经网络模型训练系统的训练处理方法、训练系统 |
CN110737504A (zh) * | 2019-08-31 | 2020-01-31 | 苏州浪潮智能科技有限公司 | 一种深度学习模型训练容错方法、系统、终端及存储介质 |
CN110852445A (zh) * | 2019-10-28 | 2020-02-28 | 广州文远知行科技有限公司 | 分布式机器学习训练方法、装置、计算机设备和存储介质 |
CN113312211A (zh) * | 2021-05-28 | 2021-08-27 | 北京航空航天大学 | 一种确保分布式学习系统的高可用性方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023098860A1 (zh) * | 2021-12-02 | 2023-06-08 | 华为技术有限公司 | 通信方法和通信装置 |
CN116755941A (zh) * | 2023-08-21 | 2023-09-15 | 之江实验室 | 一种模型训练的方法、装置、存储介质及电子设备 |
CN116755941B (zh) * | 2023-08-21 | 2024-01-09 | 之江实验室 | 一种节点故障感知的分布式模型训练的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023029632A1 (zh) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230229978A1 (en) | Debugging correctness issues in training machine learning models | |
US10878314B2 (en) | System and method for training artificial intelligence systems using a SIMA based processor | |
US9754221B1 (en) | Processor for implementing reinforcement learning operations | |
US11120368B2 (en) | Scalable and efficient distributed auto-tuning of machine learning and deep learning models | |
US10949743B2 (en) | Method and system for implementing reinforcement learning agent using reinforcement learning processor | |
US10146531B2 (en) | Method and apparatus for generating a refactored code | |
EP3502975A1 (en) | Methods and apparatus for model parallelism in artificial neural networks | |
CN114936117A (zh) | 模型训练的方法、服务器、芯片以及系统 | |
US11538237B2 (en) | Utilizing artificial intelligence to generate and update a root cause analysis classification model | |
Frank et al. | Alternating model trees | |
US11816545B2 (en) | Optimizing machine learning models | |
KR20220050813A (ko) | 제어 장치, 컨트롤러, 제어 시스템, 제어 방법, 및 제어 프로그램 | |
CN110889497A (zh) | 一种人工智能处理器的学习任务编译方法及相关产品 | |
Tran et al. | Pygop: A python library for generalized operational perceptron algorithms | |
WO2019153188A1 (en) | Gpu power modeling using system performance data | |
US20210256418A1 (en) | Caching of Machine Learning Model Training Parameters | |
US20190385091A1 (en) | Reinforcement learning exploration by exploiting past experiences for critical events | |
El Cadi et al. | A variable neighborhood search (VNS) metaheuristic for multiprocessor scheduling problem with communication delays | |
CN117349775B (zh) | 一种面向集群计算的异常子任务识别方法及装置 | |
US11550580B2 (en) | Systems and methods for emulating a processor | |
US20230046448A1 (en) | Method and system for changing structure of deep learning model based on change in input resolution | |
US20230334315A1 (en) | Information processing apparatus, control method of information processing apparatus, and storage medium | |
Agarwal et al. | Artificial Intelligence and Qubit‐Based Operating Systems: Current Progress and Future Perspectives | |
Kuribayashi et al. | Dynamic IoT Applications and Isomorphic IoT Systems Using WebAssembly | |
Napoli et al. | Cost Effective Deep Learning on the Cloud |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220823 |