

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

# 剖析和最佳化運算效能
<a name="train-profile-computational-performance"></a>

訓練規模快速成長的最先進深度學習模型時，將此類模型的訓練任務擴展為大型 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](train-use-sagemaker-profiler.md)。

**監控 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 實驗中的 SageMaker AI Debugger 使用者介面](https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-on-studio.html)。



**Topics**
+ [Amazon SageMaker Profiler](train-use-sagemaker-profiler.md)
+ [在 Amazon SageMaker Studio Classic 中監控 AWS 運算資源使用率](debugger-profile-training-jobs.md)
+ [Amazon SageMaker AI 分析功能的版本備註](profiler-release-notes.md)