深圳Yolo 视觉
深圳
立即加入

在Ultralytics 监控已部署的计算机视觉模型

了解如何利用Ultralytics 对生产环境中的计算机视觉模型进行监控。追踪指标、detect 并提升可靠性。

使用 Ultralytics 扩展您的计算机视觉项目

开始使用

对用于分析图像和视频的计算机视觉模型进行测试,并不总是等同于在生产环境中运行它们。在开发阶段,此类模型或算法通常是在条件受控且可预测的、经过精心准备的“干净”数据集上进行测试的。

一旦部署完成,情况就会变得更加动态。模型将面临真实世界的流量,其中请求量可能波动,响应时间可能变化,偶尔还会发生故障。 

在此阶段,重点转向系统是否能够可靠运行,即终端节点在不断变化的条件下能否保持可用、响应迅速且运行稳定。

正因如此,监控至关重要。它能通过请求量、延迟、错误率以及整体系统健康状况等指标,清晰地展现已部署终端在生产环境中的运行状况。

为了简化这一过程,配备合适的工具与模型本身同样重要。近期Ultralytics Ultralytics ——这是我们全新的端到端环境,它整合了完整的计算机视觉工作流,涵盖从数据处理、训练到部署及监控的各个环节。

图1. 具备监控功能的Ultralytics 部署仪表盘(来源

由于监控功能已直接集成到此工作流中,用户无需依赖其他工具,即可track 状态、检查请求行为并确保系统稳定运行。本文将探讨如何利用Ultralytics 监控已部署的模型端点,并确保生产系统平稳运行。让我们开始吧!

人工智能模型监控概述

在人工智能模型的生命周期中,监控是指在模型上线并开始处理实际请求后,观察已部署系统的工作状态。训练和验证主要展示机器学习模型(ML 模型)在预先准备好的数据集上的表现,而监控则侧重于已部署的端点在生产环境中的运行情况。

监控工作的关键环节在于追踪能够反映系统可靠性和响应能力的系统级指标。延迟和正常运行时间等指标有助于反映系统处理传入请求的效能。延迟衡量的是处理请求并返回响应所需的时间,而正常运行时间则体现了端点保持可用状态的稳定性。

另一个关键方面是可观测性,它能让我们清楚地了解请求是如何被处理的。每当将输入(例如图像或视频帧)发送到已部署的模型时,它都会被作为推理请求进行处理。 

日志会记录这些请求,并包含时间戳、响应时间和状态码等详细信息。这些日志有助于追踪请求、排查问题,并在发生故障时进行调查。它们对于识别重复错误、响应缓慢或系统异常行为等模式尤为有用。

通过结合指标和日志,监控功能有助于用户了解其系统在生产环境中的运行状况,并在问题出现时迅速做出响应。

模型性能指标与系统指标的对比

在深入探讨生产环境监控之前,让我们先来讨论一下模型性能指标与系统指标之间的区别。

通常,模型监控与评估指标(也称为模型指标)相关,例如准确率、精确率、召回率和平均精度mAP )。这些指标用于描述模型的行为并评估模型预测的质量,通常与生产数据或输入数据相关。它们对于识别新数据中的边界情况或异常值尤为有用。

然而,这与对生产环境中已部署系统的监控有所不同。在此情境下,监控的重点在于系统运行状况,而非直接评估模型预测结果。

与模型指标不同,部署监控依赖于系统级指标,例如请求量、延迟、错误率和正常运行时间。这些指标能够反映端点如何处理输入数据、响应的一致性,以及它们在生产环境中的运行状况。

模型监控在计算机视觉项目中的作用

接下来,让我们通过一个实际案例,来探讨在计算机视觉部署中为何需要监控系统。

设想一种基于姿势估计 视觉解决方案——这是一种用于识别和分析人体动作的计算机视觉任务——用于监控建筑工人是否遵守安全规范。在模型初次部署时,此类系统在视野清晰、场景标准且受控的环境下可能表现良好。

