模型监测
了解模型监控对于确保人工智能准确性、检测数据漂移以及在动态真实环境中保持可靠性的重要性。
模型监控是对部署到生产中的机器学习(ML)模型的性能进行跟踪和评估的持续过程。它包括观察与模型准确性、运行健康状况和数据特征相关的关键指标,以确保模型随着时间的推移表现符合预期。这种做法是机器学习运营(MLOps)生命周期的重要组成部分,可确保部署的人工智能(AI)系统在真实环境中保持可靠、有效和可信。如果不进行监控,模型性能就会无声无息地下降,从而导致糟糕的预测和负面的业务结果。
模型监测为何重要?
ML 模型是根据历史数据训练出来的,但现实世界是动态的。数据模式、用户行为或环境的变化会导致模型在部署后性能下降。进行监控的主要原因包括
- 检测性能下降:随着时间的推移,模型的准确性会降低。监控有助于识别精确度、召回率或F1 分数等性能指标的下降。您可以在我们的指南中了解有关YOLO 性能指标的更多信息。
- 识别数据漂移:输入数据的统计属性可能会发生变化,这种现象被称为数据漂移。当模型在生产中看到的数据与训练数据有很大差异时,就会出现这种情况。
- 发现概念漂移:输入特征与目标变量之间的关系会随着时间的推移而改变。例如,客户的偏好可能会发生变化,从而使旧的预测模式变得过时。这就是所谓的概念漂移,通常需要对模型进行重新训练。
- 确保运行健康:监控可跟踪推理延迟、吞吐量和错误率等运行指标,确保模型服务基础设施运行平稳。
- 维护公平与道德:通过跟踪不同人口群体的表现,监控有助于发现和减少人工智能中的偏见,促进人工智能伦理。
监测哪些方面?
有效的模型监测通常需要跟踪几类指标:
- 预测性能:准确率、平均精度(mAP)、AUC 和错误率等指标,通常与验证过程中设定的基准进行比较。
- 数据质量和完整性:跟踪输入数据中的缺失值、数据类型不匹配和范围违规。
- 输入数据漂移:统计量(如群体稳定指数、Kolmogorov-Smirnov 检验),用于比较生产输入特征的分布与训练数据的分布。
- 预测/输出漂移:监测模型预测的分布情况,以发现随时间推移而发生的显著变化。
- 运行指标:系统级指标,如CPU/GPU利用率、内存使用率、请求延迟和吞吐量。Prometheus等平台通常用于此目的。
- 公平性和偏差度量:使用人口均等或均等几率等指标,评估不同敏感属性(如年龄、性别)的模型性能差异。
模型监控与相关概念
重要的是要将模式监控与类似术语区分开来:
- 可观察性:监控侧重于跟踪预定义的指标,以评估已知的故障模式,而可观察性则提供工具(日志、指标、轨迹)来探索和了解未知的系统状态。当监控发现异常时,可观察性可以进行更深入的调查。
- MLOps:MLOps 是一套涵盖整个 ML 生命周期的更广泛的实践。模型监控是 MLOps 框架中的一个重要组成部分,特别关注部署后模型的健康状况。
- 模型评估:评估通常在部署前进行,使用静态验证数据或测试数据来评估模型的质量。监测是在部署后对实时生产数据执行的一个持续过程。在此了解有关模型评估和微调的见解。
实际应用
- 电子商务推荐系统:一个电子商务平台在其推荐系统中使用了一个 ML 模型。模型监控跟踪点击率(CTR)和转换率。如果监控发现点击率突然下降(性能下降)或购买的产品类型发生变化(概念漂移),警报就会触发调查,并可能对模型进行重新训练。Amazon Personalize等服务具有监控推荐效果的功能。
- 自动驾驶汽车感知: 自动驾驶汽车依靠Ultralytics YOLO等计算机视觉模型进行物体检测。模型监控可持续跟踪行人和其他车辆等物体的检测准确度和置信度分数。它还能监控输入图像中的数据漂移(如亮度或天气变化)。如果在大雨等特定条件下性能下降,系统就会提示需要更新在更多样化数据(可能使用数据增强技术)上训练的模型。Waymo等公司在监控感知系统方面投入了大量资金。
工具和实施
实施模型监控需要使用专门的工具和平台。从Evidently AI和NannyML等开源库到AWS SageMaker Model Monitor、Google Vertex AI Model Monitoring 和Azure Machine Learning 等云提供商提供的托管服务,可供选择的范围很广。Arize AI或WhyLabs等专用 MLOps 平台也提供广泛的监控功能。Ultralytics HUB等平台支持模型的部署和管理,并与此类监控解决方案集成,以完成 MLOps 循环。有效的模型维护策略在很大程度上依赖于强大的监控功能。