本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
调试器见解 — 节点
在存储库的节点选项卡中,调试器提供了详细的图表,用于跟踪运行训练作业的每个计算节点。
CPU 和网络使用率
前两个图表显示了一段时间内的 CPU 利用率和网络利用率。默认情况下,这些图表显示平均值:CPU 和网络利用率与 CPU 内核总数相比的平均值。您可以选择一个或多个 CPU 核心,方法是选择标签以在单个图表上绘制它们并比较核心的利用率。时间轴图是交互式的,两个图表同步。你可以拖放和缩小来仔细查看特定的时间窗口。
GPU 和 GPU 内存利用率
下图显示了随时间推移的 GPU 利用率和 GPU 内存利用率。默认情况下,这些图表显示了一段时间内的平均利用率。您可以选择 GPU 核心标签以查看每个核心的利用率。将利用率平均值与 GPU 内核总数相比,表示整个硬件系统资源的平均利用率。通过查看平均利用率,您可以查看 Amazon 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 个步骤的框架指标,以及不同事件在每个步骤中所花费的累计时间。