训练任务诊断
更新时间:2026-03-23
训练任务诊断是专为大模型训练设计的在线性能诊断功能,提供实时训练任务 SLOW 和 Hang 的自助诊断能力,帮助客户快速定位性能瓶颈,减少故障排查时间。本文将介绍AI诊断的使用说明。
前提条件
- 已创建 CCE 集群,具体操作请参见 创建CCE集群。
- 确保 Kubernetes 集群处于正常运行状态,且集群版本为 1.28 及以上,具体请参见 CCE支持的版本说明。
- 在目标 CCE 集群中已成功安装 CCE DeepTracker 组件,具体信息请参见 CCE DeepTracker说明。
- 在创建训练任务时,请在
metadata.labels字段下添加 K8s 标签:deep-tracker: on,并确保将训练任务部署到 CCE 集群。
注意:
deep-tracker: on标签必须在训练任务创建时添加。未设置该标签的训练任务将无法使用训练任务诊断功能。
-
针对训练任务使用的 NCCL 版本需满足以下版本要求,若不满足以下版本要求会导致训练任务诊断失败。
训练任务增加 k8s 标签示例
Plain Text
1apiVersion: "kubeflow.org/v1"
2kind: "PyTorchJob"
3metadata:
4 name: "pytorch-dist-mnist"
5 labels:
6 deep-tracker: "on" # 确认训练任务已经打上该label
7spec:
8 pytorchReplicaSpecs:
9 Master:
10 replicas: 1
11 restartPolicy: OnFailure
12 template:
13 spec:
14 containers:
15 - name: pytorch
16 image: your-repo/your-namespace/name:tag # 确保此处已替换为真实镜像
17 imagePullPolicy: Always
18 command:
19 - /bin/sh
20 - -c
21 - |
22 python /tmp/mnist.py \
23 --epochs=5000 \
24 --batch-size=32 \
25 --test-batch-size=64 \
26 --lr=0.01 \
27 --momentum=0.9 \
28 --log-interval=10 \
29 --backend=nccl
30 resources:
31 limits:
32 cpu: "4"
33 memory: "10Gi"
34 nvidia.com/gpu: 1
35 rdma/hca: 1
36 requests:
37 cpu: "4"
38 memory: "10Gi"
39 nvidia.com/gpu: 1
40 rdma/hca: 1
41 Worker:
42 replicas: 2 # 假设你需要 2 个节点进行分布式训练
43 restartPolicy: OnFailure
44 template:
45 spec:
46 containers:
47 - name: pytorch
48 image: your-repo/your-namespace/name:tag
49 resources:
50 limits:
51 cpu: "4"
52 memory: "10Gi"
53 nvidia.com/gpu: 1
54 rdma/hca: 1
55 requests:
56 cpu: "4"
57 memory: "10Gi"
58 nvidia.com/gpu: 1
59 rdma/hca: 1
开启训练任务诊断
注意:
- 仅支持对状态为“运行中”的训练任务进行诊断,其他状态暂不支持诊断。
- 当前仅支持诊断 PyTorch 和 Volcano 类型的训练任务。
- 训练任务的
metadata.labels字段需包含标签:deep-tracker: on。- CCE集群需要成功安装CCE DeepTracker组件。
- 训练任务诊断不支持批量操作,每次仅支持对单个训练任务进行诊断。
- 训练诊断功能采集的信息包括系统版本、负载、docker、kubelet等组件运行状态,系统日志中关键错误信息。诊断全程遵循数据安全规范,不涉及任何业务及敏感数据。
1.登录百度智能云容器引擎 CCE 控制台,在左侧导航栏,点击 "集群管理->集群列表",进入集群列表页,点击集群名称,进入集群管理页面。
2.在左侧导航栏巡检与诊断,选择故障诊断。
3.在故障诊断选择训练任务诊断,点击“立即诊断”。
- 在弹出的对话框中,配置以下参数。
| 参数 | 必填 | 说明 |
|---|---|---|
| 命名空间 | 否 | 选择需要诊断的训练任务所在命名空间。默认显示全部命名空间。 |
| 选择训练任务 | 是 | 选择需要进行诊断的训练任务。仅支持选择带有标签 deep-tracker: on 的训练任务,且当前仅支持诊断 PyTorch 和 Volcano 类型的训练任务。 |
| 诊断类型 | 是 | 选择训练任务诊断类型。训练任务 Hang 用于诊断导致训练进程 Hang 的故障节点;训练任务 Slow 用于诊断训练任务中的 Slow 节点。 |
| 时间阈值 | 否 | 仅在选择 训练任务 Slow 时配置,用来判断节点是否属于 Slow 的时间基准。默认值为 500000 微秒,取值范围为 0~1000000。最多可配置 10 个时间阈值。若设置多个时间阈值,系统将根据所有阈值综合判断训练任务节点是否属于 Slow 节点。 |

5.点击“确定”以启动检查流程。
6.检查完成后,系统将生成检查报告,用户可查看检查结果和建议。
查看报告
诊断列表展示了诊断报告信息包括诊断报告ID、诊断状态、诊断类型、训练任务类型、训练任务名称、训练任务节点等,单击诊断报告ID即可查看报告。
评价此篇文章
