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

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

推理管道日志和指标

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

使用指标监控多容器模型

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

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

  • 端点调用

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

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

端点调用指标

AWS/SageMaker 命名空间包含通过调用 InvokeEndpoint 获得的以下请求指标。

指标每 1 分钟报告一次。

指标 描述
Invocation4XXErrors

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

单位:无

有效统计数据:AverageSum

Invocation5XXErrors

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

单位:无

有效统计数据:AverageSum

Invocations

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

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

单位:无

有效统计数据:SumSample Count

InvocationsPerInstance

发送到模型的端点调用次数,按每次调用进行归一化InstanceCountProductionVariant SageMaker发送 1/ numberOfInstances 作为每个请求的值,其中numberOfInstances是请求时终端节点的活动实例数。 ProductionVariant

单位:无

有效统计数据:Sum

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

单位:微秒

有效统计数据:AverageSumMinMax、Sample Count

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%,并乘以的数量。CPUs例如,如果有四个CPUs,CPUUtilization则范围从 0% 到 400%。

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

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

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

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

单位:百分比

MemoryUtilization

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

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

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

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

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

单位:百分比

GPUUtilization

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

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

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

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

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

单位:百分比

GPUMemoryUtilization

实例上运行的容器使用的GPU内存百分比。GPUMemoryUtilization范围介于 0% 到 100% 之间,并乘以数字。GPUs例如,如果有四个GPUs,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 还会向 Amazon Logs 发送算法容器、模型容器stdoutstderr笔记本实例生命周期配置发送的任何 CloudWatch 内容。您可以使用此信息用于调试并分析进度。

使用日志监控推理管道

下表列出了日志组和日志流 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日志组。有关更多信息,请参阅 使用LCC脚本自定义 SageMaker 笔记本实例

有关 SageMaker 日志记录的更多信息,请参阅Amazon SageMaker 发送到 Amazon 日志的 CloudWatch 日志组和流