在 AI 训练模型处理业务用例时,监控训练任务状态和底层资源负载至关重要。本文为您介绍在容器服务集群中监控 AI 训练任务的方法。
说明
prometheus-agent 组件需要升级到 v2.0.5 及以上版本。详情请参见 升级组件。
您可以在集群中使用工作负载部署 AI 训练任务,并使用 GPU 和 RDMA 资源。配置方法请参见 NVIDIA GPU 调度 和 VKE 集群中使用 RDMA 资源。
为了能够在大盘中查看到训练任务的相关信息,您需要在训练任务中增加ai.vke.volcengine.com/task
、ai.vke.volcengine.com/job
、ai.vke.volcengine.com/team
和ai.vke.volcengine.com/user
标签,示例如下。
apiVersion: apps/v1 kind: Deployment metadata: name: ai-demo # 训练任务的名称 namespace: default # 训练任务所在的命名空间 spec: replicas: 1 # 训练任务的副本数 selector: matchLabels: app: ai-demo template: metadata: labels: app: ai-demo ai.vke.volcengine.com/task: master # 训练任务的角色,例如 master、chief、worker ai.vke.volcengine.com/job: ai-name # 训练任务的名称 ai.vke.volcengine.com/team: team-a # 训练任务的归属团队 ai.vke.volcengine.com/user: user-a # 训练任务的归属成员 spec: containers: - name: ai # 容器名称 image: doc-cn-beijing.cr.volces.com/vke/gpu-burn:1.0 # 训练任务的镜像和版本 command: [ "/bin/bash", "-c", "--" ] args: [ "while true; do sleep 3600; done;" ] resources: limits: nvidia.com/gpu: "1" # 按需配置 GPU 显卡数量
当需要对集群中运行的 AI 训练任务以及底层资源进行监控时,您可以下载本文中提供的监控大盘,并导入到 Grafana 系统中使用。详情请参见 AI 常用监控大盘。
操作步骤如下:
kubectl port-forward service/grafana 3000:3000 -n volcano-metrics
admin
和密码admin
登录。配置项 | 说明 |
---|---|
Name | (可选)根据需要修改监控大盘的名称。 |
Folder | (可选)选择大盘保存的文件夹,不修改则默认保存在 General 文件夹。 |
VMP | 选择数据源,您需要在下拉菜单中选择与目标集群绑定的托管 Prometheus 工作区。 |
在集群管理页面的左侧导航栏中,单击 观测配置。
选择 AI 资源 卡片,单击 编辑配置 并选择 告警 页签,配置告警的相关参数。
配置项 | 说明 |
---|---|
告警模版 | 勾选需要的告警模版,允许多选。 |
告警聚合策略 | 在下拉菜单中选择告警聚合策略。详情请参见 创建告警聚合策略。 |
告警通知策略 | 在下拉菜单中选择告警通知策略。系统会使用通知策略中配置的告警等级和联系人组,将告警发送给指定的联系人。详情请参见 创建告警通知策略。 |
单击 确定,完成配置。
kubectl port-forward service/grafana 3000:3000 -n volcano-metrics
admin
和密码admin
登录。该大盘主要展示了 集群维度 的 AI 训练任务信息和资源使用信息。
信息分类 | 说明 |
---|---|
集群训练任务概览 | 展示了集群 AI 训练任务信息,包括:AI 训练任务数、GPU Worker 数和训练任务 GPU 利用率。 |
集群 GPU 资源概览 | 展示了集群 GPU 资源信息,包括:GPU 总数、已分配 GPU 数、已使用 GPU 数、故障 GPU 数、GPU 节点数等。 |
资源使用详情 | 展示了集群资源使用信息,包括:训练任务数、GPU Worker 数、训练任务 GPU 利用率、集群 GPU 使用率、集群 GPU 故障率等。 |
该大盘主要展示了 节点维度 的监控信息,包括 GPU 节点监控信息和 GPU 卡监控信息。
信息分类 | 说明 |
---|---|
节点资源使用情况 | 展示了 GPU 节点的监控信息,包括:节点 IP、GPU 型号、节点状态、CPU 核数、内存、GPU 数等。 |
节点资源使用详情 | 展示了 GPU 卡的监控信息,包括:GPU 利用率、GPU 使用显存、异常的 GPU Xid、GPU 编码器利用率、GPU 时钟频率、GPU 功耗等。 |
该大盘展示了 任务维度 的 AI 训练任务监控信息和基础资源(GPU、RDMA)监控信息。
说明
该大盘的数据来自于 rdma-device-plugin 组件,详情请参见 AI 资源观测。
信息分类 | 说明 |
---|---|
训练任务概况 | 展示了训练任务概况,包括:训练任务、训练任务 Worke、GPU 利用率过低的训练任务、GPU 利用率过低的训练任务 Worker。 |
训练任务 None Worker 列表 | 展示了训练任务 None Worker 列表。 |
GPU | 展示了 GPU 监控信息,包括:GPU 利用率、异常的 GPU Xid、GPU 使用显存、GPU 温度、GPU 功耗等。 |
RDMA | 展示了 RDMA 监控信息,包括:包括入方向流量、出方向流量、入方向包数、出方向包数、入方向 Pause 时长、出方向 Pause 时长等。 |
该大盘展示了 任务维度 的 AI 训练任务监控信息和基础资源(GPU、RDMA)监控信息。
说明
该大盘的数据来自于 node-exporter 组件,详情请参见 node-exporter 官方文档。
信息分类 | 说明 |
---|---|
训练任务概况 | 展示了训练任务概况,包括:训练任务、训练任务 Worke、GPU 利用率过低的训练任务、GPU 利用率过低的训练任务 Worker。 |
训练任务 None Worker 列表 | 展示了训练任务 None Worker 列表。 |
GPU | 展示了 GPU 监控信息,包括:GPU 利用率、异常的 GPU Xid、GPU 使用显存、GPU 温度、GPU 功耗等。 |
RDMA | 展示了 RDMA 监控信息,包括:入方向流量、出方向流量、入方向报文、出方向报文、Link Down、Error Recovery 等。 |