开发者
资源

使用前必读

前提条件

  • 确保环境中有配置相应的存储方案,比如使用NFS(Network File System),用户可以参见安装NFS进行操作。

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

  • 在命令行场景下使用弹性训练特性,需要确保已经安装如下组件;若没有安装,可以参考安装部署章节进行操作。弹性训练特性只支持使用Volcano作为调度器,不支持使用其他调度器。
    • Ascend Device Plugin
    • Ascend Docker Runtime
    • Volcano
    • HCCL Controller
    • NodeD
    • Resilience Controller
    • ClusterD

    当前弹性训练特性暂不支持使用Ascend Operator为训练任务生成对应的环境变量,即不支持使用Ascend Operator替换HCCL Controller组件的场景。

使用方式

弹性训练特性的使用方式如下:

  • 通过命令行使用:安装集群调度组件,通过命令行使用弹性训练特性。
  • 集成后使用:将集群调度组件集成到已有的第三方AI平台或者基于集群调度组件开发的AI平台。

使用说明

  • 资源监测可以和训练场景下的所有特性一起使用。
  • 集群中同时跑多个训练任务,每个任务使用的特性可以不同。
  • 集群调度组件管理的训练节点出现故障(安装昇腾AI处理器并启用NodeD的节点网络故障或者芯片故障)后,集群调度组件将对故障节点进行隔离,并根据任务预设的规模和当前集群中可用的节点数重新设置任务副本数,然后进行重调度和重训练(需进行脚本适配)。
  • 重调度功能由Kubernetes(简称K8s)配合Volcano或者其他调度器实现。

支持的产品形态

支持Atlas 800 训练服务器(型号 9000)(NPU满配)产品使用弹性训练。

使用流程

全流程使用弹性训练特性可以参见图1

图1 使用流程