【技术实现步骤摘要】
【国外来华专利技术】用于错误恢复的系统和方法
技术介绍
[0001]本公开涉及一种计算。更具体地,本公开涉及用于人工智能处理中的错误恢复的技术。
[0002]人工智能(AI)处理通常包括将AI模型(例如,神经网络模型)中的一些或全部加载到一个或多个处理器上。数据集被应用于AI模型的输入,并且输出被生成。对于推理,输出可以与输入数据集的特定特征的分类或识别相对应。对于训练,输出与输入数据的已知输出进行比较,并且错误被反向传播通过模型,并且模型的参数被调节。对于大型模型和数据集,处理可以跨多个处理器被划分以更快地获得结果。
[0003]这样的系统的一个问题是当多处理器系统的一个节点遇到错误时。在很多情况下,重新启动计算可能要求不得不重新计算大量数据。
附图说明
[0004]本公开的各种实施例在附图的图中通过示例而非限制的方式进行说明。
[0005]图1图示了根据实施例的多处理器计算环境中的错误恢复。
[0006]图2图示了根据实施例的从多处理器计算环境中的处理器错误恢复的方法。
[0007]图3图示了根据实施例的在多处理器计算环境中的训练期间重新加载模型。
[0008]图4图示了根据实施例的多处理器计算架构。
[0009]图5图示了根据各种实施例的在每次迭代期间的同步以及全局检查点。
[0010]图6图示了根据各种实施例的返回到全局检查点。
[0011]图7图示了根据各种实施例的从先前迭代重新加载模型。
[0012]图8图示了根据一个示例实施例的控制器和处理设备操作。r/>[0013]图9图示了根据另一实施例的用于错误恢复的示例架构。
[0014]图10图示了根据一个示例实施例的在结果聚合阶段期间发生错误时的恢复。
[0015]图11图示了根据实施例的示例结果生成。
[0016]图12图示了根据实施例的结果聚合的示例。
[0017]图13图示了根据实施例的多处理器计算环境中的错误恢复。
[0018]图14图示了根据实施例的跨多个处理器分发故障处理器的计算。
具体实施方式
[0019]在以下描述中,出于解释的目的,阐述了很多示例和具体细节,以便提供对本公开的透彻理解。这样的示例和细节不应当被解释为对权利要求的要素或所要求保护的主题的整体进行不当限制。基于不同权利要求的语言,对本领域技术人员显而易见的是,所要求保护的主题可以单独或组合地包括这些示例中的特征的一些和全部,并且还可以包括本文中所描述的特征和技术的修改和等同物。
[0020]通常要求人工智能(AI)处理系统处理大量数据。分布式处理提高了处理速度。例如,在深度学习中使用同步或混合数据并行性进行分布式训练是一种用以跨很多AI处理器
以高吞吐量和准确度收敛模型的有效方法。
[0021]AI网络中所使用(例如,用于训练)的一种示例技术被称为数据并行性。数据并行性将训练数据集拆解成片段,并且AI处理器被加载有用以并行处理数据的模型。例如,在数据并行性的一个实施例中,训练数据可以被划分成片段(也被称为分片),并且每个分片可以跨多个AI处理器(也被称为工作器或目标处理器)分布以进行处理。分片又被划分成小批量(minibatch),小批量由多个AI处理器在连续迭代中迭代处理。在每次迭代期间,AI处理器接收小批量(例如,小批量训练数据)并且确定模型参数的变化(也被称为“梯度”或“增量”)。在每次迭代的结束时,AI处理器可以组合和同步它们的模型参数,并且用新的参数值更新模型。
[0022]本公开的特征和优点包括用于从故障恢复的过程。图1图示了被配置为使用模型M并行处理数据的多个AI处理器。在该示例中,AI处理器被配置在多个N个工作器组101
‑
103中,其中N是整数。例如,工作器组可以包括一个或多个AI处理器。AI处理器可以包括图形处理器(GPU)、AI加速器、或者针对AI操作被优化的其他数字处理器(例如,矩阵乘法与诸如x86处理器等冯诺依曼架构处理器)。例如,示例AI处理器可以包括GPU(例如,具有800个核和64个多累加器的NVidia)或张量处理器单元(TPU)(例如,具有16k并行操作的4个核)。
[0023]该示例图示了迭代,其中每个工作器组接收输入数据(例如,小批量)并且使用模型105
‑
107来处理数据。在该示例中,迭代从110开始,其中每个工作器组从基本相同的模型开始。例如,作为先前迭代的一部分,工作器组中的每一个的模型105
‑
107可能已同步了它们的参数(例如,通过执行全规约(All
‑
Reduce))。例如,在一个实施例中,模型的一个或多个副本可以在每个迭代周期之间被保存为模型104。在111,每个工作器组处理不同的输入数据,诸如来自同一训练数据集的小批量。然而,在该示例中,工作器组102中的一个经历错误(例如,硬件故障或软件故障)。有利地,在112,在迭代的开始时使用的已保存模型104可以被加载到工作器组102中并且工作器组102可以快速重新启动处理以产生结果。在112,例如,所有工作器组101
‑
103的结果可以被组合以产生已更新模型,并且所得到的模型可以再次保存以用于下一迭代。例如,在下面更详细描述的各种实施例中,经历错误的工作器组可以从控制器(在下面示出)、另一工作器组、或者从工作器组的本地存储器接收新模型104。
[0024]图2图示了根据实施例的错误恢复方法。在201,检测计算错误。例如,计算错误可以是处理数据集的多个人工智能处理器中的AI处理器中的软件错误或硬件错误。在202,AI处理器可以消除错误。例如,在一些实施例中,AI处理器的一些或所有元件(例如,硬件或软件组件)可以被重新启动。如下面在各种示例实施例中图示的,例如,AI处理器可以由耦合到AI处理器的控制器重新启动。在203,在AI处理器加载模型,其中该模型与在由多个AI处理器对来自数据集的数据的先前处理迭代期间由多个AI处理器处理的相同模型相对应。
[0025]本公开的特征和优点包括工作器组能够访问在每次处理迭代的开始时使用的模型以快速重新启动。传统上,AI系统在到达全局检查点之前会经过多次迭代,在该多次迭代中,系统的状态信息被保存。错误要求一些系统跨多次迭代返回到全局检查点,这很耗时。有利地,经历故障的AI处理器可以返回到当前迭代的开始,而其他处理器可以在它们完成生成当前迭代结果时等待。一旦故障AI处理器被重置并且错误被清除,它就可以重新加载当前迭代模型并且恢复。如本文中所描述的,模型可以存储在经历错误情况的AI处理器可
访问的多个不同位置中。示例AI模型是特定AI拓扑的AI参数组合,诸如权重或偏差。处理模型可以包括在每次迭代期间生成梯度。梯度可以包括与当前参数值的偏差(增量)(例如,神经网络的特定权重的增量值)。梯度由每个AI处理器产生作为处理结果,并且可以被组合(例如,经由平均值、平均值等聚合),然后在迭代的开始时应用于模型的值。例如,可以计算神经网络本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种系统,包括:多个人工智能处理器;一个或多个控制器;以及存储器,所述存储器上存储有由所述一个或多个控制器和所述多个人工智能处理器可执行的程序代码,所述程序代码使所述系统:在来自数据集的数据的第一处理迭代期间检测多个人工智能处理器中的第一人工智能处理器中的计算错误;消除来自所述第一人工智能处理器的所述错误;以及在所述人工智能处理器中的包括所述第一人工智能处理器的一个或多个人工智能处理器加载模型,其中所述模型与在来自所述数据集的所述数据的所述第一处理迭代期间由所述多个人工智能处理器处理的相同模型相对应。2.根据权利要求1所述的系统,其中除了所述第一人工智能处理器以外的所述多个人工智能处理器在所述第一人工智能处理器消除所述错误时等待,并且其中所述多个处理器在下一处理迭代中使用从在所述第一处理迭代中使用的所述相同模型而生成的第二相同模型同时处理来自所述数据集的数据。3.根据权利要求1所述的系统,其中所述计算错误在所述第一处理迭代的结果聚合阶段期间被检测,并且其中所述多个人工智能处理器的至少一部分等待所述第一人工智能处理器在完成所述结果聚合阶段之前在所述聚合阶段期间产生有效结果。4.根据权利要求3所述的系统,其中所述第一人工智能处理器向所述多个人工智能处理器的所述至少一部分发送无效结果指示符以触发所述等待。5.根据权利要求3所述的系统,其中所述结果聚合阶段是全规约。6.根据权利要求1所述的系统,其中所述加载所述模型包括在包括所述第一人工智能处理器的所述一个或多个人工智能处理器加载所述模型的不同部分,所述方法还包括在包括所述第一人工智能处理器的所述多个人工智能处理器中处理由所述第一人工智能处理器在所述第一处理迭代中接收的所述数据的第一部分。7.根据权利要求1所述的系统,其中所述加载所述模型...
【专利技术属性】
技术研发人员:B,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。