Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Model Deployment

模型部署是指将已训练模型投入生产,以便对新数据进行预测。内容涵盖云端和边缘端目标、导出、发布和监控。

模型部署是将训练好的机器学习模型投入生产环境的过程。在生产环境中,应用会向模型发送新数据,并根据模型预测采取行动。部署涵盖选择模型的运行位置、将模型转换为目标运行时支持的格式、通过 API 或应用连接输入和输出、安全地发布新版本,以及在真实用户依赖模型后监控其行为。在笔记本中表现出色的模型,在部署之前仍只是一次实验;部署是机器学习运维 (MLOps)中数据科学开始面对延迟、成本、正常运行时间和安全性等软件工程约束的阶段。

模型的部署位置#

  • 云端部署:模型运行在 REST 或 gRPC 端点背后的服务器上,通常由模型服务系统处理请求批处理,并根据需求扩展副本。它适用于大型模型和流量变化较大的场景,但每个请求都需要经过一次网络往返。
  • 边缘部署:模型运行在采集数据的设备上,例如手机、摄像头、机器人或 NVIDIA Jetson 模块。输入不会离开设备,因此隐私更有保障;模型也能在离线状态下继续运行,但受限于内存和功耗,通常需要压缩模型。
  • 无服务器部署:平台按需启动实例,并在空闲时将实例数量缩减至零;这样可以在没有请求时免除费用,但第一个请求会遇到冷启动延迟。
  • 批处理部署:通过定时任务一次性对大型数据集进行评分,例如每晚生成产品推荐;这类场景更看重吞吐量,而不是单个请求的处理速度。

Ultralytics Platform会将训练好的 YOLO 模型部署到专用端点,支持42 个区域中的任意区域,每个区域都有自己的 URL 和监控功能;默认资源规格的端点在空闲时会缩容至零。目标平台的选择取决于应用的几个问题,Ultralytics Academy 的课程选择部署目标会详细讲解这些问题:

为生产环境准备模型#

训练框架注重灵活性,因此生产模型通常会导出为推理引擎可高效运行的格式,例如具有可移植性的 ONNX、适用于 NVIDIA GPU 的 TensorRT、适用于 Intel 硬件的 OpenVINO,或者用于手机的 LiteRT 和 Core ML。当目标设备资源有限时,可以使用模型量化和模型剪枝进一步缩小模型。随后,将导出的模型及其预处理代码与固定版本的依赖项打包在一起,通常放入 Docker容器,以确保它在笔记本、服务器或 Kubernetes集群上的运行方式一致。导出训练好的检测器,并在发布前加载导出的文件快速检查,操作如下:

from ultralytics import YOLO

# Load a trained model (replace with your own best.pt)
model = YOLO("yolo26n.pt")

# Export to ONNX, a portable format that many inference engines run
path = model.export(format="onnx")
print(f"Deployable model: {path}")

# Smoke-test the exported file with the same API before shipping it
onnx_model = YOLO(path)
results = onnx_model("https://ultralytics.com/images/bus.jpg")
results[0].save(filename="bus_onnx.jpg")

导出调用会返回新 yolo26n.onnx 文件的路径,保存的图像则确认导出的文件能够加载并进行检测。团队还会在验证集上比较导出模型与原始模型的准确率和速度,因为格式转换和降低精度可能会轻微改变输出。

发布新模型版本#

新模型版本会存储在模型注册表中,并逐步发布,因为离线指标无法涵盖所有生产环境条件。在影子部署中,新模型会接收一份实时流量副本,而当前模型仍负责回答用户请求,因此可以在不承担风险的情况下对比两个模型。接着,金丝雀发布会将少量真实流量路由到新版本;只有当错误率、延迟和预测质量均保持正常时,才会逐步扩大流量占比。A/B 测试则用于衡量新版本对业务结果的影响。让先前版本始终保持可部署状态,可以通过更改配置回滚,而不必紧急重新构建:

  • 模型训练:从数据集中学习模型权重。模型部署从训练完成的权重开始。
  • 模型服务:用于响应预测请求的运行时层。它是模型部署的一部分,部署还包括打包、发布和监控。
  • 推理延迟:已部署模型计算每个单独预测所需的时间,也是部署必须满足的主要要求之一。

部署后的监控#

环境发生变化时,已部署模型可能会在毫无察觉的情况下退化。模型监控会跟踪延迟、吞吐量、错误率和硬件使用情况等运维指标,通常借助 Prometheus和 Grafana 等工具,同时监控输入和预测的统计信息。监控发现问题后,团队会标注新的失败案例、重新训练,并让新版本经过同一发布流程。输入统计信息可以最早发出预警:数据漂移(例如摄像头转到了新的角度,或照明条件变为冬季光线)会体现在这些统计信息中,早于生产数据真实标签到达并用于测量准确率的时间,早则几天,晚则几周。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来