然而,真实的施工现场会带来额外的复杂性。请求量在一天中可能波动,网络状况可能不稳定,且多台摄像头或终端设备可能会同时发送数据。如果系统未得到妥善监控,这些因素可能会导致响应变慢或偶尔出现故障。

图2.姿势估计 被用于监控建筑工地的工人(来源

在这样的生产环境中,了解系统的运行可靠性至关重要。监控功能能够帮助我们了解终端节点是否可用、它们响应传入请求的速度如何,以及它们在一段时间内处理流量的稳定性如何。

例如,延迟的增加可能表明系统负载过高或资源受限,而错误率的上升则可能表明请求处理或系统稳定性存在问题。日志通过展示单个请求的处理过程以及故障发生的位置,提供了更多背景信息。

通过追踪这些信号,人工智能爱好者和数据科学家能够及早发现问题,更有效地进行故障排除,并确保系统在现实环境发生变化时仍能稳定运行。

使用Ultralytics 监控已部署的视觉模型

在许多深度学习工作流中,监控工作通常需要借助独立的日志记录、指标和系统健康状况工具来处理。这种分散的架构使得难以清晰掌握已部署端点在生产环境中的运行状况,同时也增加了部署管理的复杂性。

Ultralytics 通过将监控功能直接整合到一个统一的环境中,从而简化了这一流程。该环境涵盖了计算机视觉工作流的各个环节,从数据采集和标注,到训练、部署和监控。

借助这一集成式配置,用户无需设置外部日志系统或额外的仪表盘,即可track 已部署端点处理实际流量track 。所有信息均集中在一个界面中,从而更便于观察系统行为,并确保部署长期稳定可靠。

用户可直接通过“部署”选项卡访问监控功能。通过单一仪表板,用户可以track 指标、分析请求层面的行为,并直观展示趋势。这些内置的可视化功能让用户无需在不同工具之间切换,即可更轻松地了解解决方案的运行状况。

通过将监控、部署和模型管理整合到更广泛的工作流中,该平台降低了复杂性。这使得用户能够更顺畅地专注于管理部署、优化系统性能以及维护可靠性。

Ultralytics 平台的内置监控功能

在实际部署中,监控的关键在于能够清晰地掌握系统在随时间变化的条件下如何运行。这不仅限于追踪几个指标,还包括理解已部署端点在不同环境中的行为表现,以及有效管理多个部署。

受计算机视觉社区对常见计算机视觉挑战的反馈Ultralytics 集成了多项功能,使监控工作更加实用且具备可扩展性。 

以下是这些主要功能的概述:

  • 全球部署可视化:"部署"页面包含一张交互式世界地图,该地图通过可视化标记显示各部署区域中处于活动状态和正在处理中的端点,使用户能够监控地理分布和区域活动情况。
  • 灵活的仪表盘视图:部署仪表盘提供多种视图模式,包括卡片视图、紧凑网格视图以及支持按名称、区域、状态和请求等列进行排序的表格视图,从而支持结构化的监控和比较。
  • 监控多个端点:仪表板通过概览卡片和部署列表,汇总所有部署的监控数据。
  • 数据保留策略:监控数据将保留一段规定的时间,其中指标数据保留30天,日志数据保留7天,以支持近期性能分析和调试工作流程。
  • 外部监控支持:可通过 Datadog、New Relic 等外部工具或正常运行时间监控服务对部署端点进行监控,也可通过 API 端点进行自定义监控和健康检查。

接下来,我们将详细介绍其中的一些功能,并探讨如何利用它们来监控生产环境中已部署的终端节点。

如何使用Ultralytics track 绩效指标

模型部署完成后,监控工作首先从追踪关键系统指标开始。虽然准确率和召回率等指标在开发阶段很有用,但生产环境中的监控则侧重于响应时间和错误率等系统级指标,这些指标能提供可量化的洞察,帮助了解端点在处理实际流量时的可靠性。

Ultralytics 提供了一个集中式仪表板,可清晰展示终端活动和系统行为。其中,部署仪表板包含四项关键指标,用于展示终端的使用情况及其对传入请求的响应方式。

下面让我们来详细看看这些指标:

  • 请求总数:24小时内所有端点收到的请求总数。这有助于识别使用模式和整体需求。
  • 当前部署数:当前正在运行并处理请求的终端节点数量。
  • P95延迟:指95%的请求在此响应时间内完成。该指标通过纳入较慢的响应,更能真实反映性能表现。
  • 错误率:指失败请求占总请求数的百分比。该指标有助于识别问题,并可用于detect 。

简而言之,这些指标清晰地展示了已部署终端节点在生产环境中的运行状况。通过分析使用模式,团队和个人可以了解流量分布情况,识别峰值负载时段,并确保系统在用户量增长时仍能保持响应迅速且运行可靠。

通过日志了解模型部署行为

虽然指标能提供系统性能的高层级视图,但日志则能更详细地展示已部署的端点如何处理单个请求。日志会记录发送到端点的每个请求及其对应的响应。

它们有助于跟踪问题、排查故障以及了解请求的处理流程。在Ultralytics ,您可以选择任何部署来查看其详细信息,包括日志。

图3.Ultralytics 中的日志示例(来源

平台中的日志条目以结构化的格式显示,便于用户了解每次请求期间发生的情况。每个条目都包含一个严重性级别,用于表明事件的重要性,以及一个时间戳,显示事件发生的时间。 

日志中还包含描述事件的信息以及与 HTTP 相关的详细信息,例如状态码和延迟。这些信息有助于追踪请求、支持故障排除,并更有效地排查问题。此外,日志按严重程度分组,因此用户可以优先处理需要关注的部署。 

在Ultralytics 分析终端设备状态与可靠性

监控还包括了解已部署终端节点的整体运行状况,包括它们是否运行正常、响应及时,以及能否始终如一地无误处理请求。Ultralytics 清晰呈现每个部署的运行状况,使您能够轻松验证终端节点是否按预期运行。

该平台为每个部署提供了可视化健康指标,这些指标显示在各自的部署卡片上。 

例如,绿色指示灯表示端点运行正常且响应良好,而红色指示灯则表示存在问题或系统已停机。旋转图标表示系统正在积极检查部署状态。

通过持续监控终端设备的运行状况,可以及早detect 、保持性能稳定,并确保生产环境中运行的应用程序提供稳定的用户体验。

监控数据与绩效提升之间的关联

模型监控不仅仅是追踪指标。它建立了一个反馈循环,支持随时间推移的持续改进。随着端点处理实际流量,指标和日志中会逐渐显现出某些模式,从而揭示诸如延迟增加、错误率升高或系统行为不一致等问题。

监控能突出显示需要关注的领域。例如,持续较高的延迟可能表明需要优化资源分配或进行扩展,而不断上升的错误率则可能指向请求处理或系统稳定性方面的问题。

一旦查明这些问题,就可以采取相应措施来提高可靠性。这可能包括调整基础设施、扩展资源,或修复请求处理过程中的问题。实施这些变更后,可以继续对系统进行监控,以确认性能是否得到提升。

通过将监控与持续改进相结合,用户能够随着使用量的增长和环境的变化,保持系统的稳健运行。

探索一个实际案例:监控航空行李处理流程

为了更好地了解监控在实际应用场景中的影响,让我们来探讨一下它如何应用于航空地面作业的自动化。

以一套用于监控飞机地面作业期间行李装卸情况的视觉系统为例。在此场景中,可以使用Ultralytics 这类物体检测模型,来detect 行李detect 从传送带或装卸设备上掉落。 

在测试和初期部署阶段,该实时系统可能运行良好,能够准确识别行李并迅速作出响应。

让我们一起共建AI的未来!

开启您的机器学习未来之旅