配置由 Amazon SageMaker 调试器管理的内置分析器规则 - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置由 Amazon SageMaker 调试器管理的内置分析器规则

Amazon SageMaker Debugger 内置的分析器规则可以分析模型训练期间收集的系统指标和框架操作。Debugger 提供 ProfilerRule API 操作,有助于配置规则来监控训练计算资源和操作以及检测异常。例如,分析规则可以协助您检测是否存在计算问题,例如 CPU 瓶颈、I/O 等待时间过长、GPU 工作线程之间的工作负载不平衡以及计算资源利用率不足。要查看可用的内置分析规则的完整列表,请参阅 Debugger 内置探查器规则列表

注意

内置规则通过 Amazon SageMaker 处理容器提供,完全由 SageMaker Debugger 管理,无需支付额外费用。有关账单的更多信息,请参阅 Amazon SageMaker 定价页面。

通过以下主题,学习如何使用 Debugger 内置规则。

使用带有默认参数设置的 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 )

有关可用内置规则的完整列表,请参阅 Debugger 内置探查器规则列表

要使用性能分析规则并检查训练作业的计算性能和进度,请添加 SageMaker Debugg ProfilerReporter 规则。此规则激活 D ebugger ProfilerRule ProfilerRule 系列下的所有内置规则。此外,此规则还会生成汇总分析报告。有关更多信息,请参阅使用 SageMaker 调试器生成的分析报告。您可以使用以下代码将分析报告规则添加到训练估算器中。

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

当您使用 ProfilerReport 规则启动训练作业时,Debugger 每 500 毫秒收集一次资源利用率数据。Debugger 分析资源利用率,以确定您的模型是否存在瓶颈问题。当规则检测到训练异常时,规则评估状态将更改为 IssueFound。您可以设置自动操作,例如使用 Amazon Ev CloudWatch ents 和,通知培训问题和停止训练作业。 AWS Lambda有关更多信息,请参阅 Amazon 上的操作 SageMaker 调试器规则

使用带有自定义参数值的 Debugger 内置规则

如果您要调整内置的规则参数值并自定义张量集合正则表达式,请配置 ProfilerRule.sagemakerRule.sagemaker 类方法的 base_configrule_parameters 参数。使用 Rule.sagemaker 类方法时,您也可以通过 collections_to_save 参数自定义张量集合。有关如何使用 CollectionConfig 类的说明,请参阅使用 CollectionConfig API 配置张量集合

为内置规则使用以下配置模板来自定义参数值。通过根据需要更改规则参数,您可以调整规则触发的敏感度。

有关调试器规则类、方法和参数的更多信息,请参阅 Amaz on Pyth SageMaker on 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 API 的 Debugger 内置规则的低级别 JSON 配置,请参阅使用 Amazon SageMaker API 配置调试器