推理管道日志和指标 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

推理管道日志和指标

要维护 Amazon SageMaker 资源的可靠性、可用性和性能,实施监控非常重要。要监控推理管道性能并进行问题排查,请使用 Amazon CloudWatch 日志和错误消息。有关 SageMaker 提供的监控工具的信息,请参阅监控 Amazon SageMaker

使用指标监控多容器模型

要在推理管道中监控多容器模型,请使用 Amazon CloudWatch。 CloudWatch 收集原始数据并将其处理为近乎实时的可读指标。 SageMaker 训练作业和终端节点在 CloudWatch AWS/SageMaker命名空间中写入指标和日志。

以下各表列出以下内容的指标和维度。

  • 终端节点调用

  • 训练作业、批量转换作业和终端节点实例

维度 是用于唯一标识指标的名称/值对。您可以为一个指标分配最多 10 个维度。有关使用 CloudWatch 进行监控的更多信息,请参阅使用 Amazon SageMaker 监控 Amazon CloudWatch

终端节点调用指标

AWS/SageMaker 命名空间包括来自对 的调用的以下请求指标InvokeEndpoint

指标每 1 分钟报告一次。

指标 描述
Invocation4XXErrors

模型为其返回 InvokeEndpoint HTTP 响应代码的 4xx 请求的数量。对于每个 4xx 响应,SageMaker 都会发送 1

单位:无

有效统计数据:AverageSum

Invocation5XXErrors

模型为其返回 InvokeEndpoint HTTP 响应代码的 5xx 请求的数量。对于每个 5xx 响应,SageMaker 都会发送 1

单位:无

有效统计数据:AverageSum

Invocations

发送到模型终端节点的 number of InvokeEndpoint 请求。

要获取发送到模型终端节点的请求总数,请使用 Sum 统计数据。

单位:无

有效统计数据:SumSample Count

InvocationsPerInstance

发送到模型的终端节点调用的数量,由每个 中的 InstanceCount ProductionVariant进行标准化。 SageMaker 发送 1/numberOfInstances 作为每个请求的值,其中 numberOfInstances 是请求时终端节点上的 ProductionVariant 的活动实例数。

单位:无

有效统计数据:Sum

ModelLatency 模型进行响应所需的时间。这包括发送请求、从模型容器中提取响应以及完成容器中的推理所花费的时间。ModelLatency 是推理管道中的所有容器所花的总时间。

单位:微秒

有效统计数据:AverageSumMinMax、样本数

OverheadLatency

为 响应客户端请求SageMaker开销所花费的时间增加的时间。OverheadLatency 计算从 SageMaker 接收请求到将响应返回到客户端所用的时间减去 ModelLatency。除其他因素外,开销延迟还可能由于请求和响应负载大小、请求频率以及请求的身份验证或授权而变化。

单位:微秒

有效统计数据:AverageSumMinMaxSample Count

ContainerLatency 从 的角度看SageMaker,推理管道容器做出响应所花费的时间。ContainerLatency 包括发送请求、从模型的容器中提取响应以及在容器中完成推理所用的时间。

单位:微秒

有效统计数据:AverageSumMinMaxSample Count

终端节点调用指标的维度

维度 描述
EndpointName, VariantName, ContainerName

针对指定终端节点ProductionVariant上的 和指定变体筛选终端节点调用指标。

对于推理管道终端节点, 将您账户中每个容器的延迟指标CloudWatch列为 命名空间中的终端节点容器指标和SageMaker终端节点变体指标,如下所示。该 ContainerLatency 指标仅适用于推理管道。


                    推理管道的 CloudWatch 控制面板列出了每个容器的每个终端节点的延迟指标。

对于每个终端节点和每个容器,延迟指标显示容器、终端节点、变体和指标的名称。


                    延迟指标或终端节点。

训练作业、批量转换作业和终端节点实例指标

命名空间 /aws/sagemaker/TrainingJobs/aws/sagemaker/TransformJobs/aws/sagemaker/Endpoints 包括以下用于训练作业和终端节点实例的指标。

指标每 1 分钟报告一次。

指标 描述
CPUUtilization

实例上运行的容器所使用的 CPU 单位的百分比。值范围从 0% 到 100%,并且乘以 CPU 数目。例如,如果有四个 CPU,CPUUtilization 可以介于 0% 到 400% 之间。

对于训练作业,CPUUtilization 是实例上运行的算法容器的 CPU 利用率。

对于批量转换作业,CPUUtilization 是实例上运行的转换容器的 CPU 利用率。

对于多容器模型,CPUUtilization 是实例上运行的所有容器的 CPU 利用率总和。

对于终端节点变体, CPUUtilization 是实例上运行的所有容器的 CPU 利用率总和。

单位:百分比

MemoryUtilizaton

实例上运行的容器所使用的内存的百分比。此值范围从 0% 到 100%。

对于训练作业,MemoryUtilizaton 是实例上运行的算法容器所使用的内存。

对于批量转换作业,MemoryUtilizaton 是实例上运行的转换容器所使用的内存。

