SageMaker 调试程序 见解控制面板演练 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

SageMaker 调试程序 见解控制面板演练

当您启动SageMaker训练作业时,默认情况下 调试程序 开始监控 EC2 实例的硬件系统资源利用率。您可以通过 Studio 跟踪系统利用率、统计数据概述以及瓶颈检测状态和结果。本指南将指导您完成 Studio 调试程序 见解控制面板的每个组件。

注意

Studio 调试程序 见解控制面板在ml.m5.4xlarge实例上运行 Studio 应用程序以处理和呈现可视化内容。每个调试程序见解选项卡运行一个 Studio 内核会话。适用于多个调试程序见解选项卡的多个内核会话在单个实例上运行。当您关闭调试程序见解选项卡时,相应的内核会话也会关闭。Studio 应用程序保持活动状态,并产生ml.m5.4xlarge实例使用费用。有关 定价的信息,请参阅 Amazon SageMaker 定价页面。

重要

使用调试程序完见解控制面板后,您必须关闭ml.m5.4xlarge实例以避免产生费用。有关如何关闭实例的说明,请参阅关闭SageMaker调试程序见解实例

调试程序 见解–概述

Overview (概述) 选项卡上,您可以找到训练作业摘要、资源利用率摘要、资源密集型操作和见解。

训练作业摘要

Training job summary (训练作业摘要) 部分显示训练的不同阶段所花费的总训练时间:初始化、训练循环和最终确定。饼图显示在不同训练阶段上花费的时间使用率百分比和绝对时间量。例如,您可以大致了解初始化训练作业需要多长时间,检查初始化是否因下载数据而耗时过长,使 GPUs处于闲置状态。


                        debugger-studio-insight-mockup

本节具有以下功能:

  • Training progress over time (随时间训练进度) 图表显示不同训练阶段随时间变化的时间表。如果使用 Spot 训练,您还可以在时间线图表中查找 Spot 中断。

  • Training job details (训练作业详细信息) 面板显示确切的时间戳和利用率百分比数字。

    • Start time– (开始时间) 训练作业开始的确切时间。

    • 结束时间 – 训练作业完成的确切时间。

    • Job duration– (作业持续时间) 从 Start time (开始时间) 到 End time (结束时间) 的总训练时间

    • 训练循环启动 – 第一个纪元的第一步开始的确切时间。

    • 训练循环结束 – 最后一个纪元的最后一个步骤完成的确切时间。

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

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

    • 最终确定 用于完成训练作业–的时间,例如完成模型训练、更新模型构件和关闭 EC2 实例。

    • Initialization (%)– (初始化 (%)) 在总作业持续时间内初始化所花费的时间百分比。

    • 训练循环 (%) – 在总作业持续时间内在训练循环上花费的时间百分比。

    • 最终确定 (%) – 在总作业持续时间完成最终确定所花费的时间百分比。

资源利用率摘要

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


                        debugger-studio-insight-mockup

资源密集型操作

资源密集型操作部分提供了更详细的分析结果,以显示训练作业的计算密集型操作。在以下示例中,它显示卷积神经网络向后传递运算符在 GPUs 上是资源密集型最高的。


                        debugger-studio-insight-mockup

Insights

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

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


                        debugger-studio-insight-mockup

调试程序 Insights – 节点

在 Studio 调试程序 Insight Nodes (Studio 见解节点) 选项卡上, 调试程序 提供跟踪训练作业在其上运行的每个计算节点的详细图表。

CPU 和网络利用率

前两个图表显示一段时间内的 CPU 使用率和网络使用率。默认情况下,图表显示平均值:CPU 和网络利用率在 CPU 核心总数中的平均值。您可以选择一个或多个 CPU 核心,方法是在标签上选择 ,以在单个图表上绘制这些核心的图表并比较核心的使用率。时间线图是交互式的,两个图表是同步的。您可以拖放以查看希望 更仔细查看的特定时段。


                    debugger-studio-insight-mockup

GPU 和 GPU 内存利用率

下图显示一段时间内的 GPU 使用率和 GPU 内存使用率。默认情况下,图表显示随时间推移的平均利用率。您可以选择 GPU 核心标签以查看每个核心的利用率。计算利用率在 GPU 内核总数中的平均值时,将显示整个硬件系统资源的平均利用率。通过查看平均利用率,您可以检查 EC2 实例的整体系统资源使用情况。下图显示了具有 8 个 GPU 核心的 p316xlarge 实例上的示例训练作业。您可以监控训练作业是否分配良好,并充分利用所有 GPUs。


                    debugger-studio-insight-mockup

一段时间内的整体系统利用率

以下热图显示一段时间内投影到二维点的整个系统利用率。每个 CPU 和 GPU 核心都列在纵轴中,利用率随颜色随时间的变化记录。请参阅图形右侧的带标记彩条,以了解对应于利用率的颜色级别。例如,在以下热图中,在初始化阶段结束后的太阳 23:18 周围,您可以发现训练作业完全利用了 p316xlarge 实例:GPU 核心完全利用CPUs中等用于处理 Python 操作。在不同时间,CPU 瓶颈问题会分散到多个 CPUs 中。


                    debugger-studio-insight-mockup

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

系统指标随时间的变化图显示整体 CPU、GPU 和数据 I/O 利用率。框架指标随时间的变化图表显示框架指标,这些指标是您可以随着时间的推移系统指标关联的框架事件阶段。

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


                    debugger-studio-insight-mockup

训练所花的时间

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


                    训练阶段绘制所花时间的动画屏幕截图