训练监控与报警

分布式训练(DLC)任务支持查看并监控资源状况,并且提供了全面详细的监控指标,帮助您更好地掌握资源负载情况。通过监控报警功能,您可以对DLC训练任务的资源水位进行实时监控,并灵活地配置报警规则和报警通知。如果资源水位出现波动,例如GPU使用率超过设定阈值,则会发送报警通知。本文为您介绍如何通过云监控和ARMS查看监控数据、配置监控报警通知、订阅监控指标等。

前提条件

设置DLC训练任务的监控与报警,您需要先创建一个或多个DLC训练任务。详情请参见创建训练任务

使用限制

功能分类

支持的资源类型

支持的地域

DLC

灵骏智算资源

  • 华北6(乌兰察布)

  • 新加坡

通用计算资源

  • 华北2(北京)

  • 华东2(上海)

  • 华东1(杭州)

  • 华南1(深圳)

  • 华北6(乌兰察布)

  • 新加坡

操作账号和权限要求

  • 阿里云主账号:使用该账号可完成所有操作,无需额外授权。

  • RAM账号:

    • 当您需要查看某个工作空间相应DLC任务的监控数据时,您需要为RAM账号添加以下权限:

      • RAM用户添加为工作空间成员,并赋予其管理员、算法开发或算法运维角色。详情请参见管理工作空间成员

      • RAM用户添加只读访问云监控的权限(AliyunCloudMonitorReadOnlyAccess)。详情请参见RAM用户授权

    • 当您需要查看某个工作空间相应DLC任务的监控数据,并配置监控报警通知时,您需要为RAM账号添加以下权限:

      • RAM用户添加为工作空间成员,并赋予其管理员、算法开发或算法运维角色。详情请参见管理工作空间成员

      • RAM用户添加管理云监控的权限(AliyunCloudMonitorFullAccess)。详情请参见RAM用户授权

监控指标说明

监控指标主要包括CPU、内存、磁盘、网络、RDMA、CPFS,以及GPU相关指标,如显存使用率、算力使用率、SM设备使用率、PCIENVLink接收/发送数据量等。当前维度主要支持:作业(任务)维度、Pod(Worker)维度和GPU单卡维度。下面是一些典型的健康指标,全量指标列表及细节说明请参见分布式训练(DLC)指标列表

作业(任务)维度

监控指标

描述

CPU使用率(作业维度)

指定作业的CPU使用百分比。

内存使用率(作业维度)

指定作业的内存使用百分比。

磁盘读取数据量(作业维度)

指定作业的磁盘读取数据量(MiB)。

磁盘写入数据量(作业维度)

指定作业的磁盘写入数据量(MiB)。

网络接收数据量(作业维度)

指定作业的网络接收数据量(MiB)。

网络发送数据量(作业维度)

指定作业的网络发送数据量(MiB)。

GPU算力使用率(作业维度)

指定作业的GPU算力使用率。

GPU显存使用率(作业维度)

指定作业的GPU显存使用率。

GPU SM设备使用率(作业维度)

指定作业的GPU SM设备使用率。

GPU设备功耗(作业维度)

指定作业的GPU设备功耗。

GPU温度(作业维度)

指定作业的GPU温度。

GPU整卡健康情况(作业维度)

指定作业的包含的GPU整体健康情况(100%为健康,低于100%则存在部分卡异常)。

RDMA接收数据量(作业维度)

指定作业的RDMA接收数据量。

RDMA发送数据量(作业维度)

指定作业的RDMA发送数据量。

CPFS写入数据量(作业维度)

指定作业的CPFS设备写入数据量(MB)。

CPFS读取数据量(作业维度)

指定作业的CPFS设备读取数据量(MB)。

NVLink接收数据量(作业维度)

指定作业的GPU设备NVLink上的接收数据量。

NVLink发送数据量(作业维度)

指定作业的GPU设备NVLink上的发送数据量。

PCIE接收数据量(作业维度)

指定作业的GPU设备PCIE上的接收数据量。

PCIE发送数据量(作业维度)

指定作业的GPU设备PCIE上的发送数据量。

更多指标,请参考分布式训练(DLC)指标列表

GPU单卡维度

    监控指标

    描述

    GPU显存设备接口使用率(卡维度)

    指定Pod的单张/多张卡的GPU显存设备接口使用率。

    GPU SM设备使用率(卡维度)

    指定Pod的单张/多张卡的GPU SM设备使用率。

    GPU设备功耗(卡维度)

    指定Pod的单张/多张卡的GPU设备功耗。

    GPU温度(卡维度)

    指定Pod的单张/多张卡的GPU设备温度。

    GPU整卡健康情况(卡维度)

    指定Pod的单张/多张卡的GPU整体健康情况(100%为健康,低于100%则存在部分卡异常)。

    更多指标,请参考分布式训练(DLC)指标列表

Pod(Worker)维度

监控指标

描述

CPU使用率(Pod维度)

指定PodCPU使用百分比。

内存使用率(Pod维度)

指定Pod的内存使用百分比。

磁盘读取数据量(Pod维度)

指定Pod的磁盘读取数据量(MiB)。

