推理管道日志和指标 - 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.

单位:无

有效统计数据: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 控制面板列出了每个集装箱.

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


                    延迟度量 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 利用率总和。

单位:百分比

MemoryUtilizaton

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

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

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

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

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

单位:百分比

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 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 日志记录的更多信息,请参阅使用 Amazon CloudWatch 记录亚马逊 SageMaker 活动.