术语表

可观察性

了解可观测性如何增强人工智能/人工智能系统,如Ultralytics YOLO 。在实际应用中获得洞察力、优化性能并确保可靠性。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

可观察性为复杂系统的行为和性能提供了重要的洞察力,这在动态的人工智能(AI)机器学习(ML)领域尤为重要。对于使用复杂模型(如 Ultralytics YOLO等复杂模型的用户来说,通过外部输出了解已部署应用程序的内部状态,是在实际应用中保持可靠性、优化性能和确保可信度的关键。它有助于弥合模型开发与运营成功之间的差距。

什么是可观察性?

可观察性是指通过检查系统的输出(如日志、指标和跟踪)来测量和了解系统内部状态的能力。与传统监控不同,传统监控通常侧重于预定义的仪表盘和已知的故障模式(例如,CPU、内存、硬盘等)、 CPU使用率、错误率)不同,可观察性使团队能够主动探索系统行为并诊断新问题--甚至是开发过程中没有预料到的问题。在MLOps(机器学习运营)的背景下,它允许提出更深层次的问题,以了解系统为什么会以某种方式运行,这对于 ML模型开发部署的迭代性质至关重要。这是为了获得复杂系统(包括深度学习模型)的可见性。

为什么可观察性在人工智能/移动语言中很重要?

深度学习模型的复杂性和通常的 "黑箱 "性质使得可观测性变得不可或缺。主要原因包括

可观察性与监测

可观测性和监控虽然相互关联,但在范围和目的上有所不同。监控涉及收集和分析有关预定义指标的数据,以根据已知基准跟踪系统健康状况(例如,跟踪已部署对象检测模型的mAP 分数)。它能回答 "系统是否正常运行?"或 "错误率是否低于 X?"等问题。模型监控是一种特定类型的监控,主要针对生产中的 ML 模型。

可观察性则利用数据输出(日志、度量、跟踪,通常被称为"可观察性的三大支柱")来进行更深入的探索性分析。它能让你了解系统状态背后的 "原因",尤其是意外状态。将监控看作是查看报告已知问题的仪表板,而可观察性则提供了调查任何已知或未知异常情况的工具(如查询日志或跟踪请求)。它有助于调试复杂的系统

主要组成部分(三大支柱)

可观测性主要依靠三类遥测数据:

  1. 日志:日志:系统内发生的离散事件的时间戳记录。日志提供详细的上下文信息,有助于调试特定事件或了解操作顺序。例如,错误信息、应用程序事件或请求详情。
  2. 度量:在时间间隔内测量的系统性能或行为的数字表示。度量指标可用于跟踪趋势、设置警报和了解整体系统健康状况(如请求延迟、错误率、资源利用率),具有汇总性和高效性。
  3. 跟踪:显示请求或操作在分布式系统各组件中传播过程的记录。跟踪有助于可视化流程、识别性能瓶颈并了解服务之间的依赖关系,这对微服务架构或复杂的ML 管道至关重要。

实际应用

可观察性实践对于复杂的人工智能/ML 部署至关重要:

  • 自动驾驶系统:人工智能汽车解决方案中,可观察性至关重要。来自传感器(如激光雷达、摄像头)的日志、感知模型推理速度的指标,以及跟踪从感知到控制的决策过程的轨迹,都需要不断地进行分析。这有助于Waymo等公司的工程师诊断罕见故障(如在特定天气条件下错误识别物体),确保系统的安全性和可靠性。
  • 医学图像分析:在为医学图像分析部署人工智能时,可观察性有助于确保诊断质量。指标可追踪模型的置信度和与放射科医生的一致率。日志记录边缘病例或标记审查的图像。轨迹可跟踪图像从摄取到预处理、推理和报告的整个过程,帮助识别错误或延迟的来源,并保持符合医疗保健法规(放射学人工智能研究)。

工具和平台

实现可观察性通常需要专门的工具和平台。像Prometheus(度量)、Grafana(可视化)、Loki(日志)和JaegerZipkin(跟踪)这样的开源解决方案很受欢迎。OpenTelemetry提供了一个厂商中立的仪器标准。DatadogNew RelicDynatrace等商业平台提供集成解决方案。MLOps 平台,如MLflowWeights & BiasesClearML等 MLOps 平台通常都具有跟踪实验和监控模型的功能,有助于提高整个系统的可观察性。Ultralytics HUB方便管理训练运行、数据集和部署的模型,并与TensorBoard等工具集成,实现指标的可视化,这是模型训练阶段可观察性的一个关键方面。

阅读全部