剖析和最佳化運算效能 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

剖析和最佳化運算效能

訓練規模快速成長的 state-of-the-art 深度學習模型時,將此類模型的訓練工作擴展為大型 GPU 叢集,並在梯度下降程序的每一次迭代中,從數十億和數兆次的操作和通訊中識別計算效能問題成為一項挑戰。

SageMaker 提供分析工具,以視覺化和診斷在 AWS 雲端運算資源上執行訓練工作所產生的複雜運算問題。有兩個效能分析選項可 SageMaker 提供:Amazon 效能分 SageMaker 析工具和 Amazon Studio 經典版中的資源公用程式監視器。 SageMaker 請參閱以下兩種功能的簡介,以取得快速洞察,並了解根據您的需求該使用哪一種功能。

Amazon SageMaker 分析器

Amazon SageMaker Profiler 是一種分析功能,您可以在訓練深度學習模型時深入研究佈建的運算資源,並取得操作層級詳細資訊的可見度。 SageMaker SageMaker 效能分析工具提供 Python 模組,可在整個 PyTorch 或 TensorFlow 訓練指令碼中新增註解,並啟用 SageMaker 效能分析工具。您可以透過 SageMaker Python SDK 和 AWS Deep Learning Containers 存取這些模組。

透過效能分 SageMaker 析工具,您可以追蹤 CPU 和 GPU 上的所有活動,例如 CPU 和 GPU 使用率、GPU 上執行核心、CPU 上的核心啟動、同步作業、跨 CPU 和 GPU 的記憶體作業、核心啟動與對應執行之間的延遲,以及 CPU 和 GPU 之間的資料傳輸。

SageMaker Profiler 也提供可視化定檔的使用者介面 (UI)、已分析事件的統計摘要,以及訓練工作的時間表,用於追蹤和瞭解 GPU 和 CPU 之間事件的時間關係。

若要深入瞭解 SageMaker 效能評測器,請參閱。使用 Amazon SageMaker 效能分析工具分析運算資源上 AWS 的活動

在 Amazon SageMaker 工作室經典版中監控 AWS 運算

SageMaker 在 Studio Classic 中也提供了一個使用者介面,用於監視高層級的資源使用率,但與從 SageMaker 收集到的預設使用率指標相比,粒度更高。 CloudWatch

對於 SageMaker 使用 SageMaker Python SDK 執行的任何訓練工作,都會 SageMaker 開始對基本資源使用率指標進行分析,例如 CPU 使用率、GPU 使用率、GPU 記憶體使用率、網路和 I/O 等待時間。它會每 500 毫秒收集一次這些資源使用率指標。

與以 1 秒間隔收集指標的 Amazon CloudWatch 指標相比,的監控功能可為資源使用率指標 SageMaker 提供更精細的精細度,最小為 100 毫秒 (0.1 秒),因此您可以深入研究作業或步驟層級的指標。

若要存取儀表板以監視訓練工作的資源使用率指標,請參閱 SageMaker Studio 實驗中的SageMaker偵錯工具 UI