训练任务性能劣化(slow)诊断
背景
使用 大模型训练服务观测 功能,如何接入训练任务,在训练任务出现性能问题(slow)时如何诊断并解读诊断报告、分析问题。
前置条件
训练框架: PyTorch
接入任务
根据接入任务说明文档,部署采集器,接入训练任务。


训练任务出现在任务列表中表明任务已接入成功,为了后续能够查看性能指标分析及发起诊断,请保持性能指标采集开启。

开启性能指标采集后约 3 分钟,点击训练任务名称进入详情页,可在 性能指标分析 页签查看 Step 平均耗时。
说明: 为了获得更高的准确性,请在训练 Step 平均耗时保持稳定后,再配置诊断策略或发起单次诊断。

训练任务成功接入并开启性能指标采集后,在未发生性能异常时,训练任务状态为“训练中(正常)”。

开启智能诊断
进入 云监控 BCM->大模型训练服务观测->智能诊断 页面,对已接入的训练任务开启智能诊断。可以在任务列表中点击智能诊断编辑按钮开启,也可以点击训练任务名称进入任务详情页,在 智能诊断 页签点击 【智能诊断配置】 后开启。
为了获得更全面准确的分析结果,分析类型建议选择GPU,采集内容建议全选。


触发智能诊断
开启智能诊断后,当任务出现性能劣化,系统将感知到该问题,训练任务状态会转变为 训练中(slow),同时自动触发智能诊断。可以在诊断列表中查看自动创建的诊断记录。



按需发起单次诊断
如果没有开启智能诊断,人工发现性能问题后(例如通过性能指标分析观察到相关迹象),可以通过创建单次诊断记录进行按需诊断。

查看诊断报告
当诊断状态变为“诊断完成”后,点击“查看报告”,可查看分析结论及相应的依据、特征指标图表。

下面介绍两种典型性能异常场景的诊断报告:GPU 性能异常和物理节点 CPU 异常。
场景 1:GPU 性能异常
该报告的分析结论中明确表明:存在故障 Rank。
接下来,可以查看异常 Rank 列表。列表列举了多个有异常特征的 Rank,其中有 1 个 Rank 的异常行为明显,系统将其特别标注为疑似故障 Rank。

进一步查看故障 Rank 在异常特征上对应的指标数据,可以发现其数据表现确实存在异常。
例如,故障 Rank 的 SM 利用率指标存在明显的离群异常行为。

结合报告中的以上分析,可以参考报告结论,重点检查该 Rank 并解决故障。
场景 2:物理节点性能异常
该报告的分析结论中明确表明:故障 Rank 在物理节点上存在聚集性,怀疑是物理节点性能受限。
接下来,可以查看异常 Rank 列表,发现其中在同一个物理节点上的 8 个 Rank 有同一个异常特征。

进一步查看该异常特征对应的指标数据,可以发现其数据表现和其他物理节点有明显不同。

结合报告中的以上分析,可以参考报告结论,重点检查该物理节点的性能状况并解决故障。
修复后的任务状态重置
结合诊断报告解决故障后,检查训练性能指标,发现恢复正常。

接下来可手动重置任务状态为“训练中(正常)”,智能诊断将继续提供服务。
评价此篇文章
