推理管道日志和指标 - Amazon SageMaker

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

推理管道日志和指标

监控对于维护 Amazon SageMaker 资源的可靠性、可用性和性能非常重要。要监控推理管道性能并对其进行故障排除,请使用 Amazon CloudWatch 日志和错误消息。有关提供的监控工具的信息, SageMaker请参见用于监控使用 Amaz AWS 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 日志组和流