Model Serving
了解模型服务如何连接训练好的模型与生产环境。探索 Ultralytics Platform 上 Ultralytics YOLO26 的部署策略。
模型服务是指托管已训练的机器学习模型,并通过网络接口将其功能提供给软件应用程序的过程。它在存储在磁盘上的静态模型文件与处理现实世界数据的实时系统之间架起了桥梁。一旦模型完成了 机器学习 (ML) 训练阶段,就必须将其集成到生产环境中,以便接收输入(例如图像、文本或表格数据)并返回预测结果。这通常通过将模型封装在 应用程序编程接口 (API) 中来实现,从而允许它与 Web 服务器、移动应用程序或 IoT 设备进行通信。
Link to this section模型服务在 AI 中的作用#
The primary goal of model serving is to operationalize predictive modeling capabilities effectively. While training focuses on accuracy and loss minimization, serving focuses on performance metrics like latency (how fast a prediction is returned) and throughput (how many requests can be handled per second). Robust serving infrastructure ensures that computer vision (CV) systems remain reliable under heavy loads. It often involves technologies like containerization using tools such as Docker, which packages the model with its dependencies to ensure consistent behavior across different computing environments.
Link to this section实际应用#
通过实现基于数据的即时决策,模型服务为各行各业的普及型 AI 功能提供了动力。
- 智能制造: 在工业环境中,制造业中的 AI 系统使用已部署服务的模型来检查装配线。组件的高分辨率图像被发送到本地服务器,在那里 YOLO26 模型检测划痕或错位等缺陷,并触发立即警报以移除有缺陷的物品。
- 零售自动化: 零售商利用 零售中的 AI 来增强客户体验。由 目标检测 模型提供服务的摄像头可以识别结账区的商品,自动统计总成本,无需手动扫描条形码。
Link to this section实际实施#
为了有效地服务模型,将 模型导出 为标准格式(如 ONNX)通常很有益,这促进了不同训练框架和服务引擎之间的互操作性。以下示例演示了如何加载模型并运行推理,模拟了使用 Python 的服务终端内部存在的逻辑。
from ultralytics import YOLO
# Load the YOLO26 model (this typically happens once when the server starts)
model = YOLO("yolo26n.pt")
# Simulate an incoming API request with an image source URL
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions for the user
results = model.predict(source=image_source)
# Process results (e.g., simulating a JSON response to a client)
print(f"Detected {len(results[0].boxes)} objects in the image.")Link to this section选择正确的策略#
服务策略的选择在很大程度上取决于具体的用例。在线服务 (Online Serving) 通过 REST 或 gRPC 等协议提供即时响应,这对面向用户的 Web 应用程序至关重要。相反,批量服务 (Batch Serving) 离线处理大量数据,适用于夜间报告生成等任务。对于需要隐私保护或低延迟且不依赖互联网的应用程序,边缘 AI (Edge AI) 将服务过程直接移动到设备上,利用 TensorRT 等优化格式,最大限度地提高受限硬件上的性能。许多组织利用 Ultralytics Platform 来简化这些模型到各种终端(包括云 API 和边缘设备)的部署。
Link to this section与相关术语的区别#
虽然密切相关,“模型服务”与 模型部署 和 推理 是不同的。
- 模型部署: 指的是将模型发布到生产环境这一更广泛的生命周期阶段。服务是用于执行已部署模型的具体机制或软件(如 NVIDIA Triton Inference Server 或 TorchServe)。
- 推理: 这是从输入中计算预测的数学行为。模型服务提供了基础设施(网络、可扩展性 和安全性),使 推理 能够可靠地为最终用户进行。
- 微服务: 服务通常被架构为一组 微服务,其中模型作为独立服务运行,应用程序的其他部分可以对其进行查询,通常使用 JSON 等轻量级格式交换数据。






