深圳Yolo 视觉
深圳
立即加入
词汇表

模型监控

探索AI中模型监控的重要性。学习如何跟踪数据漂移和性能指标,并利用Ultralytics Platform保持Ultralytics YOLO26的稳健性。

模型监控是指在机器学习 (ML) 模型部署到生产环境后,持续跟踪、分析和评估其性能的实践。传统软件通常以确定性方式运行——对给定输入无限期地期望相同输出——而预测模型则依赖于随时间演变的统计模式。随着现实环境的变化,输入到这些模型的数据可能会发生偏移,导致准确性或可靠性下降。监控通过在数据漂移或概念漂移等问题对业务成果或用户体验产生负面影响之前识别它们,确保人工智能 (AI) 系统持续提供价值。

部署后监督的重要性

机器学习运维 (MLOps) 生命周期中,部署并非终点。基于历史数据训练的模型代表了世界在特定时刻的快照。随着时间的推移,季节变化、经济转变或新的用户行为等外部因素可能会改变底层数据分布。这种现象被称为数据漂移,可能导致“静默故障”,即模型生成预测时没有错误消息,但预测质量低于可接受的标准。

有效的监控能够揭示这些细微的变化。通过使用验证数据建立基线并与实时生产流进行比较,工程团队可以及早发现异常。这种积极主动的方法允许及时进行模型再训练或更新,确保自动驾驶汽车或欺诈检测算法等系统保持安全有效。

模型监控中的关键指标

为了维护健康的机器学习(ML)系统,实践者会跟踪各种指标,这些指标通常分为三类:

  • 服务可靠性指标:这些指标跟踪推理引擎的运行状况。关键指标包括推理延迟(预测所需时间)和系统资源利用率,例如GPU内存使用情况。Prometheus等工具常用于抓取和存储这些系统级指标。
  • 数据质量指标: 这些指标确保输入数据与预期的模式和统计分布相匹配。例如,缺失值突然激增或特征均值发生变化可能表明上游数据管道已损坏。诸如Kolmogorov-Smirnov test等统计测试有助于量化训练和生产分布之间的距离。
  • 性能指标:理想情况下,团队会监控准确率精确率召回率等真实标签指标。然而,在生产环境中,真实标签通常会延迟或不可用。在这种情况下,会使用预测置信度分数或输出分布的稳定性等代理指标来衡量健康状况。

实际应用

在自动化决策会影响运营和安全的各个行业中,模型监控至关重要:

  • 计算机视觉在制造业中的应用:智能制造中,视觉检测模型detect装配线上的缺陷。随着时间的推移,相机镜头可能会积灰,或者工厂照明可能会发生变化,导致模型将无缺陷部件错误classify为有缺陷部件。监测阳性detect率有助于识别这种漂移,从而促使使用Ultralytics Platform进行维护或重新校准。
  • 金融欺诈检测:银行利用机器学习(ML)标记可疑交易。犯罪分子不断调整策略以逃避检测,从而导致概念漂移。通过监控被标记交易的比例并调查人工审核员的反馈,数据科学家可以快速更新模型以识别新的欺诈模式。

监控与可观测性对比

区分监控和可观测性很有帮助,因为它们扮演着互补的角色。模型监控通常是被动的,侧重于“已知未知”,通过仪表板在特定指标(例如准确率低于90%)超出阈值时向团队发出警报。可观测性则更深入地探究“未知未知”,提供细粒度的日志和追踪,使工程师能够调试为什么某个特定预测失败,或者模型对特定人群表现出AI偏见

示例:跟踪预测置信度

监控计算机视觉模型健康状况的一个简单方法是跟踪其预测的平均置信度。置信度的显著下降可能表明模型遇到了它未经训练处理的数据。

以下是一个使用YOLO26从一批图像中提取置信度分数以进行监控的python示例:

import numpy as np
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Run inference on a source (e.g., a video frame or image list)
results = model(["bus.jpg", "zidane.jpg"])

# Extract confidence scores for monitoring
for i, result in enumerate(results):
    # Get the confidence scores for all detected objects
    confidences = result.boxes.conf.cpu().numpy()

    if len(confidences) > 0:
        avg_conf = np.mean(confidences)
        print(f"Image {i}: Average Detection Confidence: {avg_conf:.3f}")
    else:
        print(f"Image {i}: No objects detected.")

定期记录这些统计数据,团队可以使用GrafanaUltralytics Platform内的监控功能来可视化长期趋势,确保模型在动态环境中保持稳健。

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

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