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

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

剖析和最佳化運算效能

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

SageMaker AI 提供分析工具,可視覺化和診斷 AWS 在雲端運算資源上執行訓練任務時產生的此類複雜運算問題。SageMaker AI 提供兩種分析選項:Amazon SageMaker Profiler 和 Amazon SageMaker Studio Classic 中的資源利用率監控。請參閱以下兩種功能的簡介,以取得快速洞察,並了解根據您的需求該使用哪一種功能。

Amazon SageMaker Profiler

Amazon SageMaker Profiler 是 SageMaker AI 的分析功能,您可以在訓練深度學習模型時深入了解佈建的運算資源,並了解操作層級詳細資訊。SageMaker Profiler 提供 Python 模組,可在整個 PyTorch 或 TensorFlow 訓練指令碼中新增註釋,並啟用 SageMaker Profiler。您可以透過 SageMaker Python SDK 和 AWS 深度學習容器存取模組。

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

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

若要進一步了解 SageMaker 剖析工具,請參閱Amazon SageMaker Profiler

在 Amazon SageMaker Studio Classic 中監控 AWS 運算資源

SageMaker AI 也在 Studio Classic 中提供使用者介面,以高層級監控資源使用率,但與從 SageMaker AI 到 CloudWatch 收集的預設使用率指標相比,更精細。

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

相較於以 1 秒為間隔收集指標的 Amazon CloudWatch 指標,SageMaker AI 的監控功能可更精細地分析資源使用率指標,最多可達 100 毫秒 (0.1 秒) 間隔,因此您可以在操作或步驟層級深入探索指標。

若要存取儀表板以監控訓練任務的資源使用率指標,請參閱 SageMaker Studio Experiments 中的 SageMaker AI Debugger UI