使用 Amazon SageMaker Debugger 管理的內建分析器規則 - Amazon SageMaker

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

使用 Amazon SageMaker Debugger 管理的內建分析器規則

Amazon SageMaker Debugger 內建分析器規則會分析在模型訓練期間收集的系統指標和架構操作。Debugger 提供的ProfilerRuleAPI操作可協助設定規則,以監控訓練運算資源和操作,並偵測異常。例如,分析規則可協助您偵測是否存在運算問題,例如CPU瓶頸、過多的 I/O 等待時間、跨GPU工作者的不平衡工作負載,以及運算資源利用率不足。若要查看內建之可用分析規則的完整清單,請參閱偵錯工具內建剖析工具規則清單。下列主題說明如何使用具有預設參數設定和自訂參數值的 Debugger 內建規則。

注意

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

將 SageMaker Debugger 內建分析器規則與其預設參數設定搭配使用

若要在估算器中新增 SageMaker Debugger 內建規則,您需要設定rules清單物件。下列範例程式碼顯示列出 SageMaker Debugger 內建規則的基本結構。

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 Debugger ProfilerReport規則。此規則會啟用 Debugger ProfilerRule ProfilerRule 系列下的所有內建規則。此外,此規則會產生彙總分析報告。如需詳細資訊,請參閱使用 SageMaker 偵錯工具產生的分析報告。您可以使用下列程式碼,將分析報告規則新增至訓練估算器。

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

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

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

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

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

如需偵錯工具規則類別、方法和參數的詳細資訊,請參閱 Amazon SageMaker Python SDK中的SageMaker偵錯工具規則類別

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

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

如需使用 進行 Debugger CreateTrainingJob 內建規則的低階JSON組態API,請參閱 使用 設定偵錯工具 SageMaker API