設定由 Amazon 偵錯工具管理的內建效能分析工具規則 SageMaker - Amazon SageMaker

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

設定由 Amazon 偵錯工具管理的內建效能分析工具規則 SageMaker

Amazon SageMaker 偵錯工具內建的效能分析工具規則會分析模型訓練期間收集的系統指標和架構操作。Debugger 提供 ProfilerRule API 作業,可協助設定規則來監控訓練運算資源和操作,並偵測異常情況。例如,分析規則可協助您偵測是否存在運算問題,例如 CPU 瓶頸、I/O 等待時間過長、GPU 工作者的工作負載不平衡,以及運算資源使用量過低。若要查看內建之可用分析規則的完整清單,請參閱偵錯工具內建剖析工具規則清單

注意

內建規則透過 Amazon SageMaker 處理容器提供,並由 SageMaker 偵錯工具完全管理,無需額外費用。如需有關計費的詳細資訊,請參閱 Amazon SageMaker 定價頁面。

在下列主題中,了解如何使用 Debugger 內建規則。

使用 SageMaker 偵錯工具內建的效能分析工具規則及其預設參數設定

要在估計 SageMaker 器中添加調試器內置規則,您需要配置rules列表對象。下列範例程式碼會顯示列出 SageMaker 偵錯工具內建規則的基本結構。

from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInProfilerRuleName_1()), ProfilerRule.sagemaker(rule_configs.BuiltInProfilerRuleName_2()), ... ProfilerRule.sagemaker(rule_configs.BuiltInProfilerRuleName_n()), ... # You can also append more debugging rules in the Rule.sagemaker(rule_configs.*()) format. ] estimator=Estimator( ... rules=rules )

如需可用內建規則的完整清單,請參閱偵錯工具內建剖析工具規則清單

若要使用效能分析規則並檢查訓練工作的計算效能和進度,請新增 SageMaker 除錯程式的ProfilerReport規則。此規則會啟動除錯程式 ProfilerRuleProfilerRule系列下的所有內建規則。此外,此規則會產生彙總分析報告。如需詳細資訊,請參閱使用 SageMaker 偵錯工具產生的效能分析 您可以使用下列程式碼,將分析報告規則新增至訓練估算器。

from sagemaker.debugger import Rule, rule_configs rules=[ ProfilerRule.sagemaker(rule_configs.ProfilerReport()) ]

當您使用 ProfilerReport 規則來啟動訓練任務時,Debugger 會每 500 毫秒收集一次資源使用率資料。Debugger 會分析資源使用率,來識別您的模型是否有瓶頸問題。如果規則偵測到訓練有異常狀況,則規則評估狀態會變更為 IssueFound。您可以設定自動化動作,例如使用 Amazon E CloudWatch vents 和 AWS Lambda. 如需詳細資訊,請參閱 Amazon SageMaker 調試器規則的操作

使用 Debugger 內建剖析工具規則及自訂參數值

如果您想要調整內建規則參數值並自訂張量集合 Regex,請設定 ProfilerRule.sagemakerRule.sagemaker 類別方法的 base_configrule_parameters 參數。對於 Rule.sagemaker 類別方法,您還可以透過 collections_to_save 參數自訂張量集合。如需如何使用 CollectionConfig 類別的指示,請參閱使用 CollectionConfig API 設定張量集合

使用下列內建規則的組態範本來自訂參數值。您可以視需要變更規則參數,調整要啟動的規則敏感度。

如需有關偵錯程式規則類別、方法和參數的詳細資訊,請參閱 Amazon SageMaker Python 開發套件中的SageMaker偵錯程式規則類別

from sagemaker.debugger import Rule, ProfilerRule, rule_configs, CollectionConfig rules=[ ProfilerRule.sagemaker( base_config=rule_configs.BuiltInProfilerRuleName(), rule_parameters={ "key": "value" } ) ]

針對偵錯工具內建剖析工具規則清單中的每個規則提供參數描述和參數值自訂範例。

如需使用 CreateTrainingJob API 之 Debugger 內建規則的低階 JSON 組態,請參閱使用 Amazon SageMaker API 配置調試器