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