本文档介绍如何利用阿里云容器服务的机器学习解决方案在几分钟内轻松设置 GPU 资源使用率、显存使用率和温度的报警机制,以便帮助您及时发现 GPU 的潜在问题,避免不必要的损失。

步骤 1 配置 GPU 资源监控报警

  1. 创建 GPU 容器集群。

    有关如何创建 GPU 集群,参见 创建 GPU 集群。本示例创建了如下图所示的 GPU 集群。



  2. 登录 云监控管理控制台
  3. 单击左侧导航栏中的 云服务监控 > 容器服务


  4. 在容器服务集群列表中,选择所创建的集群,并单击 节点监控


  5. 在容器集群节点列表中,选择一个节点,单击 监控图表

    页面显示了节点级别资源监控,包括 GPU 的使用率、显存使用率和温度。其中,GPU 的温度是反映 GPU 卡工作状态的重要指标,当 GPU 的温度高到一定程度时,会导致 GPU hang 等潜在的严重问题。如果能够提前洞察这一潜在问题,并且报警给相应的数据科学家,从而提前主动做一些 checkpoint 的保存,就可以提高训练的有效性,避免硬件问题造成的训练时间浪费问题。



  6. 单击页面右上角的 创建报警规则
  7. 填写报警规则的配置并单击 确认
    1. 配置关联资源。

      实例 下拉框里选择 全选 将集群中所有的机器添加到报警监控中。



    2. 设置报警规则。

      本示例使用的监控维度是 GPU 温度,要求 5 分钟的平均值大于等于 70 摄氏度时报警;同时设置报警条件,这里是 5 分钟内连续 5 次超过阈值就报警。



    3. 设置报警通知,请先按照 报警联系人和报警联系组 创建云监控的报警联系人和联系组 GPU 监控,并 添加钉钉机器人


      选择 GPU 监控 组作为通知对象,并且选择默认的通知方式和内容。



步骤 2 创建模型训练环境,运行 neural-style 模型训练

为了测试报警功能,本示例运行一个可以触发报警条件的 neural-style 模型训练应用。

  1. 登录 容器服务管理控制台
  2. 单击左侧导航栏中的 镜像与方案 > 解决方案
  3. 模型训练 中单击 创建


  4. 填写模型训练的配置信息并单击 确定

    本示例的具体配置如下所示:

    • 训练框架: 自定义镜像。
    • 镜像地址: registry.cn-beijing.aliyuncs.com/cheyang/neural-style:latest
    • 单Worker使用GPU数量: 1
    • 数据卷名:不使用数据卷。
    • 执行命令:
      python neural_style.py --iterations 50000 --content
                      /neural-style/examples/1-content.jpg --styles /neural-style/examples/1-style.jpg
                      --output /neural-style/output.jpg
      说明
      如果您选择的是支持 Python3 的框架,请在命令行中直接调用 python3,而不是 python。


步骤 3 接收报警信息

稍后您可以看到在钉钉机器人报警 GPU 温度过高,并且可以精确指明温度过高的 GPU 卡号为 /dev/nivdia0,所在机器的实例 ID 为 i-wz9b6v2187e05zslh3xv,以及高温温度为 75 摄氏度。



通过报警中的链接,您可以通过报警历史查看具体的监控细节。