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

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

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

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

注意

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

重要

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

SageMaker 调试器见解控制器用户界面

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


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

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

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

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

当您启用分析,调试器开始收集框架指标。框架衡量指标是从模型的 ML 框架操作中收集的模型数据,例如正向传递、向后传递、批量规范化和数据加载器进程。调试器将系统性能瓶颈与框架操作相关联,并运行调试程序内置规则,用于分析框架指标.

注意

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

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

  1. 在 SageMaker 工作室中,打开分析以启用调试器框架分析。这将打开 “调试器监视和性能分析配置” 页。

    
                            启用 。分析使用调试器见解仪表板控制器 UI
  2. In配置调试器监视和分析S3 存储桶 URI收集监控数据已设置为默认值。

    您可以使用下拉菜单并在以下可用选项中选择更改监视间隔:100 毫秒、200 毫秒、500 毫秒(默认值)、1 秒、5 秒和 1 分钟。

    
                            调试器工作室洞察模型

    需要指定以下字段:

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

    • 收集监视数据间隔 — 选择收集系统指标的时间间隔。

      注意

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

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

    
                            调试器工作室洞察模型
    • 详细的分析— 指定目标步长或时间范围,以使用本机框架分析器(TensorFlow 分析器和 PyTorch 分析器)分析框架操作。例如,如果使用 TensorFlow,则调试器挂接使 TensorFlow 分析器能够收集特定于 TensorFlow 的框架度量。通过详细的分析,您可以在培训作业的前步骤(第一步之前)、步骤内和步骤之间分析所有框架运算符。

      注意

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

    • Python 分析— 指定用于分析 Python 函数的目标步长或时间范围。您还可以在两个 Python 分析器之间进行选择:配置文件和 Py仪器。

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

      • Py仪器-Py仪器是一个低开发的Python 剖析器,它基于采样工作。使用 Py仪选项,调试器每毫秒采样一次性分析事件。由于 Py仪器测量超过的挂钟时间而不是CPU 时间,因此 Py仪选项可以是一个更好的选择,用于减少性能分析噪声(过滤出累积快速的不相关函数调用)和捕获实际计算密集型运算符(累积缓慢)训练您的模型。借助 Py仪,您可以看到函数调用树,并更好地理解缓慢的结构和根本原因。

      注意

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

    • 数据存储器分析— 指定用于分析深度学习框架数据加载器进程的目标步长或时间范围。调试器收集框架的每个数据加载器事件。

      注意

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

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

  4. 选择“确认”以完成分析配置。当配置成功更新后,您应该可以看到以下确认消息。

    
                            调试器工作室洞察模型