更新时间:2025-08-07 GMT+08:00

查看训练作业资源占用情况

场景描述

当前ModelArts Standard训练作业模块在训练作业详情页的“监控”页签中提供了训练作业的资源使用情况监控,可以查看当前训练作业整体或单个节点占用的CPU、GPU或NPU资源使用情况。

约束限制

支持查看整个训练周期内的监控数据,具体数据参见表1

训练作业的资源占用情况系统会自动保存30天,过期会被清除。

如何查看训练作业资源使用详情

  1. ModelArts管理控制台的左侧导航栏中选择“模型训练 > 训练作业”
  2. 在训练作业列表中,单击作业名称进入训练作业详情页面。
  3. 在训练作业详情页面,单击“监控”页签查看训练作业的资源使用情况,支持以下维度的资源监控,具体的监控指标如表1所示。
    • 作业监控:监控当前训练作业整体的资源使用情况,监控周期可以选择最近15分钟、最近30分钟、最近1小时、最近6小时、最近12小时、最近24小时,也可以自定义时段。
    • 任务监控:监控训练作业运行的具体节点的资源使用情况,监控周期可以选择最近15分钟、最近30分钟、最近1小时、最近6小时、最近12小时、最近24小时,也可以自定义时段。
    表1 训练作业监控指标

    分类

    指标名称

    指标参数

    指标含义

    单位

    取值范围

    呈现形式

    CPU

    CPU使用率

    ma_container_cpu_util

    该指标用于统计测量对象的CPU使用率。

    百分比(Percent)

    0~100%

    折线图

    CPU使用核数

    ma_container_cpu_used_core

    该指标用于统计测量对象已经使用的CPU核个数

    核(Core)

    ≥0

    柱状图

    内存使用

    物理内存使用率

    ma_container_memory_util

    该指标用于统计测量对象已使用内存占申请物理内存总量的百分比。

    百分比(Percent)

    0~100%

    折线图

    物理内存使用量

    ma_container_memory_used_meg

    该指标用于统计测量对象实际已经使用的物理内存,对应container_memory_working_set_bytes当前内存工作集(working set)使用量。

    工作区内存使用量=活跃的匿名页和缓存,以及file-baked页<=container_memory_usage_bytes。

    兆字节(Megabytes)

    ≥0

    柱状图

    GPU

    GPU使用率

    ma_container_gpu_util

    该指标用于统计测量对象的GPU使用率。

    百分比(Percent)

    0~100%

    折线图

    GPU显存使用率

    ma_container_gpu_mem_util

    该指标用于统计测量对象已使用的显存占显存容量的百分比。

    百分比(Percent)

    0~100%

    折线图

    GPU显存使用量

    ma_container_gpu_mem_used_megabytes

    该指标用于统计测量对象已使用的显存。

    兆字节(Megabytes)

    ≥0

    柱状图

    NPU

    NPU使用率

    ma_container_npu_ai_core_util

    昇腾系列AI处理器AI Core利用率

    百分比(Percent)

    0~100%

    折线图

    NPU显存使用率

    ma_container_npu_memory_util

    该指标用于统计测量对象已使用的NPU显存占NPU存储容量的百分比。(即将废弃, Snt3系列替代指标为ma_container_npu_ddr_memory_util,Snt9系列替代指标为ma_container_npu_hbm_util)。

    百分比(Percent)

    0~100%

    折线图

    NPU显存使用量

    ma_container_npu_memory_used_megabytes

    该指标用于统计测量对象已使用的NPU显存。(即将废弃, Snt3系列替代指标为ma_container_npu_ddr_memory_usage_bytes,Snt9系列替代指标为ma_container_npu_hbm_usage_bytes)。

    兆字节(Megabytes)

    ≥0

    柱状图

    网络

    网络IO-下行速率

    ma_container_network_receive_bytes

    网络接收数据速率,该指标用于统计测试对象的入方向网络流速。

    字节/秒(Bytes/Second)

    ≥0

    折线图

    网络IO-上行速率

    ma_container_network_transmit_bytes

    网络发送数据速率,该指标用于统计测试对象的出方向网络流速。

    字节/秒(Bytes/Second)

    ≥0

    折线图

    磁盘

    磁盘读取速率

    ma_container_disk_read_kilobytes

    该指标用于统计每秒从磁盘读出的数据量。

    千字节/秒(Kilobytes/Second)

    ≥0

    折线图

    磁盘写入速率

    ma_container_disk_write_kilobytes

    该指标用于统计每秒写入磁盘的数据量。

    千字节/秒(Kilobytes/Second)

    ≥0

    折线图

    更多指标查看请参见文档查看训练作业监控指标章节实现。

如何判断训练作业资源利用率高低

在模型训练的训练作业列表页可以查看作业资源利用率情况。当作业worker-0实例的GPU/NPU的平均利用率低于50%时,在训练作业列表中会进行告警提示。

图1 作业列表显示作业资源利用率情况

此处的作业资源利用率只涉及GPU和NPU资源。作业worker-0实例的GPU/NPU平均利用率计算方法:将作业worker-0实例的各个GPU/NPU加速卡每个时间点的利用率汇总取平均值。

如何提高训练作业资源利用率

  • 适当增大batch_size:较大的batch_size可以让GPU/NPU计算单元获得更高的利用率,但是也要根据实际情况来选择batch_size,防止batch_size过大导致内存溢出。
  • 提升数据读取的效率:如果读取一个batch数据的时间要长于GPU/NPU计算一个batch的时间,就有可能出现GPU/NPU利用率上下浮动的情况。建议优化数据读取和数据增强的性能,例如将数据读取并行化,或者使用NVIDIA Data Loading Library(DALI)等工具提高数据增强的速度。
  • 模型保存不要太频繁:模型保存操作一般会阻塞训练,如果模型较大,并且较频繁地进行保存,就会影响GPU/NPU利用率。同理,其他非GPU/NPU操作尽量不要阻塞训练主进程太多的时间,如日志打印,保存训练指标信息等。