可观测性
了解可观测性如何增强 Ultralytics YOLO 等 AI/ML 系统。获取洞察,优化性能,并确保在实际应用中的可靠性。
可观测性是一种设计和构建系统的方法,旨在提供关于其内部状态的高保真数据,使团队能够有效地探索、调试和理解其行为。在人工智能(AI)和机器学习(ML)的背景下,它超越了简单的监控,能够深入了解复杂的模型和数据管道。可观测系统不仅仅是跟踪预定义的性能指标,而是提供丰富、可探索的数据,使您能够在模型部署后提出新的问题并诊断未知问题。
可观测性 vs. 监控
可观测性和 模型监控 虽然经常一起使用,但它们是不同的概念。
- 监控是收集和分析数据以观察已知故障模式的过程。您可以为特定的、预定义的阈值设置警报,例如错误率超过5%或推理延迟超过200毫秒。它会告诉您是否出了问题。
- 可观测性是系统的一种属性,它允许您了解为什么出现问题,即使您以前从未见过该问题。它使用详细的日志、指标和跟踪来允许探索性分析和根本原因识别。一个可观测的系统是一个您可以调试的系统,而无需发布新代码来收集更多信息。这种能力对于管理生产中人工智能系统不可预测的性质至关重要。
可观测性的三大支柱
可观测性通常建立在三种核心类型的遥测数据之上:
- 日志: 这些是不可变的、带有时间戳的事件记录。在 ML 系统中,日志可能会捕获单个预测请求、数据验证错误或系统配置更改。虽然传统的日志记录可以是简单的文本,但结构化日志记录(例如,以 JSON 格式)使日志更容易大规模查询和分析。
- 指标: 这些是随时间测量的数据的数值表示。ML 系统中的关键指标包括模型准确性、预测吞吐量、CPU/GPU 利用率和内存使用情况。诸如 Prometheus 之类的时间序列数据库通常用于存储和查询此数据。
- 追踪: 追踪提供了单个请求或事务在通过系统的所有组件时的详细视图。在计算机视觉流程中,追踪可以跟踪单个图像从摄取和预处理到模型推理和后处理的过程,显示每个步骤所花费的时间。这对于查明分布式系统中的瓶颈和错误非常宝贵。
为什么可观测性对人工智能系统至关重要
深度学习模型可能非常复杂和不透明,因此很难理解它们在现实世界中的行为。可观察性对于以下方面至关重要:
- 调试和故障排除: 当像 Ultralytics YOLO11 这样的模型做出不正确的预测时,可观测性工具可以帮助追踪输入数据和模型激活,以了解原因。
- 检测漂移: 由于数据漂移(即生产数据的分布与训练数据不同)或概念漂移,AI模型可能会随着时间的推移而退化。可观测性通过监控数据分布和模型性能来帮助检测这些变化。
- 确保信任和公平性:在诸如医疗保健领域的人工智能之类的敏感应用中,可观察性通过提供清晰的模型决策审计跟踪来支持可解释 AI (XAI)和人工智能透明度。这对于法规遵从性和建立与利益相关者的信任至关重要。
- 优化性能: 通过跟踪资源使用情况和延迟,团队可以优化模型效率并降低运营成本,这是 MLOps 的一个关键目标。
实际应用
- 自动驾驶车辆: 自动驾驶汽车使用感知模型进行实时目标检测。可观测性工具跟踪通过整个系统的摄像头帧,从传感器到决策。如果车辆在黄昏时未能检测到行人,工程师可以使用跟踪来查看图像预处理步骤中的延迟是否是原因。他们还可以分析不同时间段的检测置信度评分的指标,以识别系统性问题。
- 零售库存管理: 智能零售系统使用摄像头来监控货架库存。可观测性平台跟踪每个货架上检测到的产品数量、API 调用的频率以及预测的延迟。如果系统报告特定产品的库存水平不正确,开发人员可以过滤该产品 SKU 的跟踪,检查记录的图像和预测分数,并确定是否是光线不足或不寻常的包装导致了该问题。这允许快速诊断和使用更好的数据增强进行重新训练。
工具和平台
实施可观测性通常涉及专门的工具和平台。Grafana(可视化)、Loki(日志)和 Jaeger(追踪)等开源解决方案很受欢迎。OpenTelemetry 为检测提供了一个供应商中立的标准。Datadog、New Relic 和 Dynatrace 等商业平台提供集成解决方案。 MLflow、Weights & Biases 和 ClearML 等 MLOps 平台通常包括用于跟踪实验和监控模型的功能。Ultralytics HUB 有助于管理训练运行和已部署的模型,并与 TensorBoard 等工具集成以可视化指标,这是 模型训练 阶段可观测性的一个关键方面。