/ ai开发平台modelarts/ modelarts用户指南(standard)/ / / 查看训练作业监控指标
更新时间:2025-03-04 gmt 08:00

查看训练作业监控指标-九游平台

场景介绍

在训练作业运行过程中,如果用户能在模型训练出问题(例如loss值异常)的情况下能收到告警并及时处理,可以节省大量时间和资源,避免无效运行作业导致的浪费。同时通过指标监控可以实时掌握训练作业的进度,了解模型在不同阶段的训练状态。

当前modelarts standard训练作业模块在训练作业详情页的“资源占用情况”页签中提供了训练作业占用的cpu、gpu或npu资源使用情况,具体参见支持在modelarts控制台上直接查看的监控指标

除了在modelarts控制台训练作业详情页可以查看训练作业的指标外,更多指标可以登录到aom控制台查看,具体参见在aom控制台查看modelarts所有监控指标

除此外,modelarts还支持自定义一些指标信息采集上报到aom系统,比如训练日志常见打印loss值、step耗时、gpu throughput等指标信息,方便观察指标变化趋势,或对比不同训练作业指标情况,具体参见自定义监控指标上报到aom

支持在modelarts控制台上直接查看的监控指标

支持在modelarts的控制台上直接查看的训练监控指标如表1表2所示。

表1 单个训练作业指标说明

指标

说明

查看方式

cpuusage

单个训练作业cpu使用率。

在modelarts控制台的训练作业详情页中查看。

具体操作及约束限制请参见查看训练作业资源占用情况章节。

gpumemusage

单个训练作业gpu内存使用率。

gpuutil

单个训练作业gpu使用情况。

memusage

单个训练作业内存使用率。

npumemusage

单个训练作业npu内存使用率。

npuutil

单个训练作业npu使用情况。

表2 训练作业任务级的指标说明

指标

说明

查看方式

训练作业资源利用率

每个训练作业的cpu、gpu或npu资源利用率。

在modelarts控制台总览页的“训练作业资源利用情况”版块查看。

卡时

每个训练作业运行时长和占用卡数。

在modelarts控制台总览页的“训练作业资源利用情况”版块查看。

自定义监控指标上报到aom

除了modelarts控制台可以直接查看的训练作业相关指标外,还支持自定义监控指标上报到aom控制台查看。配置步骤如下。

  1. 准备训练代码,在训练代码中增加指标监控的代码。具体代码示例如下。准备训练代码的其它要求请参见。

    代码中倒数第2行的region = "cn-southwest-2"参数值请替换成实际region值,region取值可以参考。

    代码中增加监控指标数据,具体参数解释参考。

    # coding: utf-8
    import os
    from huaweicloudsdkaom.v2 import *
    from huaweicloudsdkaom.v2.region.aom_region import aomregion
    from huaweicloudsdkcore.auth.credentials import basiccredentials
    from huaweicloudsdkcore.exceptions import exceptions
    from moxing.framework import cloud_utils
    def report2aom(request,region):
        auth = cloud_utils.get_auth() #ak、sk和临时token值,系统会自动获取无需在代码中填写。
        ak = auth.ak
        sk = auth.sk
        securitytoken = auth.token
        projectid = os.environ.get("ma_iam_project_id")
        credentials = basiccredentials(ak, sk, projectid).with_security_token(securitytoken)
        client = aomclient.new_builder() \
            .with_credentials(credentials) \
            .with_region(aomregion.value_of(region)) \
            .build()
        try:
            response = client.add_metric_data(request)
            print(response)
        except exception as e:
            print(e)
    if __name__ == "__main__":
        request = addmetricdatarequest()
        listvaluesbody = [
            #下面填上对应的指标名称、类型、单位、数值,比如step_time、loss值等
            valuedata(
                metric_name="step_time", #监控指标名称,例如step_time
                type="float",  #指标的数据类型,取值范围只能是"int"或"float"。
                unit="ms",     #数据的单位。长度不超过32个字符,此处举例为ms
                value=135.572  #指标数据的值。取值范围有效的数值类型。最小值0
            ),
            valuedata(
                metric_name="loss",
                type="float",
                value=0.6932
            )
        ]
        listdimensionsmetric = [
            #下面填上想查看的指标维度,比如线程、host等等
            dimension2(
                name="cluster_name",#此处仅为举例示意,请替换为实际需要查看的指标维度
                value="fab2c5cf438b4f0c851fdcdf"# 此处仅为举例示意,请替换为实际参数值
            ),
            dimension2(
                name="user_name",
                value="modelarts_02" # 此处仅为举例示意,请替换为实际参数值
            ),
            dimension2(
                name="user_id",
                value="04f258c8fb00d42a1f6xxx" # 此处仅为举例示意,请替换为实际参数值
            )
        ]
        metricbody = metriciteminfo(
            dimensions=listdimensionsmetric,
            namespace="nopaas.esc"  #保持默认值即可,无需修改
        )
        listbodybody = [
            metricdataitem(
                collect_time=int(round(time.time()*1000)),  #监控指标数据收集时间,为最新的时间戳,ms为单位
                metric=metricbody,
                values=listvaluesbody
            )
        ]
        request.body = listbodybody
        region = "cn-southwest-2"  #请根据实际region替换
        response = report2aom(request,region)
    
  2. 在训练代码中加入命令,用于加载对应的依赖包。如果使用的是自定义镜像,也可以在制作镜像时安装以下依赖,具体参见。
    pip install huaweicloudsdkaom
    pip install huaweicloudsdkcore
  3. 创建训练作业并运行,具体参考创建生产训练作业(默认页面)章节。
  4. 登录aom控制台,在“指标浏览”页面,通过指定“指标”查看上报的指标数据。
    图1 aom上查看指标数据
  5. 参考告警上报配置方法章节设置aom告警和通知机制。

相关文档

网站地图