Link to this section在部署后维护你的计算机视觉模型#
监控和维护计算机视觉模型意味着持续跟踪其对 data drift 的预测以及准确率的下降,在性能退化时使用新数据对其进行再训练,并记录每一次变更以确保工作的可复现性。这是 computer vision project 的最后阶段——在你已经 gathered requirements、annotated data、trained the model 并 deployed 它之后——也是模型在生产环境中运行时能够持续满足你 project's objectives 的关键。
Watch: How to Maintain Computer Vision Models after Deployment | Data Drift Detection
在本指南中,我们将仔细研究如何在部署后维护你的计算机视觉模型。我们将探讨模型监控如何帮助你尽早发现问题,如何保持模型的准确性和时效性,以及为什么文档对于故障排除至关重要。
Link to this section模型监控#
密切关注已部署的计算机视觉模型至关重要。如果没有适当的监控,模型可能会失去准确性。一个常见的问题是数据分布偏移或数据漂移,即模型遇到的数据与训练时的数据发生了变化。当模型必须对它不识别的数据进行预测时,可能会导致误解和性能下降。离群值或异常数据点也会影响模型的准确性。
定期进行模型监控有助于开发者跟踪模型的性能、发现异常并快速解决诸如数据漂移等问题。它还有助于通过指出何时需要更新来管理资源,从而避免昂贵的全面重构并保持模型的相关性。
Link to this section模型监控的最佳实践#
在生产环境中监控计算机视觉模型时,请记住以下一些最佳实践:
- 定期跟踪性能:持续监控模型的性能以检测随时间发生的变化。
- 仔细检查数据质量:检查数据中是否存在缺失值或异常。
- 使用多样化的数据源:监控来自不同来源的数据,以全面了解模型的性能。
- 结合多种监控技术:结合使用漂移检测算法和基于规则的方法来识别广泛的问题。
- 监控输入和输出:密切关注模型处理的数据及其产生的结果,以确保一切功能正常。
- 设置警报:针对异常行为(例如性能下降)实施警报,以便能够采取快速的纠正措施。
Link to this section使用 Ultralytics Platform 进行监控#
Ultralytics Platform 为已部署的 YOLO 端点提供了内置的 model monitoring,因此你可以在不组装独立监控堆栈的情况下在生产环境中观察你的模型。Deploy dashboard 会实时跟踪关键信号:
- 请求指标:每个端点的总请求量、错误率和 P95 延迟,并提供从 1 小时到 30 天范围内的趋势走势图。
- 健康检查:自动端点健康轮询,可标记不健康的部署并报告响应延迟。
- 日志:经过严重性过滤的请求日志(从 DEBUG 到 CRITICAL),用于诊断失败请求和延迟峰值。
- 全局视图:交互式世界地图和概览卡片,可在单一视图中汇总跨区域的每个部署。
由于监控是通过标准端点 URL 和 /health 检查公开的,当你需要更深入的分析时,也可以将这些信号整合到你现有的可观测性设置中。有关设置详情,请参阅 deployment monitoring guide。
Link to this section异常检测与警报系统#
异常是指任何与预期大相径庭的数据点或模式。对于计算机视觉模型而言,异常可能是与模型训练时所使用的图像差异很大的图像。这些意外的图像可能预示着诸如数据分布变化、离群值或可能降低模型性能的行为等问题。建立警报系统以检测这些异常是模型监控的重要组成部分。
通过设定关键指标的标准性能水平和限制,你可以及早发现问题。当性能超出这些限制时,警报会被触发,从而促使快速修复。使用新数据定期更新和重新训练模型,可以确保它们随着数据的变化而保持相关性和准确性。
Link to this section配置阈值和警报#
在设置警报系统时,请牢记这些最佳实践:
- 标准化警报:对所有警报使用一致的工具和格式,例如电子邮件或 Slack 等消息应用。标准化使你能够更轻松地快速理解并响应警报。
- 包含预期行为:警报消息应清楚说明发生了什么错误、预期结果是什么以及评估的时间范围。这有助于你评估警报的紧迫性和背景信息。
- 可配置的警报:使警报易于配置,以适应不断变化的条件。允许自己编辑阈值、暂停、禁用或确认警报。
Link to this section数据漂移检测#
数据漂移检测是一个有助于识别输入数据的统计属性何时随时间发生变化的概念,这可能会降低模型性能。在你决定重新训练或调整模型之前,此技术有助于发现存在的问题。数据漂移处理的是整个数据格局随时间的变化,而异常检测则侧重于识别可能需要立即关注的罕见或意外数据点。
以下是检测数据漂移的几种方法:
- 持续监控:定期监控模型的输入数据和输出,寻找漂移迹象。跟踪关键指标并将它们与历史数据进行比较,以识别重大变化。
- 统计技术:使用诸如 Kolmogorov-Smirnov 检验或人口稳定性指数 (PSI) 等方法来检测数据分布的变化。这些测试通过将新数据的分布与训练数据进行比较,来识别显著差异。
- 特征漂移:监控单个特征的漂移。有时,总体数据分布可能保持稳定,但单个特征可能发生漂移。识别哪些特征正在漂移有助于微调重训练过程。
Link to this section模型维护#
模型维护通过定期更新和再训练模型、处理数据漂移以及适应数据和环境的变化,确保计算机视觉模型能够长期保持准确和相关。它是监控的对应部分:监控实时观察模型的性能以尽早发现问题,而维护则是关于修复这些问题。
Link to this section定期更新与再训练#
模型部署并监控后,你可能会注意到数据模式或性能的变化,这表明模型出现了漂移。定期更新和再训练成为模型维护的重要部分,以确保模型能够处理新的模式和场景。根据数据变化的方式,你可以采用几种技术。
例如,如果数据随时间逐渐变化,增量学习是一个很好的方法。增量学习涉及使用新数据更新模型而无需完全从头开始再训练,从而节省计算资源和时间。但是,如果数据发生了剧烈变化,定期进行完整再训练可能是一个更好的选择,以确保模型不会在新数据上 overfit 同时丢失对旧模式的追踪。
无论采用何种方法,更新后的验证和测试都是必须的。在单独的测试数据集上验证模型以检查性能是否得到改进或下降非常重要。
Link to this section决定何时重新训练你的模型#
重新训练计算机视觉模型的频率取决于数据变化和模型性能。每当你观察到显著的性能下降或检测到数据漂移时,就应重新训练你的模型。定期评估可以通过使用新数据测试模型来帮助确定正确的重新训练计划。监控性能指标和数据模式让你能够决定是否需要更频繁地更新模型以保持准确性。
Link to this section文档记录#
记录计算机视觉项目使其更易于理解、复现和协作。良好的文档涵盖了模型架构、超参数、数据集、评估指标等。它提供了透明度,帮助团队成员和利益相关者了解已经做了什么以及原因。文档还通过提供过去决策和方法的清晰参考,为故障排除、维护和未来增强提供帮助。
Link to this section需要记录的关键要素#
以下是项目文档中应包含的一些关键要素:
- 项目概览:提供项目的高级摘要,包括问题陈述、解决方案方法、预期结果和项目范围。解释计算机视觉在解决该问题中的作用,并概述阶段和交付成果。
- 模型架构:详细说明模型的结构和设计,包括其组件、层和连接。解释所选的超参数以及这些选择背后的基本原理。
- 数据准备:描述数据源、类型、格式、大小和预处理步骤。讨论数据质量、可靠性以及在训练模型之前应用的任何转换。
- 训练过程:记录训练程序,包括所用的数据集、训练参数和损失函数。解释模型是如何训练的以及训练过程中遇到的任何挑战。
- 评估指标:指定用于评估模型性能的指标,例如准确率、精确率、召回率和 F1-score。包括性能结果以及对这些指标的分析。
- Deployment Steps:概述部署模型所采取的步骤,包括使用的工具和平台、部署配置以及任何具体的挑战或考量因素。
- 监控和维护程序:提供部署后监控模型性能的详细计划。包括检测和解决数据及模型漂移的方法,并描述定期更新和重新训练的流程。
Link to this section结论#
监控、维护和记录你的模型是使计算机视觉项目在部署后长期保持成功的关键:持续监控能尽早发现问题,定期再训练能使模型适应新数据和漂移,清晰的文档记录使未来的每次更新都变得更容易。将其视为一个持续的循环,并随着数据和需求的发展重新审视你 stages of your computer vision project。
Link to this section常见问题解答#
Link to this section我该如何监控已部署的计算机视觉模型的性能?#
要监控已部署的计算机视觉模型,请跟踪其生产环境中的请求量、错误率和延迟,同时留意暗示准确率下降的异常情况和数据漂移。Ultralytics Platform 的 Deploy dashboard 通过实时指标、自动健康检查和经过严重性过滤的日志,直接涵盖了生产指标方面的内容。定期监控输入和输出,设置异常行为警报,并使用多样化的数据源来全面了解模型的性能。有关更多详情,请查看我们的 Model Monitoring 部分。
Link to this section部署后维护计算机视觉模型的最佳实践是什么?#
维护计算机视觉模型涉及定期的更新、重新训练和监控,以确保其持续的准确性和相关性。最佳实践包括:
- 持续监控:定期跟踪性能指标和数据质量。
- 数据漂移检测:使用统计技术来识别数据分布的变化。
- 定期更新和重新训练:根据数据变化实施增量学习或定期的完全重新训练。
- 文档记录:维护有关模型架构、训练过程和评估指标的详细文档。欲了解更多见解,请访问我们的 模型维护 部分。
Link to this section为什么数据漂移检测对 AI 模型很重要?#
数据漂移检测非常重要,因为它有助于识别输入数据的统计属性何时随时间发生变化,这可能会导致模型性能下降。诸如持续监控、统计测试(例如 Kolmogorov-Smirnov 测试)和特征漂移分析等技术有助于及早发现问题。解决数据漂移可确保你的模型在不断变化的环境中保持准确和相关。在我们的 数据漂移检测 部分详细了解相关信息。
Link to this section我可以使用哪些工具对计算机视觉模型进行异常检测?#
对于计算机视觉模型中的异常检测,请为关键指标设置标准性能水平,并在数值超出这些限制时触发警报。Ultralytics Platform 通过实时错误率和延迟指标、自动健康检查以及能快速显示异常行为的严重性过滤日志来支持此功能。可配置的警报和标准化消息有助于你快速响应潜在问题。在我们的 Anomaly Detection and Alert Systems 部分探索更多内容。
Link to this section我该如何有效地记录我的计算机视觉项目?#
计算机视觉项目的有效文档应包括: