更新时间:2024-10-24 GMT+08:00

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

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

  1. 在ModelArts管理控制台的左侧导航栏中选择“模型训练 > 训练作业”
  2. 在训练作业列表中,单击作业名称进入训练作业详情页面。
  3. 在训练作业详情页面,单击“资源占用情况”页签查看计算节点的资源使用情况,最多可显示最近三天的数据。在“资源占用情况”窗口打开时,会定期向后台获取最新的资源使用率数据并刷新。

    操作一:如果训练作业使用多个计算节点,可以通过实例名称的下拉框切换节点。

    操作二:单击图例“cpuUsage”“gpuMemUsage”“gpuUtil”“memUsage”“npuMemUsage”“npuUtil”,可以添加或取消对应参数的使用情况图。

    操作三:鼠标悬浮在图片上的时间节点,可查看对应时间节点的占用率情况。

    图1 资源占用情况
    表1 参数说明

    参数

    说明

    cpuUsage

    cpu使用率。

    gpuMemUsage

    gpu内存使用率。

    gpuUtil

    gpu使用情况。

    memUsage

    内存使用率。

    npuMemUsage

    npu内存使用率。

    npuUtil

    npu使用情况。

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

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

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

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

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

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