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

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

Amazon SageMaker 调试器见解仪表板控制器

调试器控制器有不同的组件用于监视和分析。在本指南中,您将了解调试程序控制器组件。

注意

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

重要

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

SageMaker 调试器见解控制器 UI

使用位于见解仪表板左上角的调试器控制器,您可以刷新仪表板、配置或更新用于监控系统指标和分析框架指标的调试器设置、停止训练作业以及下载调试器性能分析报告。


                    调试器见解控制面板控制
  • 如果你想手动刷新调试 [你的训练-工作名称]页面中,选择刷新按钮(左上角的圆形箭头),如前面的屏幕截图所示。

  • 监控默认情况下,对于任何 SageMaker 培训作业启用。通过监控你的训练任务,调试器只收集系统指标来检测资源利用率问题,例如 CPU 瓶颈和 GPU 利用不足。有关调试程序监控的资源利用率问题的完整列表,请参阅调试器用于监视硬件系统资源利用率的内置规则(系统指标).

  • 要下载包含培训作业的详细信息和分析的综合调试器性能分析报告,请选择下载报告. 有关调试程序性能分析报告的更多信息,请参阅SageMaker 调试器性能分析报告.

启用和配置调试器分析以获取详细见解

启用时分析,调试器开始收集框架指标。框架指标是从模型的机器学习框架操作中收集的模型数据,例如向前传递、向后传递、批量标准化和数据加载器流程。调试器将系统性能瓶颈与框架操作关联起来,然后运行用于分析框架指标的调试器内置规则.

注意

启用分析后,调试器会收集每个步骤中执行的每个框架操作调用:在向前传递期间向下卷积输入图层的操作、在向后传递期间更新数百万神经元的权重以及数据加载器进程。尽管分析可以帮助您更深入地了解模型性能,但收集框架指标可能会影响训练时间和绩效。我们建议您启用分析功能,以便一次最多检查两个步骤。有关如何使用以下功能配置调试程序的更多信息:Amazon SageMaker Python 开发工具包,请参阅配置调试器框架分析在训练 Job 运行时更新调试器系统监控和框架分析配置.

如果要在训练作业运行期间启用分析功能,请使用以下步骤开始分析。

  1. 在 Studio 中,打开分析以启用调试器框架分析。这将打开调试器监视和分析配置页面。

    
                            启用 。分析使用调试器见解仪表板控制器 UI
  2. 这些区域有:配置调试器监控和分析S3 存储桶 URI每隔收集监控数据字段已设置为默认值。

    您可以使用下拉列表选择更改监视间隔。从以下可用选项中进行选择:100 毫秒、200 毫秒、500 毫秒(默认值)、1 秒、5 秒和 1 分钟。

    
                            调试器-工作室-见解模型

    指定以下字段的值:

    • S3 存储桶 URI:指定基本 S3 存储桶 URI。

    • 每隔收集监控数据:选择时间间隔以收集系统指标。

      注意

      如果选择较低的时间间隔之一,则可以增加监控系统指标的粒度。它允许您以更高的时间分辨率捕获尖峰和异常。但是,随着要处理的系统指标的规模按比例增加,可能会影响整体培训和处理时间。

  3. In分析的高级设置中,配置框架指标分析选项。指定开始步骤(或开始时间) 和配置文件的步骤数(或个人资料的持续时间) 来配置文件。您也可以将输入字段留空。默认值会自动配置为使用当前步骤和 1 步持续时间。

    
                            调试器-工作室-见解模型
    • 详细的分析:指定目标步长或时间范围,以使用本机框架分析器(TensorFlow 分析器和 PyTorch 分析器)来分析框架操作。例如,如果您使用的是 TensorFlow,则调试器钩子使 TensorFlow 分析器能够收集 TensorFlow 特定的框架指标。通过详细的分析,您可以在培训作业的前一步(在第一步之前)、步骤内以及在培训作业的步骤之间对所有框架运营商进行分析。

      注意

      详细的分析可能会显著增加 GPU 内存消耗。建议不要在几个以上的步骤中启用详细的分析。

    • Python 分析:指定目标步长或时间范围来分析 Python 函数。您还可以在两个 Python 分析器之间进行选择:cProfile 和 Py仪器。

      • cProfile — 标准 Python 分析器。cProfile 为训练期间调用的每个 Python 运算符收集。借助 cProfile,调试器可以节省累积时间和每个函数调用的注释,从而提供了 Python 函数的完整详细信息。例如,在深度学习中,最常被调用的函数可能是卷积过滤器和向后传递运算符,以及 cProfile 对其中的每一个函数进行分析。对于 cProfile 选项,您可以进一步选择计时器选项:总时间、CPU 时间和 CPU 外时间。虽然您可以分析 CPU 时间内在处理器(包括 CPU 和 GPU)上执行的每个函数调用,但也可以使用 “非 CPU 时间” 选项识别 I/O 或网络瓶颈。默认值为总时间,调试器会分析 CPU 和 CPU 外时间。借助 cProfile,您可以在分析配置文件数据时向下钻取到每个功能。

      • Py仪器/py仪器是基于采样工作的低开销 Python 分析器。使用 Py仪器选项,调试器每毫秒对性能分析事件进行一次采样。由于 Py仪器测量了挂钟时间而不是 CPU 时间,因此 Py仪器选项可能是比cProfile 选项的更好选择,用于减少性能分析噪音(过滤出累积速度不相关的函数调用)和捕获实际计算密集型的运算符(训练模型的速度累计较慢)。使用 Py仪器,您可以看到一棵函数调用树,并更好地了解缓慢的结构和根本原因。

      注意

      启用 Python 分析可能会减慢整体训练时间。在 cProfile 的情况下,每次调用时都会对最频繁调用的 Python 运算符进行分析,因此性能分析的处理时间随调用次数而增加。对于 Py仪器而言,由于其取样机制,累计分析时间相对于时间而增加。

    • 数据加载程序分析:指定目标步长或时间范围以分析深度学习框架数据加载器流程。调试器收集框架的每个数据加载器事件。

      注意

      数据加载器分析可以降低训练性能,同时从数据加载器那里收集信息。我们不建议您启用数据加载器分析功能超过几个步骤。

      调试器已预先配置为注释数据加载器进程仅针对Amazon深度学习容器。调试器无法在任何其他自定义或外部容器上分析数据加载器进程。

  4. 选择“确认以完成您的性能分析配置。当配置成功更新后,您应该能够看到已成功更新调试器配置确认消息,如下图所示。

    
                            调试器-工作室-见解模型