昇腾社区首页
中文
注册
开发者
下载

在线压测

MindCluster支持训练在线压测特性,即在训练过程中可以调用在线压测接口,暂停指定训练任务,对任务使用的节点进行硬件P2P或AIC压力测试。若不存在故障则恢复训练;若存在故障则隔离故障节点,触发断点续训。

使用约束

  • 对于PyTorch训练框架,需配合MindSpeed-LLM 2.3.0版本使用,版本配套请参见MindSpeed-LLM
  • 对于MindSpore训练框架,需配合MindFormers master版本使用,版本配套请参见MindSpore MindFormers
  • 请在训练正常迭代后,再进行在线压测指令的下发。
  • 确保已开启进程级恢复相关功能特性。
  • 压测过程中不支持重启ClusterD。如果ClusterD异常重启,需要重启训练下发压测任务。
  • 压测过程中,需要关闭热复位功能。
  • P2P压测需确保device侧有10G以上的空闲内存。
  • 需要在节点增加nodeDEnable=on标签,保证出现压测的节点可以隔离。
  • 对于MindSpore训练框架,需要在启动TaskD Manager前设置export TASKD_PROCESS_ENABLE="on"。

支持的产品型号和AI框架

表1 在线压测支持的产品和框架

产品类型

硬件形态

训练框架

Atlas A2 训练系列产品

Atlas 800T A2 训练服务器

  • MindSpore
  • PyTorch

Atlas A3 训练系列产品

Atlas 900 A3 SuperPoD 超节点

  • MindSpore
  • PyTorch

在线压测原理

图1 原理图

在以上原理图中,各个步骤的说明如下。

  1. AI平台集成ClusterD,调用ClusterD的gRPC接口下发压测操作,指定需要压测的节点。
  2. ClusterD通知MindIO暂停训练。
  3. TaskD Manager通知指定TaskD Worker调用训练框架接口执行压测操作。
  4. 训练框架调用指定NPU卡上的CANN接口执行压测操作。
  5. ClusterD判断指定NPU卡的压测操作完成后,再由TaskD通知MindIO在压测完成后继续执行下一个Step训练。

适配功能点

在在线压测中,框架首先初始化MindIO服务,启动服务后优化器更新时会上报对应状态到MindIO。通过主动调用优雅暂停机制,完成当前卡上任务暂停,暂停后进行硬件压力测试,测试完成后继续训练。集群大脑需提供对外接口,接受压测指令并管理压测流程。

对于非MindSpeed-LLM、MindCluster平台用户,需在框架侧完成表2的功能适配。

表2 在线压测框架适配功能点

适配功能点

功能简述

适配组件

参考链接

初始化拉起

训练框架初始化时拉起MindIO服务。

分布式训练框架

对接非MindSpeed-LLM框架

上报优化器更新状态

优化器更新前上报优化器更新的开始和结束状态。

优雅暂停

训练迭代循环最尾部增加MindIO函数调用,实现主动暂停功能。

在线压测过程管理

提供在线压测请求下发能力,控制训练进程暂停与恢复。

AI平台

链接