功能特点

断点续训特性在Kubernetes(以下简称K8s)集群中训练任务出现故障时,使系统能够感知故障,将故障资源进行处理或隔离,并根据训练任务需要重新分配资源,通过之前保存的周期性的ckpt重新拉起训练任务继续训练,缩短损失时间。

断点续训主要分为故障发现、故障处理和训练重启三个阶段,每个阶段的说明如下。

  1. 故障发现:通过Ascend Device PluginVolcanoClusterDNodeD四个组件提供的能力检查节点、芯片、参数面网络或业务面的健康状态和故障类型。
  2. 故障处理:故障发生后,根据上报的故障信息进行故障处理。
    1. 故障重调度模式存在以下级别。
      • Job级别重调度:每次故障会停止所有的Pod,重新创建并重调度所有Pod,重启训练任务。
      • Pod级别重调度:每次故障只停止故障相关的Pod,重新创建并重调度故障相关的Pod后,重启训练任务。不能恢复则回退至Job级重调度模式。
      • 进程级别重调度:每次故障只停止故障相关节点的进程,将故障节点的容器迁移到健康节点,恢复训练任务。不能恢复则回退至Job级或Pod级重调度模式。
      • 进程级在线恢复(Step级别重计算恢复):仅针对片上内存上出现的不可纠正错误(故障码0x80E01801),对训练进程进行Step重试,并隔离故障片上内存空间,实现进程不退出的故障快速恢复。不能恢复则回退至重调度模式。该故障处理模式默认关闭,若要开启请参考(可选)配置组件
    2. 优雅容错功能:当用户训练时没有备用资源或者期望设备自动恢复时,可以选择使用优雅容错功能。即当训练时芯片设备出现故障后,系统将尝试对故障芯片进行自动恢复,如果可以恢复则在保持Pod运行状态下,将任务原地拉起继续训练,不能恢复则回退至重调度模式
  3. 训练重启:在任务重新调度之后,训练任务使用故障前自动保存的CheckPoint,重新拉起训练任务继续训练,缩短训练损失时间。
    1. 由框架实现保存和加载CheckPoint。
    2. 通过MindIO组件提供的能力,可以针对大模型训练中的故障恢复和checkPoint保存及加载进行加速。
      1. 临终CheckPoint恢复:主要针对大模型训练中的故障恢复加速,通过临终CheckPoint数据恢复训练,减少故障造成的训练迭代损失。请参见《MindCluster 故障恢复加速》
      2. 异步CheckPoint恢复:主要针对大模型训练中的CheckPoint保存及加载进行加速,将CheckPoint的数据先写入训练服务器的内存系统,再异步写入后端的可靠性存储设备,减少每次保存CheckPoint的训练损失。请参见《MindCluster CheckPoint保存与加载优化》

重调度模式支持的产品和框架

表1 重调度支持的产品和框架

产品类型

硬件形态

训练框架

Atlas 训练系列产品

  • Atlas 800 训练服务器(型号 9000)
  • Atlas 800 训练服务器(型号 9010)
  • MindSpore
  • TensorFlow
  • PyTorch

Atlas A2 训练系列产品

  • Atlas 800T A2 训练服务器
  • Atlas 200T A2 Box16 异构子框
  • Atlas 900 A2 PoD 集群基础单元
  • MindSpore
  • TensorFlow
  • PyTorch

Atlas 800 训练服务器的芯片工作模式为SMP模式,且每个Pod申请的NPU数量为1、2时,不支持使用重调度模式。查询和设置NPU芯片工作模式的详细介绍请参见《Atlas 800 训练服务器 iBMC用户指南(型号 9000)》中的“查询和设置NPU芯片工作模式(npuworkmode)章节。

优雅容错功能支持的产品和框架

表2 优雅容错支持的产品和框架

产品系列

产品名称

训练框架

Atlas 训练系列产品

  • Atlas 800 训练服务器(型号 9000)(NPU满配)
  • Atlas 800 训练服务器(型号 9010)(NPU满配)
  • Atlas 800 训练服务器(型号 9000)(NPU半配)
  • Atlas 800 训练服务器(型号 9010)(NPU半配)
  • MindSpore
  • PyTorch

Atlas A2 训练系列产品

  • Atlas 800T A2 训练服务器
  • Atlas 900 A2 PoD 集群基础单元
  • MindSpore
  • PyTorch
  • 优雅容错模式支持Atlas 800 训练服务器的芯片工作模式为SMP模式,训练任务规模为4N及8N,N为训练节点数。查询和设置NPU芯片工作模式的详细介绍请参见《Atlas 800 训练服务器 iBMC用户指南(型号 9000)》中的“查询和设置NPU芯片工作模式(npuworkmode)章节。
  • 优雅容错模式支持Atlas 800T A2 训练服务器Atlas 900 A2 PoD 集群基础单元的训练任务规模为8N,N为训练节点数。

进程级在线恢复模式支持的产品和框架

表3 进程级在线恢复支持的产品和框架

产品系列

产品名称

训练框架

Atlas A2 训练系列产品

  • Atlas 800T A2 训练服务器
  • Atlas 900 A2 PoD 集群基础单元

PyTorch