了解模型服务如何弥合训练模型与生产之间的差距。探索在Ultralytics平台上部署Ultralytics YOLO26的策略。
模型服务是指托管训练好的机器学习模型,并通过网络接口使其功能可供软件应用程序使用的过程。它充当了磁盘上保存的静态模型文件与处理真实数据的实时系统之间的桥梁。一旦模型完成了机器学习 (ML)训练阶段,就必须将其集成到生产环境中,以便接收输入(如图像、文本或表格数据)并返回预测结果。这通常通过将模型封装在应用程序编程接口 (API)中来实现,从而使其能够与Web服务器、移动应用程序或IoT设备进行通信。
模型服务的主要目标是有效地将预测建模能力投入实际应用。训练侧重于准确性和损失最小化,而服务则侧重于性能指标,例如延迟(预测返回的速度)和吞吐量(每秒可处理的请求数量)。强大的服务基础设施确保计算机视觉 (CV)系统在高负载下仍能保持可靠。它通常涉及容器化等技术,并使用Docker等工具,将模型及其依赖项打包,以确保在不同计算环境中行为一致。
通过基于数据的即时决策,模型服务为各行各业无处不在的人工智能功能提供动力。 数据。
为了有效地提供模型服务,通常有益的做法是,将模型导出为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.")
服务策略的选择在很大程度上取决于具体的用例。在线服务通过REST或gRPC等协议提供即时响应,这对于面向用户的Web应用程序至关重要。相反,批量服务离线处理大量数据,适用于夜间报告生成等任务。对于需要隐私或低延迟且不依赖互联网的应用程序,边缘AI将服务过程直接转移到设备上,利用TensorRT等优化格式,以最大限度地提高受限硬件上的性能。许多组织利用Ultralytics Platform来简化这些模型到各种端点(包括云API和边缘设备)的部署。
尽管密切相关,“模型服务”不同于模型部署和推理。

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