使用 Amazon CloudWatch 监控 Amazon SageMaker
您可以使用 Amazon CloudWatch 监控 Amazon SageMaker。Amazon CloudWatch 会收集原始数据并将其处理为易读且近乎实时的指标。这些统计数据会保存 15 个月,从而使您能够访问历史信息,并能够更好地了解您的 Web 应用程序或服务的执行情况。但是,Amazon CloudWatch 控制台将搜索限制最近 2 周内更新过的指标。此限制可确保显示您命名空间中最新的作业。要列出指标图形而不使用搜索,请在源视图中指定其确切名称。此外,可以设置用于监测特定阈值的警报,并在达到相应阈值时发送通知或执行操作。有关更多信息,请参阅 Amazon CloudWatch 用户指南。
SageMaker 指标和维度
SageMaker 端点调用指标
AWS/SageMaker
命名空间包含通过调用 InvokeEndpoint 获得的以下请求指标。
指标按 1 分钟一次的频率提供。
下图显示了 SageMaker 端点如何与 Amazon SageMaker Runtime API 交互。从向端点发送请求到收到响应之间的总时间长度取决于以下三个组成部分。
-
网络延迟 – 从向 SageMaker Runtime API 发出请求到收到来自 SageMaker Runtime API 的响应所花费的时间。
-
开销延迟 – SageMaker Runtime API 将请求传输到模型容器并将响应传输回 SageMaker Runtime API 所花费的时间。
-
模型延迟 – 模型容器处理请求并返回响应所花费的时间。
有关总延迟的更多信息,请参阅对 Amazon SageMaker 实时推理端点进行负载测试的最佳实践
端点调用指标
指标 | 描述 |
---|---|
Invocation4XXErrors |
模型在其中返回 4xx HTTP 响应代码的 单位:无 有效统计数据:Average、Sum |
Invocation5XXErrors |
模型在其中返回 5xx HTTP 响应代码的 单位:无 有效统计数据:Average、Sum |
InvocationModelErrors |
未导致 2XX HTTP 响应的模型调用请求的数量。这包括 4XX/5XX 状态代码、低级套接字错误、格式错误的 HTTP 响应和请求超时。对于每个错误响应,发送 1;否则,发送 0。 单位:无 有效统计数据:Average、Sum |
Invocations |
发送到模型端点的 要获取发送到模型端点的请求总数,请使用 Sum 统计数据。 单位:无 有效统计数据:Sum |
InvocationsPerInstance |
发送到模型的调用数量,由每个 ProductionVariant 中的 单位:无 有效统计数据:Sum |
ModelLatency |
模型响应 SageMaker API 请求所用的时间间隔。此时间间隔包括发送请求以及从模型容器提取响应的本地通信时间,以及在容器中完成推理所用的时间。 单位:微秒 有效统计数据:Average、Sum、Min、Max、Sample Count |
OverheadLatency |
由于 SageMaker 开销添加到对客户端的响应用时中的时间间隔。此时间间隔的计算从 SageMaker 收到请求开始,直至它将响应返回给客户端,减去 单位:微秒 有效统计数据:Average、Sum、Min、Max、Sample Count |
ModelSetupTime |
为无服务器端点启动新的计算资源所花费的时间。时间可能会有所不同,具体取决于模型大小、下载模型所需的时间以及容器的启动时间。 单位:微秒 有效统计数据:Average、Min、Max、Sample Count、Percentiles |
端点调用指标的维度
维度 | 描述 |
---|---|
EndpointName, VariantName |
针对指定端点和变体的 |
SageMaker 多模型端点指标
AWS/SageMaker
命名空间包含通过调用 InvokeEndpoint 获得的以下模型加载指标。
指标按 1 分钟一次的频率提供。
有关 CloudWatch 指标的保留期的信息,请参阅《Amazon CloudWatch API 参考》中的 GetMetricStatistics。
多模型端点模型加载指标
指标 | 描述 |
---|---|
ModelLoadingWaitTime |
调用请求等待下载和/或加载目标模型以执行推理的间隔时间。 单位:微秒 有效统计数据:Average、Sum、Min、Max、Sample Count |
ModelUnloadingTime |
通过容器的 单位:微秒 有效统计数据:Average、Sum、Min、Max、Sample Count |
ModelDownloadingTime |
从 Amazon Simple Storage Service (Amazon S3) 下载模型所花费的时间间隔。 单位:微秒 有效统计数据:Average、Sum、Min、Max、Sample Count |
ModelLoadingTime |
通过容器的 单位:微秒 有效统计数据:Average、Sum、Min、Max、Sample Count |
ModelCacheHit |
发送到已加载模型的多模型端点的 “Average”统计数据显示已加载模型的请求的比率。 单位:无 有效统计数据:Average、Sum、Sample Count |
多模型端点模型加载指标的维度
维度 | 描述 |
---|---|
EndpointName, VariantName |
针对指定端点和变体的 |
/aws/sagemaker/Endpoints
命名空间包含通过调用 InvokeEndpoint 获得的以下实例指标。
指标按 1 分钟一次的频率提供。
有关 CloudWatch 指标的保留期的信息,请参阅《Amazon CloudWatch API 参考》中的 GetMetricStatistics。
多模型端点模型实例指标
指标 | 描述 |
---|---|
LoadedModelCount |
多模型端点的容器中加载的模型数。此指标是按实例发射的。 周期为 1 分钟的“Average”统计数据指示每个实例加载的平均模型数。 “Sum”统计数据指示在端点中的所有实例上加载的模型总数。 此指标跟踪的模型不一定是唯一的,因为可能在端点的多个容器中加载模型。 单位:无 有效统计数据:Average、Sum、Min、Max、Sample Count |
多模型端点模型加载指标的维度
维度 | 描述 |
---|---|
EndpointName, VariantName |
针对指定端点和变体的 |
SageMaker 作业和端点指标
/aws/sagemaker/ProcessingJobs
、/aws/sagemaker/TrainingJobs
、/aws/sagemaker/TransformJobs
和 /aws/sagemaker/Endpoints
命名空间包括以下用于训练作业和端点实例的指标。
指标按 1 分钟一次的频率提供。
注意
Amazon CloudWatch 支持高分辨率的自定义指标,其最佳分辨率为 1 秒。但是,分辨率越高,CloudWatch 指标的生命周期就越短。对于频率为 1 秒的分辨率,CloudWatch 指标可用期为 3 小时。有关 CloudWatch 指标的分辨率和生命周期的更多信息,请参阅 Amazon CloudWatch API 参考中的 GetMetricStatistics。
提示
如果您想以更精细的分辨率来描述您的训练作业,精度低至 100 毫秒(0.1 秒),并将训练指标无限期存储在 Amazon S3 中以便随时进行自定义分析,请考虑使用 Amazon SageMaker Debugger。SageMaker Debugger 内置了一些规则,可自动检测常见的训练问题;它可以检测硬件资源利用率问题(例如 CPU、GPU 和 I/O 瓶颈)以及非收敛模型问题(例如过度拟合、梯度消失和张量爆炸等)。SageMaker Debugger 还通过 Studio 及其性能分析报告提供可视化效果。要探索 Debugger 可视化效果,请参阅 SageMaker Debugger 见解控制面板演练、Debugger 分析报告演练以及使用 SMDebug 客户端库分析数据。
处理作业、训练作业、批量转换作业和端点实例指标
指标 | 描述 |
---|---|
CPUUtilization |
每个单独的 CPU 核心利用率的总和。每个核心的 CPU 利用率范围均为 0 – 100。例如,如果有四个 CPU,CPUUtilization 范围可以为 0% 到 400%。对于处理作业,该值是实例上的处理容器的 CPU 利用率。对于训练作业,该值是实例上的算法容器的 CPU 利用率。 对于批量转换作业,该值是实例上的转换容器的 CPU 利用率。 对于端点变体,该值是实例上的主容器和辅助容器的 CPU 利用率的总和。 注意对于多实例作业,每个实例都会报告 CPU 利用率指标。但是,CloudWatch 中的默认视图显示跨所有实例的平均 CPU 利用率。 单位:百分比 |
MemoryUtilization |
实例上的容器所使用的内存的百分比。此值范围为 0%–100%。 对于处理作业,该值是实例上的处理容器的内存利用率。对于训练作业,该值是实例上的算法容器的内存利用率。 对于批量转换作业,该值是实例上的转换容器的内存利用率。 对于端点变体,该值是实例上的主容器和辅助容器的内存利用率的总和。 单位:百分比 注意对于多实例作业,每个实例都会报告内存利用率指标。但是,CloudWatch 中的默认视图显示跨所有实例的平均内存利用率。 |
GPUUtilization |
实例上的容器所使用的 GPU 单位的百分比。该值可以介于 0 到 100 之间,并且乘以 GPU 数目。例如,如果有四个 GPU, 对于训练作业,该值是实例上的算法容器的 GPU 利用率。 对于批量转换作业,该值是实例上的转换容器的 GPU 利用率。 对于端点变体,该值是实例上的主容器和辅助容器的 GPU 利用率的总和。 注意对于多实例作业,每个实例都会报告 GPU 利用率指标。但是,CloudWatch 中的默认视图显示跨所有实例的平均 GPU 利用率。 单位:百分比 |
GPUMemoryUtilization |
实例上的容器所使用的 GPU 内存的百分比。该值可以介于 0 到 100 之间,并且乘以 GPU 数目。例如,如果有四个 GPU, 对于训练作业,该值是实例上的算法容器的 GPU 内存利用率。 对于批量转换作业,该值是实例上的转换容器的 GPU 内存利用率。 对于端点变体,该值是实例上的主容器和辅助容器的 GPU 内存利用率的总和。 注意对于多实例作业,每个实例都会报告 GPU 内存利用率指标。但是,CloudWatch 中的默认视图显示跨所有实例的平均 GPU 内存利用率。 单位:百分比 |
DiskUtilization |
实例上的容器所使用的磁盘空间的百分比。此值范围为 0%–100%。批量转换作业不支持此指标。 对于处理作业,该值是实例上的处理容器的磁盘空间利用率。对于训练作业,该值是实例上的算法容器的磁盘空间利用率。 对于端点变体,该值是实例上的主容器和辅助容器的磁盘空间利用率的总和。 单位:百分比 注意对于多实例作业,每个实例都会报告磁盘利用率指标。但是,CloudWatch 中的默认视图显示跨所有实例的平均磁盘利用率。 |
处理作业、训练作业和批量转换作业实例指标的维度
维度 | 描述 |
---|---|
Host |
对于处理作业,该维度的值具有格式 对于训练作业,该维度的值具有格式 对于批量转换作业,该维度的值的格式为 |
SageMaker Inference Recommender 作业指标
/aws/sagemaker/InferenceRecommendationsJobs
命名空间包括推理推荐系统作业的以下指标。
Inference Recommender 指标
指标 | 描述 |
---|---|
ClientInvocations |
Inference Recommender 观察到的发送到模型端点的 单位:无 有效统计数据:Sum |
ClientInvocationErrors |
Inference Recommender 观察到的失败的 单位:无 有效统计数据:Sum |
ClientLatency |
Inference Recommender 观察到的从发送 单位:毫秒 有效统计数据:Average、Sum、Min、Max、Sample Count、Percentiles |
NumberOfUsers |
向模型端点发送 单位:无 有效统计数据:Max、Min、Average |
Inference Recommender 作业指标的维度
维度 | 描述 |
---|---|
JobName |
筛选指定 Inference Recommender 作业的 Inference Recommender 作业指标。 |
EndpointName |
筛选指定端点的 Inference Recommender 作业指标。 |
SageMaker Ground Truth 指标
Ground Truth 指标
指标 | 描述 |
---|---|
ActiveWorkers |
专有工作团队中的一名活跃工作人员已提交、发布或拒绝了任务。要获取活跃工作人员的总数,请使用 Sum 统计数据。Ground Truth 会尝试将每个单独的 单位:无 有效统计数据:Sum、Sample Count |
DatasetObjectsAutoAnnotated |
在标注作业中自动注释的数据集对象数。此指标仅在启用自动标记时发出。要查看标注作业进度,请使用 Max 指标。 单位:无 有效统计数据:Max |
DatasetObjectsHumanAnnotated |
在标注作业中人工注释的数据集对象数。要查看标注作业进度,请使用 Max 指标。 单位:无 有效统计数据:Max |
DatasetObjectsLabelingFailed |
在标注作业中未能标记的数据集对象数。要查看标注作业进度,请使用 Max 指标。 单位:无 有效统计数据:Max |
JobsFailed |
单个标注作业失败。要获取失败的标注作业总数,请使用 Sum 统计数据。 单位:无 有效统计数据:Sum、Sample Count |
JobsSucceeded |
单个标注作业成功。要获取成功的标注作业总数,请使用 Sum 统计数据。 单位:无 有效统计数据:Sum、Sample Count |
JobsStopped |
单个标注作业已停止。要获取停止的标注作业总数,请使用 Sum 统计数据。 单位:无 有效统计数据:Sum、Sample Count |
TasksAccepted |
工作人员接受了单个任务。要获取工作人员接受的任务总数,请使用 Sum 统计数据。Ground Truth 会尝试将每个单独的 单位:无 有效统计数据:Sum、Sample Count |
TasksDeclined |
工作人员拒绝了单个任务。要获取工作人员拒绝的任务总数,请使用 Sum 统计数据。Ground Truth 会尝试将每个单独的 单位:无 有效统计数据:Sum、Sample Count |
TasksReturned |
返回了一个任务。要获取返回的任务总数,请使用 Sum 统计信息。Ground Truth 会尝试将每个单独的 单位:无 有效统计数据:Sum、Sample Count |
TasksSubmitted |
专有工作人员提交/完成了一项任务。要获取工作人员提交的任务总数,请使用 Sum 统计数据。Ground Truth 会尝试将每个单独的 单位:无 有效统计数据:Sum、Sample Count |
TimeSpent |
专有工作人员完成任务所用的时间。此指标不包括工作人员暂停或休息的时间。Ground Truth 会尝试将每个 单位:秒 有效统计数据:Sum、Sample Count |
TotalDatasetObjectsLabeled |
在标注作业中成功标记的数据集对象数。要查看标注作业进度,请使用 Max 指标。 单位:无 有效统计数据:Max |
数据集对象指标的维度
维度 | 描述 |
---|---|
LabelingJobName |
筛选标签作业的数据集对象计数指标。 |
Amazon SageMaker Feature Store 指标
Feature Store 使用指标
指标 | 描述 |
---|---|
ConsumedReadRequestsUnits |
在指定时间段内使用的读取单元数。您可以检索特征存放区运行时系统操作及其相应特征组使用的读取单元。 单位:无 有效统计数据:全部 |
ConsumedWriteRequestsUnits |
在指定时间段内使用的写入单元数。您可以检索特征存放区运行时系统操作及其相应特征组使用的写入单元。 单位:无 有效统计数据:全部 |
Feature Store 使用指标的维度
维度 | 描述 |
---|---|
FeatureGroupName , OperationName |
筛选特征组和您指定的操作的特征存放区运行时系统使用指标。 |
Feature Store 操作指标
指标 | 描述 |
---|---|
Invocations |
在指定时间段内对特征存放区运行时系统操作发出的请求数。 单位:无 有效统计数据:Sum |
Operation4XXErrors |
向 Feature Store 运行时系统操作发出的请求数,其中操作返回了 4xx HTTP 响应代码。对于每个 4xx 响应,发送 1;否则,发送 0。 单位:无 有效统计数据:Average、Sum |
Operation5XXErrors |
向特征存放区运行时系统操作发出的请求数,其中操作返回了 5xx HTTP 响应代码。对于每个 5xx 响应,发送 1;否则,发送 0。 单位:无 有效统计数据:Average、Sum |
ThrottledRequests |
向特征存放区运行时系统操作发出的请求数,其中请求被节流。对于每个被节流的请求,发送 1;否则,发送 0。 单位:无 有效统计数据:Average、Sum |
Latency |
处理向 Feature Store 运行时系统操作提出的请求的时间间隔。此时间间隔的计算从 SageMaker 收到请求开始,直至它将响应返回给客户端。 单位:微秒 有效统计数据:Average、Sum、Min、Max、Sample Count、Percentiles |
Feature Store 操作指标的维度
维度 | 描述 |
---|---|
|
筛选特征组和您指定的操作的特征存放区运行时系统操作指标。您可以将这些维度用于非批处理操作,例如 GetRecord、PutRecord 和 DeleteRecord。 |
OperationName |
筛选您指定的操作的特征存放区运行时系统操作指标。您可以将此维度用于批处理操作,例如 BatchGetRecord。 |
SageMaker Pipelines 指标
AWS/Sagemaker/ModelBuildingPipeline
命名空间包括管道执行的以下指标。
有两种类型的管道执行指标可用:
-
所有管道的执行指标 - 账户级管道执行指标(用于当前账户中的所有管道)
-
按管道划分的执行指标 - 每个管道的管道执行指标
指标按 1 分钟一次的频率提供。
管道执行指标
指标 | 描述 |
---|---|
ExecutionStarted |
启动的管道执行次数。 单位:计数 有效统计数据:Average、Sum |
ExecutionFailed |
失败的管道执行次数。 单位:计数 有效统计数据:Average、Sum |
ExecutionSucceeded |
成功的管道执行次数。 单位:计数 有效统计数据:Average、Sum |
ExecutionStopped |
已停止的管道执行次数。 单位:计数 有效统计数据:Average、Sum |
ExecutionDuration |
管道执行运行的持续时间(以毫秒为单位)。 单位:毫秒 有效统计数据:Average、Sum、Min、Max、Sample Count |
按管道划分的执行指标维度
维度 | 描述 |
---|---|
PipelineName |
筛选指定管道的管道执行指标。 |
管道步骤指标
AWS/Sagemaker/ModelBuildingPipeline
命名空间包括管道步骤的以下指标。
指标按 1 分钟一次的频率提供。
指标 | 描述 |
---|---|
StepStarted |
已启动的步骤数。 单位:计数 有效统计数据:Average、Sum |
StepFailed |
失败的步骤数。 单位:计数 有效统计数据:Average、Sum |
StepSucceeded |
成功的步骤数。 单位:计数 有效统计数据:Average、Sum |
StepStopped |
已停止的步骤数。 单位:计数 有效统计数据:Average、Sum |
StepDuration |
步骤运行的持续时间(以毫秒为单位)。 单位:毫秒 有效统计数据:Average、Sum、Min、Max、Sample Count |
管道步骤指标的维度
维度 | 描述 |
---|---|
PipelineName , StepName |
筛选指定管道和步骤的步骤指标。 |