在线压测
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框架
|
产品类型 |
硬件形态 |
训练框架 |
|---|---|---|
|
|
Atlas 800T A2 训练服务器 |
|
|
|
Atlas 900 A3 SuperPoD 超节点 |
|
在线压测原理
图1 原理图
在以上原理图中,各个步骤的说明如下。
- AI平台集成ClusterD,调用ClusterD的gRPC接口下发压测操作,指定需要压测的节点。
- ClusterD通知MindIO暂停训练。
- TaskD Manager通知指定TaskD Worker调用训练框架接口执行压测操作。
- 训练框架调用指定NPU卡上的CANN接口执行压测操作。
- ClusterD判断指定NPU卡的压测操作完成后,再由TaskD通知MindIO在压测完成后继续执行下一个Step训练。
适配功能点
在在线压测中,框架首先初始化MindIO服务,启动服务后优化器更新时会上报对应状态到MindIO。通过主动调用优雅暂停机制,完成当前卡上任务暂停,暂停后进行硬件压力测试,测试完成后继续训练。集群大脑需提供对外接口,接受压测指令并管理压测流程。
对于非MindSpeed-LLM、MindCluster平台用户,需在框架侧完成表2的功能适配。
父主题: 故障处理