磁盘写入数据量(Pod维度)

指定Pod的磁盘写入数据量(MiB)。

网络接收数据量(Pod维度)

指定Pod的网络接收数据量(MiB)。

网络发送数据量(Pod维度)

指定Pod的网络发送数据量(MiB)。

GPU算力使用率(Pod维度)

指定PodGPU算力使用率。

GPU显存使用率(Pod维度)

指定PodGPU显存使用率。

GPU SM设备使用率(Pod维度)

指定PodGPU SM设备使用率。

GPU设备功耗(Pod维度)

指定PodGPU设备功耗。

GPU温度(Pod维度)

指定PodGPU温度。

GPU整卡健康情况(Pod维度)

指定Pod的包含的GPU整体健康情况(100%为健康,低于100%则存在部分卡异常)。

RDMA接收数据量(Pod维度)

指定PodRDMA接收数据量(MiB)。

RDMA发送数据量(Pod维度)

指定PodRDMA发送数据量(MiB)。

CPFS读取数据量(Pod维度)

指定PodCPFS设备读取数据量(MiB)。

CPFS写入数据量(Pod维度)

指定PodCPFS设备写入数据量(MiB)。

NVLink接收数据量(Pod维度)

指定PodGPU设备NVLink上的接收数据量。

NVLink发送数据量(Pod维度)

指定PodGPU设备NVLink上的发送数据量。

PCIE接收数据量(Pod维度)

指定PodGPU设备PCIE上的接收数据量。

PCIE发送数据量(Pod维度)

指定PodGPU设备PCIE上的发送数据量。

更多指标,请参考分布式训练(DLC)指标列表

使用云监控

云监控(CloudMonitor)是一项针对阿里云资源和互联网应用进行监控的服务,为云上用户提供开箱即用的企业级开放型一站式监控解决方案。您可以登录云监控控制台,查看PAI-分布式训练(DLC)任务监控数据,并设置告警通知。云监控还支持通过API订阅指标数据,助您建立自己的监控系统和数据大盘。更多关于云监控的详细介绍,请参见什么是云监控

计费说明

使用云监控服务会产生一定的费用,详细的计费说明,请参见云监控计费说明

查看监控数据

  1. 登录云监控控制台

  2. 在左侧导航栏,选择可视化(Dashboard) > 云产品大盘

  3. 云产品大盘页面,选择PAI-分布式训练(DLC)。在搜索框内,选择或搜索工作空间ID,该工作空间中DLC任务对应的监控图表会在页面下方展示。如何查询工作空间ID,请参见管理工作空间image在对应监控图表中,可以进行以下操作:

    • 切换监控维度:目前支持作业维度、POD(Worker)维度及GPU维度的监控指标展示。

      • 单击作业维度,您可以选择或输入DLC任务ID,查看单个任务的监控数据视图。image

      • 单击POD维度,您可以选择或输入POD ID,查看单个POD的监控数据视图。image

      • 单击GPU维度,您可以选择或输入POD ID,查看指定DLC任务单个PODGPU维度的监控数据视图。89f97088ac15cc572529649022993023

    • 切换展示时间范围image

    • 放大视图:您可以单击每个图表右上角的放大按钮image.png,查看监控数据的细节视图。image

配置监控报警

通过监控报警功能,您可以监控分布式训练(DLC)任务的资源水位,并灵活地配置报警规则。如果资源水位出现波动,例如低于配置的报警规则时,则会发送报警通知。本章节为您介绍如何通过云监控控制台和API的方式,配置监控报警功能。

配置报警联系人

  1. 创建报警联系人。

    1. 登录云监控控制台

    2. 在左侧导航栏,选择报警服务 > 报警联系人

    3. 报警联系人页签,单击创建联系人

    4. 设置报警联系人面板,填写报警联系人的姓名、手机号码、邮箱和Webhook地址,其他参数均保持默认值。

      说明

      报警通知信息语言默认为自动,表示云监控根据当前阿里云账号注册时的语言,自动适配报警通知信息的语言。

    5. 信息验证无误后,单击确认

  2. 创建报警联系组。

    1. 登录云监控控制台

    2. 在左侧导航栏,选择报警服务 > 报警联系人

    3. 单击报警联系组页签。

    4. 报警联系组页签,单击新建联系人组

    5. 新建联系人组面板,填写报警联系人组的组名,并选择已有报警联系人。

    6. 单击确认

配置报警规则

  1. 云监控控制台的左侧导航栏,选择云资源监控 > 云产品监控

  2. 云产品监控页面,搜索并进入PAI-分布式训练(DLC)image

  3. PAI-分布式训练(DLC)页面,选择服务所在的地域,并单击创建报警规则

  4. 创建报警规则面板,配置下列参数,并单击确认

    参数

    描述

    产品

    云监控管理的产品名称,选择PAI-分布式训练(DLC)

    资源范围

    报警规则的作用范围,目前支持全部资源、实例(作业):

    • 全部资源DLC的任何资源满足报警规则,都会发送报警通知。

    • 实例:根据您选定的产品,您需要在关联资源中添加需要关联的工作空间。仅添加的工作空间下的DLC作业满足报警规则时,才发送报警通知。

    规则描述

    报警规则主体,当监控数据满足指定条件时,触发报警规则。规则描述的设置方法,请参见创建报警规则

    通道沉默周期

    报警发生后如果未恢复正常,间隔多久重复发送一次报警通知。

    生效时间

    报警规则的生效时间。报警规则只在生效时间内才会检查监控数据是否需要报警。

    标签

    自定义设置报警规则的标签。包括标签名称和标签值。

    报警联系人组

    发送报警的联系人组,选择已绑定报警联系人的报警组。

  5. PAI-分布式训练(DLC)页面,单击查看报警规则,即可查看已创建的报警规则详情、报警历史等,并支持修改规则。

