使用 AWS CloudTrail 监控实验训练指标 - Amazon SageMaker

使用 AWS CloudTrail 监控实验训练指标

Amazon SageMaker Experiments 训练指标可与 AWS CloudTrail 集成,后者是一项服务,可提供用户、角色或 AWS 服务所采取操作的记录。CloudTrail 将 BatchPutMetrics 的所有 API 调用作为事件捕获。当您使用 SageMaker SDK for Python 创建实验运行时,SageMaker 会自动调用 BatchPutMetrics。AWS CloudTrail 会捕获与资源类型 AWS::SageMaker::ExperimentTrialComponent 调用相关的数据。

注意

在 Studio“实验”用户界面中,试验被称为运行组,试验组件被称为运行

您在创建实验运行时,还可以配置将 CloudTrail 事件持续传送到 Amazon S3 存储桶。可使用 CloudTrail 监控提取的实验运行的所有训练指标,包括指标名称、所记录指标的训练步骤、时间戳和指标值等信息。CloudTrail 事件还包括实验运行 ARN、创建运行的账户 ID 以及资源类型(应为 AWS::SageMaker::ExperimentTrialComponent)。

要以 CloudTrail 事件的形式监控 BatchPutMetrics API 调用,必须先在 CloudTrail 中设置数据面板 API 活动的日志记录。有关更多信息,请参阅记录数据事件用于跟踪。要精确控制希望选择性记录并支付费用的 API 调用,可以按资源类型筛选 CloudTrail 事件。可指定 AWS::SageMaker::ExperimentTrialComponent 为资源类型,以监控对 BatchPutMetrics API 的调用。有关更多信息,请参阅 AWS CloudTrail API 参考中的 DataResource。要了解有关 CloudTrail 的更多信息,请参阅 AWS CloudTrail 用户指南

有关 Amazon SageMaker 如何与 AWS CloudTrail 结合使用的深入阐述,请参阅使用 AWS CloudTrail 记录 Amazon SageMaker API 调用

以下是实验运行中训练指标的 CloudTrail 事件示例:

{ ... "eventTime": "2022-12-14T21:53:41Z", "eventSource": "metrics-sagemaker.amazonaws.com", "eventName": "BatchPutMetrics", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "aws-cli/2.7.25 Python/3.9.11 Linux/5.4.214-134.408.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/sm-metrics.batch-put-metrics", "requestParameters": { "trialComponentName": "trial-component-name", "metricData": [ { "metricName": "foo", "timestamp": 1670366870000, "step": 101, "value": 0.9 } ] }, ... "resources": [ { "accountId": "abcdef01234567890", "type": "AWS::SageMaker::ExperimentTrialComponent", "ARN": "arn:aws:sagemaker:us-east-1:1234567890abcdef0:experiment-trial-component/trial-component-name" } ], ... }