对于多容器模型,MemoryUtilizaton 是实例上运行的所有容器的所使用的内存总和。

对于终端节点变体,MemoryUtilizaton 是实例上运行的所有容器所使用的内存总和。

单位:百分比

GPUUtilization

实例上运行的容器所使用的 GPU 单元的百分比。GPUUtilization 范围从 0% 到 100%,并乘以 GPUs的数量。例如,如果有四个 GPU,GPUUtilization 可以介于 0% 到 400% 之间。

对于训练作业,GPUUtilization 是实例上运行的算法容器所使用的 GPU。

对于批量转换作业,GPUUtilization 是实例上运行的转换容器所使用的 GPU。

对于多容器模型,GPUUtilization 是实例上运行的所有容器的所使用的 GPU 总和。

对于终端节点变体,GPUUtilization 是实例上运行的所有容器所使用的 GPU 总和。

单位:百分比

GPUMemoryUtilization

实例上运行的容器所使用的 GPU 内存的百分比。GPUMemoryUtilization 范围从 0% 到 100%,并乘以 CPU 的数目。例如,如果有四个 GPU,GPUMemoryUtilization 可以介于 0% 到 400% 之间。

对于训练作业,GPUMemoryUtilization 是实例上运行的算法容器所使用的 GPU 内存。

对于批量转换作业,GPUMemoryUtilization 是实例上运行的转换容器所使用的 GPU 内存。

对于多容器模型,GPUMemoryUtilization 是实例上运行的所有容器的所用的 GPU 总和。

对于终端节点变体,GPUMemoryUtilization 是实例上运行的所有容器所使用的 GPU 内存总和。

单位:百分比

DiskUtilization

实例上运行的容器所使用的磁盘空间的百分比。DiskUtilization 范围从 0% 到 100%。批量转换作业不支持此指标。

对于训练作业,DiskUtilization 是实例上运行的算法容器所使用的磁盘空间。

对于终端节点变体,DiskUtilization 是实例上运行的所有提供容器所使用的磁盘空间总和。

单位:百分比

训练作业、批量转换作业和终端节点实例指标的维度

维度 描述
Host

对于训练作业,Host 格式为 [training-job-name]/algo-[instance-number-in-cluster]。使用此维度可筛选指定训练作业和实例的实例指标。此维度格式仅存在于 /aws/sagemaker/TrainingJobs 命名空间中。

对于批量转换作业,Host 格式为 [transform-job-name]/[instance-id]。使用此维度可筛选指定批量转换作业和实例的实例指标。此维度格式仅存在于 /aws/sagemaker/TransformJobs 命名空间中。

对于终端节点,Host 格式为 [endpoint-name]/[ production-variant-name ]/[instance-id]。使用此维度可筛选指定终端节点、变体和实例的实例指标。此维度格式仅存在于 /aws/sagemaker/Endpoints 命名空间中。

为帮助您调试训练作业、终端节点和笔记本实例生命周期配置,SageMaker 还会发送算法容器、模型容器或笔记本实例生命周期配置发送到 stdoutstderr 的任何内容也会发送到 Amazon CloudWatch Logs。您可以使用此信息用于调试并分析进度。

使用日志监控推理管道

下表列出了 SageMaker发送到 的日志组和日志流 Amazon CloudWatch

日志流 是共享同一个源的一系列日志事件。每个流向 CloudWatch 的独立日志源构成一个独立的日志流。日志组 是一组具有相同保留期、监控和访问控制设置的日志流。

日志

日志组名称 日志流名称
/aws/sagemaker/TrainingJobs

[training-job-name]/algo-[instance-number-in-cluster]-[epoch_timestamp]

/aws/sagemaker/Endpoints/[EndpointName]

[production-variant-name]/[instance-id]

[production-variant-name]/[instance-id]

[production-variant-name]/[instance-id]/[container-name provided in the SageMaker model] (For Inference Pipelines) 对于推理管道日志,如果您未提供容器名称,则 会按照在模型中提供容器的顺序CloudWatch使用 container-1、container-2 等。

/aws/sagemaker/NotebookInstances

[notebook-instance-name]/[LifecycleConfigHook]

/aws/sagemaker/TransformJobs

[transform-job-name]/[instance-id]-[epoch_timestamp]

[transform-job-name]/[instance-id]-[epoch_timestamp]/data-log

[transform-job-name]/[instance-id]-[epoch_timestamp]/[container-name provided in the SageMaker model] (For Inference Pipelines) 对于推理管道日志,如果您未提供容器名称,则 会按照在模型中提供容器的顺序CloudWatch使用 container-1、container-2 等。

注意

SageMaker 在创建具有生命周期配置的笔记本实例时, 将创建 /aws/sagemaker/NotebookInstances 日志组。有关更多信息,请参阅使用生命周期配置脚本自定义笔记本实例

有关 SageMaker 日志记录的更多信息,请参阅 使用 Amazon SageMaker 记录事件 Amazon CloudWatch