了解可观测性如何增强人工智能/人工智能系统,如Ultralytics YOLO 。在实际应用中获得洞察力、优化性能并确保可靠性。
可观察性为复杂系统的行为和性能提供了重要的洞察力,这在动态的人工智能(AI)和机器学习(ML)领域尤为重要。对于使用复杂模型(如 Ultralytics YOLO等复杂模型的用户来说,通过外部输出了解已部署应用程序的内部状态,是在实际应用中保持可靠性、优化性能和确保可信度的关键。它有助于弥合模型开发与运营成功之间的差距。
可观察性是指通过检查系统的输出(如日志、指标和跟踪)来测量和了解系统内部状态的能力。与传统监控不同,传统监控通常侧重于预定义的仪表盘和已知的故障模式(例如,CPU、内存、硬盘等)、 CPU使用率、错误率)不同,可观察性使团队能够主动探索系统行为并诊断新问题--甚至是开发过程中没有预料到的问题。在MLOps(机器学习运营)的背景下,它允许提出更深层次的问题,以了解系统为什么会以某种方式运行,这对于 ML模型开发和部署的迭代性质至关重要。这是为了获得复杂系统(包括深度学习模型)的可见性。
深度学习模型的复杂性和通常的 "黑箱 "性质使得可观测性变得不可或缺。主要原因包括
可观测性和监控虽然相互关联,但在范围和目的上有所不同。监控涉及收集和分析有关预定义指标的数据,以根据已知基准跟踪系统健康状况(例如,跟踪已部署对象检测模型的mAP 分数)。它能回答 "系统是否正常运行?"或 "错误率是否低于 X?"等问题。模型监控是一种特定类型的监控,主要针对生产中的 ML 模型。
而可观察性则利用数据输出(日志、度量、跟踪,通常被称为"可观察性的三大支柱")来进行更深入的探索性分析。它能让你了解系统状态背后的 "原因",尤其是意外状态。将监控看作是查看报告已知问题的仪表板,而可观察性则提供了调查任何已知或未知异常情况的工具(如查询日志或跟踪请求)。它有助于调试复杂的系统。
可观测性主要依靠三类遥测数据:
可观察性实践对于复杂的人工智能/ML 部署至关重要:
实现可观察性通常需要专门的工具和平台。像Prometheus(度量)、Grafana(可视化)、Loki(日志)和Jaeger或Zipkin(跟踪)这样的开源解决方案很受欢迎。OpenTelemetry提供了一个厂商中立的仪器标准。Datadog、New Relic 和Dynatrace等商业平台提供集成解决方案。MLOps 平台,如MLflow、 Weights & Biases和 ClearML等 MLOps 平台通常都具有跟踪实验和监控模型的功能,有助于提高整个系统的可观察性。Ultralytics HUB方便管理训练运行、数据集和部署的模型,并与TensorBoard等工具集成,实现指标的可视化,这是模型训练阶段可观察性的一个关键方面。