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

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

推理管道日志和指标

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

使用指标监控多容器模型

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

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

  • 终端节点调用

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

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

终端节点调用指标

这些区域有: AWS/SageMaker命名空间包括以下:请求来自调用的指标InvokeEndpoint.

指标每 1 分钟报告一次。

指标 说明
Invocation4XXErrors

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

单位:None(无)

有效统计数据:AverageSum

Invocation5XXErrors

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

单位:None(无)

有效统计数据:AverageSum

Invocations

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

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

单位:None(无)

有效统计数据:SumSample Count

InvocationsPerInstance

发送到模型的终端节点调用数,通过规范化InstanceCount在每个ProductionVariant. SageMaker 发送 1/numberOfInstances作为每个请求的值,其中numberOfInstances是用于的活动实例数ProductionVariant请求时的终端节点。

单位:None(无)

有效统计数据:Sum

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

单位:微秒

有效统计数据:AverageSumMinMax,样品计数

OverheadLatency

由于以下操作添加到对客户端的响应用时中的时间: SageMaker 用于开销。OverheadLatency是从那个时候开始测量的 SageMaker 收到请求,直至它返回响应到客户端,减去ModelLatency. 除其他因素外,开销延迟还可能由于请求和响应负载大小、请求频率以及请求的身份验证或授权而变化。

单位:微秒

有效统计数据:AverageSumMinMaxSample Count

ContainerLatency 推理管道容器响应花费的时间。从 SageMaker 中看到.ContainerLatency包括以下操作所花的时间:发送请求,从模型容器中提取响应,以及完成容器中的推理。

单位:微秒

有效统计数据:AverageSumMinMaxSample Count

终端节点调用指标的维度

维度 说明
EndpointName, VariantName, ContainerName

筛选终端节点调用指标的ProductionVariant在指定终端节点处以及指定的变体。

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


                    这些区域有: CloudWatch 推理管道的控制面板列出了每个终端节点的延迟指标。每个容器.

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


                    延迟指标 f或终端节点。

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

命名空间 /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 内存的百分比。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 此外,还会发送算法容器、模型容器或笔记本实例生命周期配置发送到的任何内容也stdout要么stderr到 Amazon CloudWatch 日志。您可以使用此信息用于调试并分析进度。

使用日志监控推理管道

下表列出了 SageMaker 日志组和日志流。发送到亚马逊 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 CloudWatch 记录 Amazon SageMaker 事件.