昇腾社区首页
中文
注册

集成说明

在进行平台集成操作前,可先参考通过命令行使用断点续训,熟悉下发断点续训任务示例yaml的实现逻辑和参数说明,帮助用户更好地理解接下来的操作。

前提条件

  • 仅支持使用集群调度组件K8s集群,同时需要保证K8s集群中各节点时间一致,避免程序误判。
  • 使用前需要检查存储的磁盘空间,确保可以容纳checkpoint。
  • 配置存储方案:用户需确保环境中有配置相应的存储方案,比如使用NFS(Network File System),可参考安装NFS进行操作。

    NFS需要用户根据使用情况进行目录隔离,NFS的随机读写性能必须能够在15分钟内保存完整的ckpt文件,建议用户使用专业的存储服务器,NFS具体性能要求给出如下参考。

  • 安装所需组件:使用断点续训特性需要提前安装如下组件;若没有安装,请参考安装部署章节进行操作。
    • Volcano:包括开源Volcano和集群调度组件提供的Volcano;开源Volcano需要集成Ascend-volcano-plugin插件。
    • Ascend Operator
    • Ascend Device Plugin
    • Ascend Docker Runtime
    • NodeD
    • ClusterD
    • (可选)Elastic Agent:若需使用优雅容错或者重调度功能需安装此组件, 部署在训练镜像中。
    • Ascend Operator提供以下2种方式配置资源信息:
      • 通过环境变量配置资源信息:为不同AI框架的分布式训练任务提供相应的环境变量,请参见Ascend Operator环境变量说明。使用此方式的用户仅支持创建Ascend job(以下简称acjob)对象。
      • 通过文件配置资源信息:训练任务通信集合配置文件(RankTable File,也叫hccl.json)。使用此方式的用户支持创建以下3种类型的对象:Volcano Job(以下简称vcjob)、Ascend job(以下简称acjob)和Deployment(以下简称deploy)。
    • 开源Volcano集成Ascend-volcano-plugin插件的操作步骤可参见集成昇腾插件扩展开源Volcano章节进行操作。
  • 适配整卡调度:请参考集成后使用章节进行操作,确保当前AI平台已经可以实现下发使用整卡资源类型的训练任务。
  • (可选)适配资源监测:请参考安装部署章节安装NPU Exporter组件,并参考章资源监测节进行使用。

支持的故障模式

当前已支持20+软件类故障及90+硬件类故障的检测。支持的故障类型请参见表1,详各类典型故障的示例说明可参考典型故障.xlsx

表1 故障类型说明

故障类型

故障说明

节点故障

包括节点状态丢失和节点硬件故障。

  • 节点状态丢失,如服务器宕机、重启、Host网卡故障等。
  • 节点硬件故障,如CPU多比特ECC、内存CE风暴等故障。
说明:

若节点的硬件故障导致节点宕机或重启,则NodeD无法检测到具体的故障类型并上报。

芯片故障

DCMI接口上报的芯片故障和设备网络探测工具hccn_tool检测到的芯片网络故障的故障码说明请参见芯片故障码参考文档章节。

参数面网络故障

包括芯片网络相关故障和总线设备故障。
  • 芯片网络相关故障:芯片之间进行参数交换的专用网络出现故障,如NPU网口故障。
  • 总线设备故障:总线设备发生故障。

业务面故障

训练任务异常退出,导致Pod的Status变为Failed状态。

说明:
可执行kubectl describe pod {pod名称} -n {NAMESPACE} |grep Status:命令,查看当前Pod的Status是否为Failed状态。回显示例如下:
1
Status:       Failed

推荐配置

在使用故障重调度的ckpt保存能力时,需根据实际情况选择周期性保存ckpt频率,用户可参考如图1所示的推荐频率。

图1 周期性ckpt保存频率推荐

ConfigMap说明

  • 每个计算节点的Ascend Device Plugin均会创建记录本节点NPU和总线设备信息的ConfigMap文件,该ConfigMap文件名称为mindx-dl-deviceinfo-<nodename>(以下简称device-info-cm),通过该ConfigMap进行故障信息的上报。该ConfigMap文件字段说明,请参见表1
  • 每个计算节点的NodeD均会创建记录本节点设备信息的ConfigMap文件,该ConfigMap文件名称为mindx-dl-nodeinfo-<nodename>(以下简称node-Info-cm),通过该ConfigMap进行节点故障的信息上报。该ConfigMap文件字段说明,请参见mindx-dl-nodeinfo-<nodename>
  • ClusterD会创建记录本集群设备信息的ConfigMap文件,该ConfigMap文件名称为cluster-info-<device/node/switch>-<[0-5]>(以下简称cluster-Info-cm),通过该ConfigMap进行集群中节点及芯片故障信息上报。该ConfigMap文件字段说明,请参见集群资源章节。
  • 创建每个任务时,需要在yaml中配置ConfigMap文件,该ConfigMap文件名称为reset-config-<job-name>(以下简称reset-info-cm),同时将该ConfigMap挂载到容器的“/user/restore/reset/config”路径下。Ascend Device Plugin会自动将Configmap挂载到本节点的“/user/restore/reset/<job-namespace>.<job-name>”路径下。也可以将节点上/user/restore/reset/<job-namespace>.<job-name>替代Configmap挂载到容器的“/user/restore/reset/config”路径下。该ConfigMap文件字段说明,请参见表3