本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用由 Amazon SageMaker Debugger 管理的內建分析器規則
Amazon SageMaker Debugger 內建剖析工具規則會分析模型訓練期間所收集的系統指標和架構操作。Debugger 提供 ProfilerRule
API 作業,可協助設定規則來監控訓練運算資源和操作,並偵測異常情況。例如,分析規則可協助您偵測是否存在運算問題,例如 CPU 瓶頸、I/O 等待時間過長、GPU 工作者的工作負載不平衡,以及運算資源使用量過低。若要查看內建之可用分析規則的完整清單,請參閱偵錯工具內建剖析工具規則清單。下列主題示範如何使用 Debugger 內建規則搭配預設參數設定和自訂參數值。
注意
內建規則透過 Amazon SageMaker Processing 容器提供,並由 SageMaker Debugger 完全管理,無須額外付費。如需帳單的詳細資訊,請參閱 Amazon SageMaker AI 定價
使用 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 Debugger 所產生的分析報告。您可以使用下列程式碼,將分析報告規則新增至訓練估算器。
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.sagemaker
和 Rule.sagemaker
類別方法的 base_config
和 rule_parameters
參數。對於 Rule.sagemaker
類別方法,您還可以透過 collections_to_save
參數自訂張量集合。如需如何使用 CollectionConfig
類別的指示,請參閱使用 CollectionConfig API 設定張量集合。
使用下列內建規則的組態範本來自訂參數值。您可以視需要變更規則參數,調整要啟動的規則敏感度。
-
base_config
引數是您呼叫內建規則方法的位置。 -
rule_parameters
引數是調整偵錯工具內建剖析工具規則清單中所列出的內建規則預設金鑰值。
如需偵錯工具規則類別、方法和參數的詳細資訊,請參閱《Amazon SageMaker Python SDK》中的 SageMaker AI 偵錯工具規則類別
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 組態,請參閱使用 SageMaker API 設定偵錯工具 。