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

模型部署

了解如何将机器学习模型部署到云或边缘环境。探索Ultralytics Platform如何简化YOLO26的导出和生产。

模型部署是关键阶段,训练好的机器学习模型被集成到生产环境中,以根据新数据做出实际决策或预测。它代表着从研究或实验环境(通常在独立的笔记本中进行)到模型与真实世界用户和系统交互的实时应用的转变。此过程将一个静态的权重和架构文件转换为一个活跃的 AI 智能体,能够创造价值,例如识别视频流中的物体或在网站上推荐产品。

有效部署需要解决与模型训练不同的挑战,包括延迟、可扩展性和硬件兼容性。组织通常利用Ultralytics Platform来简化这一生命周期,确保在云端训练的模型能够无缝部署到各种环境,从强大的服务器到资源受限的边缘设备。

部署概览

部署策略通常分为两类:云部署和边缘部署。选择哪种策略主要取决于对速度、隐私和连接性的具体要求。

  • 云部署: 模型驻留在集中式服务器上,通常由 AWS SageMakerGoogle Vertex AI 等服务管理。应用程序通过互联网经由 REST API 将数据发送到模型,模型处理请求并返回结果。这种方法提供了几乎无限的计算能力,非常适合大型复杂模型,但它依赖于稳定的互联网连接。
  • 边缘部署:模型在数据生成的设备上本地运行,例如智能手机、无人机或工厂摄像头。这种方法被称为边缘计算,它最大限度地减少了延迟并增强了数据隐私,因为信息不会离开设备。TensorRT等工具常用于优化这些环境中的模型。

模型生产部署准备

在模型部署之前,通常需要进行优化,以确保其在目标硬件上高效运行。此过程涉及模型导出,将训练格式(如PyTorch)转换为适合部署的格式,例如ONNX(开放神经网络交换)或OpenVINO

量化等优化技术可以减小模型大小和内存占用,同时不显著牺牲准确性。为确保在不同计算环境中的一致性,开发人员常使用Docker等容器化工具,将模型及其所有必要的软件依赖项打包在一起。

以下是将YOLO26 model导出为ONNX格式的示例,这是部署准备中的常见步骤:

from ultralytics import YOLO

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

# Export the model to ONNX format for broad compatibility
# This creates a file suitable for various inference engines
path = model.export(format="onnx")

print(f"Model successfully exported to: {path}")

实际应用

模型部署为各行业广泛使用的计算机视觉系统提供支持。

  • 制造质量控制:智能制造中,部署的模型实时监控传送带。运行针对 NVIDIA Jetson设备优化的模型的摄像头系统可以即时 detect 产品缺陷,触发机械臂移除有缺陷的物品。这需要超低延迟,只有 边缘 AI部署才能提供。
  • 零售分析:商店利用已部署的模型分析客流量和顾客行为。通过将目标track模型集成到安防摄像头视频流中,零售商可以生成热门货架区域的热力图。这些洞察有助于优化商店布局并改善库存管理,通常利用基于云的部署来聚合来自多个位置的数据。

部署、推理与训练对比

在机器学习生命周期中,区分模型部署与相关术语很重要:

  • 模型训练是算法从数据集中学习模式的“教育”阶段。
  • 模型部署是集成阶段,将经过训练的模型安装到生产基础设施(服务器、应用程序或设备)中。
  • 推理是操作阶段——部署模型处理实时数据以生成预测的实际行为。例如,推理引擎执行由部署模型定义的计算。

监控与维护

部署并非终点。模型上线后,需要持续进行模型监控,以检测数据漂移等问题,即实际数据开始偏离训练数据的情况。Prometheus或Grafana等工具常被集成用于跟踪性能指标,确保系统长期保持可靠。当性能下降时,模型可能需要重新训练和部署,从而完成MLOps的循环。

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

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