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

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

推理管道日志和指标

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

发送到模型的端点调用次数,按每次调用进行归一化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%,并且乘以 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 还会将算法容器、模型容器或笔记本实例生命周期配置发送到或发送到 Amazon Logs 的任何内容发送stderrstdout 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