模型部署
探索模型部署的要点,将机器学习模型转化为用于预测、自动化和 AI 驱动的洞察的真实世界工具。
模型部署是将训练好的机器学习(ML)模型集成到实际生产环境中,使其能够接收输入并提供预测的关键过程。它是机器学习生命周期的最后阶段,将静态模型文件转换为功能性的、产生价值的应用程序。如果没有有效的部署,即使是最准确的模型也只是学术上的练习。其目标是使最终用户、软件应用程序或其他自动化系统能够以可靠且可扩展的方式访问模型的预测能力。
什么是部署流程?
部署模型不仅仅是保存训练好的模型权重。这是一个多步骤的过程,可确保模型在其目标环境中高效且可靠地运行。
- 模型优化: 在部署之前,通常会对模型进行速度和大小优化。诸如模型量化和模型剪枝等技术可以减少实时推理所需的计算资源,而不会显著降低准确率。
- 模型导出: 然后,将优化后的模型转换为适合目标平台的格式。例如,Ultralytics 模型可以导出为各种格式,如 ONNX、TensorRT 和 CoreML,从而使其具有高度的通用性。
- 打包: 模型及其所有依赖项(例如特定的库和框架)捆绑在一起。使用 Docker 等工具进行容器化是一种常见的做法,因为它创建了一个独立的、可移植的环境,确保模型在任何地方都能一致地运行。
- 服务化: 将打包的模型部署到服务器或设备,在该服务器或设备上可以通过API接受请求。此组件(称为模型服务化)负责处理传入数据并返回预测。
- 监控:部署后,持续的模型监控至关重要。这包括跟踪性能指标、延迟和资源使用情况,以确保模型按预期运行并检测诸如数据漂移等问题。
部署环境
模型可以部署在各种环境中,每种环境都有其自身的优势和挑战。
实际应用
- 制造质量控制:经过缺陷检测训练的 Ultralytics YOLO 模型可以部署在工厂车间的边缘设备上。该模型使用 TensorRT 进行了优化以实现高吞吐量,并与俯视传送带的摄像头集成。它执行实时目标检测以识别有缺陷的产品,立即向机械臂发出信号以将其移除。整个过程在本地进行,最大限度地减少了网络延迟并确保了立即采取行动。有关更多信息,请参阅 AI 如何应用于制造业。
- 智能零售分析: 用于人员计数和跟踪的计算机视觉模型部署在云服务器上。零售店中的摄像头将视频流传输到云端,模型在云端处理这些视频流以生成客户流量热图并分析购物模式。该应用程序通过Kubernetes进行管理,以处理来自多个商店的不同负载,从而为库存管理和商店布局优化提供有价值的见解。
模型部署、模型服务和 MLOps
虽然密切相关,但这些术语是不同的。
- 模型部署与模型服务: 部署是获取训练好的模型并使其运行的整个端到端过程。模型服务是部署的一个特定组成部分,指的是负责运行模型并响应预测请求的基础设施,通常通过 API。
- 模型部署与 MLOps: 机器学习运营 (MLOps) 是一套广泛的实践,涵盖整个 AI 生命周期。部署是 MLOps 框架中的一个关键阶段,它还包括数据管理、模型训练、版本控制以及持续监控和再训练。诸如 Ultralytics HUB 之类的平台提供了一个集成环境来管理整个工作流程,从训练自定义模型到无缝部署和监控。