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

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

推理管道日志和指标

监控对于维护 Amazon SageMaker 资源的可靠性、可用性和性能非常重要。要监控推理管道性能并对其进行故障排除,请使用 Amazon CloudWatch 日志和错误消息。有关 SageMaker 提供的监控工具的信息,请参阅监控使用 Amazon 时预置的Amazon资源 SageMaker

使用指标监控多容器模型

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

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

  • 终端节点调用

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

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

终端节点调用指标

AWS/SageMaker 命名空间包含来自 InvokeEndpoint 调用的一下请求指标。

指标每 1 分钟报告一次。

指标 描述
Invocation4XXErrors

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

单位:无

有效统计数据:AverageSum

Invocation5XXErrors

模型为其返回 5xx HTTP 响应代码的 InvokeEndpoint 请求的数量。对于每个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 利用率总和。

单位:百分比

MemoryUtilization

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

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

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

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

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

单位:百分比

GPUUtilization

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

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

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

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

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

单位:百分比

GPUMemoryUtilization

实例上运行的容器所使用的 GPU 内存的百分比。GPU 的MemoryUtilization 范围介于 0% 到 100% 之间,乘以 GPU 的数量。例如,如果有四个 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 还会将算法容器、模型容器或笔记本实例生命周期配置发送到stdout或发送stderr给 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 日志记录的更多信息,请参阅在亚马逊上记录亚马逊SageMaker活动 CloudWatch