SageMaker 调试器见解仪表板演练 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SageMaker 调试器见解仪表板演练

启动 SageMaker 培训作业时,调试器默认开始监控 EC2 实例的硬件系统资源利用率。您可以通过 Studio 跟踪系统利用率、统计信息概述以及瓶颈检测状态和结果。本指南将引导您完成 Studio 调试器见解仪表板的每个组件。

注意

Studio 调试器见解仪表板在ml.m5.4xlarge实例来处理和渲染可视化。每个调试器见解选项卡运行一个 Studio 内核会话。在单个实例上运行多个调试器见解选项卡的多个内核会话。当您关闭调试器见解选项卡时,相应的内核会话也会关闭。Studio 应用程序仍处于活动状态,并为ml.m5.4xlarge实例使用率。有关定价的信息,请参阅Amazon SageMaker 定价页.

重要

完成使用调试器见解仪表板后,必须关闭ml.m5.4xlarge实例以避免产生费用。有关如何关闭实例的说明,请参阅关闭 SageMaker 调试器见解实例.

调试器见解 — 概述

在存储库的概述选项卡上,您可以找到培训作业摘要、资源利用率摘要、资源密集型操作和见解。

训练作业摘要

这些区域有:训练作业摘要部分显示了在不同培训阶段(初始化、训练循环和最终确定)上花费的总体训练时间。饼图显示不同训练阶段所花费的时间使用百分比和绝对时间量。例如,您可以对初始化培训作业所需的时间进行高级概述,检查初始化是否由于数据下载而花费太长时间,使 GPU 处于空闲状态。


                        调试器工作室洞察模型

本部分具有以下功能:

  • 这些区域有:培训进度随时间推移图表显示了一段时间内不同训练阶段的时间表。如果使用现货训练,您还可以在时间轴图表中找到现货中断。

  • 这些区域有:训练作业详细信息面板显示确切的时间戳和利用率百分比数字。

    • 开始时间— 培训作业开始的确切时间。

    • End Time— 培训作业完成的确切时间。

    • Job 持续时间— 总训练时间从开始时间添加到End Time.

    • 训练循环开始— 第一个时代的第一步开始的确切时间。

    • 训练循环末端— 最后一个时代的最后一步完成的确切时间。

    • 训练循环持续时间— 训练循环开始时间与训练循环结束时间之间的总时间。

    • 初始化— 初始化培训作业所花费的时间,例如编译训练脚本、启动 EC2 实例和下载训练数据。

    • Fants— 完成培训工作所花费的时间,例如完成模型培训、更新模型工件以及关闭 EC2 实例。

    • 初始化 (%)— 花费的时间百分比初始化超过总Job 持续时间.

    • 训练循环 (%)— 花费的时间百分比训练循环超过总Job 持续时间.

    • 最后定稿 (%)— 花费的时间百分比Fants超过总Job 持续时间.

资源利用率摘要

此汇总表显示了所有工作线程的硬件系统资源利用率统计信息 (算法-n)。系统指标包括总 CPU 利用率、总 GPU 利用率、总 CPU 内存利用率、总 GPU 内存利用率、总 I/O 等待时间和总网络(以字节为单位)。该表显示了最小值和最大值,以及 p99、p90 和 p50 百分位数。


                        调试器工作室洞察模型

资源密集型操作

这些区域有:资源密集型操作部分提供了更详细的分析结果,显示了培训作业的哪些操作是计算密集型的。在下面的示例中,它表明卷积神经网络向后传运算符是 GPU 上资源最大的运算符。


                        调试器工作室洞察模型

Insights

见解窗格中,您可以找到调试器内置规则检测到的训练问题。您可以展开每个列表,以查找有用的见解、建议、规则说明以及触发规则的条件。

有关调试程序内置规则的更多信息,请参阅调试器内置规则列表.


                        调试器工作室洞察模型

调试器见解 — 节点

关于工作室调试器洞察节点选项卡上,调试器提供详细的图形,用于跟踪运行训练作业的每个计算节点。

CPU 和网络使用率

前两个图表显示了一段时间内的 CPU 利用率和网络利用率。默认情况下,图形显示平均值:CPU 内核总数的平均 CPU 和网络利用率。您可以通过在标签上选择一个或多个 CPU 核心,将其绘制在单个图表上并比较各核心的利用率。时间轴图形是交互式的,并且两个图形已同步。您可以拖放和缩小以查看要仔细查看的特定时间窗。


                    调试器工作室洞察模型

GPU 和 GPU 内存利用率

下图显示了一段时间内 GPU 利用率和 GPU 内存利用率。默认情况下,图形显示一段时间内的平均利用率。您可以选择 GPU 核心标签来查看每个核心的利用率。计算 GPU 内核总数的平均利用率可以显示整个硬件系统资源的平均利用率。通过查看平均利用率,您可以检查 EC2 实例的整体系统资源使用情况。下图显示了具有 8 个 GPU 内核的 ml.p3.16xlarge 实例上的示例培训作业。您可以监控培训工作是否分布良好,充分利用所有 GPU。


                    调试器工作室洞察模型

系统总体利用率随时间推移

下面的热图显示了投影到二维图上的一段时间内的整个系统利用率。每个 CPU 和 GPU 内核都在垂直轴中列出,并用颜色记录随着时间的推移的利用率。请参阅图右侧的标记颜色条,了解哪些颜色级别与使用率相对应。例如,在下面的热图中,初始化阶段在 Sun 23:18 周围结束后,您可以发现培训作业充分利用了 ml.p3.16xlarge 实例:GPU 内核已充分利用,CPU 用于处理 Python 操作。在不同的时间分散在 CPU 上的几个 CPU 瓶颈问题。


                    调试器工作室洞察模型

随时间和框架事件阶段的系统资源利用率

这些区域有:系统指标随时间的变化图形显示了 CPU、GPU 和数据 I/O 的整体利用率。这些区域有:框架指标随时间的变化图形显示了框架指标,这些指标是框架事件阶段,您可以与系统指标随时间的变化图形。

您可以在系统资源使用时间轴中选择感兴趣的时间间隔,框架事件阶段会点击时间间隔,以显示在选定时间间隔内发生的事件。在每个事件阶段块中,您可以找到实际用于训练循环的时间间隔,并将训练循环分解为向后传递和前传事件。总体而言,您可以看到实际训练时间间隔在整个训练时间内只占用一小部分。


                    调试器工作室洞察模型

培训所花费的时间

在下图中,捕获了上一个训练循环最后 30 个步骤的框架指标。此图形显示每个步骤中不同事件所花费的累计时间。


                    在训练阶段图中花费的时间的动画截图