您可以通过调用API的方式,配置监控报警服务,功能包括查看报警历史、管理报警模板、配置报警规则和报警联系人等。具体调用方法和详情介绍,请参见云监控API目录:报警服务

订阅监控指标

云监控提供完善的API服务,您可以通过调用API的方式,订阅DLC的监控指标及数据,搭建自己的监控系统和数据大盘。具体操作步骤,请参见云产品监控API目录

云监控API

API概述

DescribeMetricLast

调用DescribeMetricLast接口查询指定监控项的最新监控数据。

DescribeMetricList

调用DescribeMetricList接口查询指定云产品的指定监控项的监控数据。

DescribeMetricData

调用DescribeMetricData接口查询指定云产品的某个监控项的监控数据。

DescribeMetricMetaList

调用DescribeMetricMetaList接口查询云监控开放的监控项详情。

DescribeProjectMeta

调用DescribeProjectMeta接口查询云监控支持的时序类监控项产品列表。

DescribeMetricTop

调用DescribeMetricTop接口先查询指定云产品的指定监控项的最新监控数据,再查询该监控项排序后的监控数据。

DescribeMetricList接口为例,为您说明如何调用该API来查询PAI-分布式训练(DLC)产品下指定指标的监控数据。

  1. 前往分布式训练(DLC)指标列表页面。

  2. 在指标列表页面,单击目标指标操作列下的获取指标数据image

  3. OpenAPI门户页面,配置以下关键参数,其他参数取默认配置。更多参数配置说明,请参见DescribeMetricList

    参数

    描述

    Namespace

    配置为acs_pai_dlc。

    MetricName

    配置对应的监控指标。例如CARD_GPU_DRAM_ACTIVE_UTIL。

    StartTime

    开始时间。例如2024-05-15 00:00:00。

    EndTime

    结束时间。例如2024-05-28 00:00:00。

    说明

    StartTimeEndTime之间的间隔小于等于31天。

  4. 参数配置完成后,单击发起调用,即可查看相应时间的监控数据。image

使用ARMS

应用实时监控服务ARMS(Application Real-Time Monitoring Service)是一款阿里云云原生可观测产品平台。基于ARMS提供的能力,您可以自定义一套PAI-DLC分布式训练服务的Grafana大盘,以及使用Prometheus配置灵活的报警规则,帮助您全面详细地监控DLC任务指标数据。关于ARMS更详细的内容介绍,请参见应用实时监控服务ARMS

计费说明

使用ARMS服务会产生一定的费用,详细的计费说明,请参见ARMS计费说明

接入监控数据

具体操作步骤如下:

  1. 登录ARMS控制台,然后在左侧导航栏,单击接入中心

  2. 接入中心页面,单击左侧人工智能页签,然后单击阿里云 PAI-DLC分布式训练服务image

  3. 在弹出面板的开始接入页签,选择数据存储地域并配置接入名称,然后单击确定

    大约需要等待1~2分钟,即可完成PAI-DLC分布式训练服务的接入。您也可以切换到效果预览采集指标告警规则模板页签,分别查看指标监控大盘、支持采集的指标以及告警规则名称和模板详情。

  4. 安装完成后,您可以单击接入管理,查看已接入环境的详细信息。

查看Grafana大盘

  1. 进入云服务环境详情页面。具体操作,请参见步骤二:查看监控大盘

  2. 组件管理页签的组件类型区域,选择阿里云PAI-DLC分布式训练服务,并单击右侧的大盘,即可查看内置的Grafana大盘。image

  3. 单击大盘名称,查看监控大盘。image

配置Prometheus报警

您可以通过Prometheus配置监控报警,具体操作步骤如下:

  1. 进入云服务环境详情页面。具体操作,请参见步骤二:查看监控大盘

  2. 组件管理组件类型列表中,选择阿里云PAI-DLC分布式训练服务并单击告警规则,即可查看内置的告警规则。image

  3. 内置的告警规则会产生告警事件,但是不会进行告警通知,您可以通过以下两种配置方法将告警通知发送到邮件或其他平台:

    • 通过设置通知策略,制定针对告警事件的匹配规则。当匹配规则被触发时,系统会以您指定的通知方式向通知对象发送告警信息。具体操作,请参见通知策略

    • 通过编辑告警规则配置通知方式。image在编辑Prometheus告警规则页面,您也可以自定义告警条件、持续时间、告警内容以及告警通知等。有关告警详细配置的信息,请参见Prometheus告警规则image