了解模型服务如何弥合训练模型与生产环境之间的鸿沟。探索在Ultralytics 部署Ultralytics 策略。
模型服务是指托管训练好的机器学习模型,并通过网络接口向软件应用程序提供其功能的过程。它充当了存储在磁盘上的静态模型文件与处理现实世界数据的实时系统之间的桥梁。 模型完成机器学习(ML)训练阶段后,必须集成到生产环境中,才能接收图像、文本或表格数据等输入并返回预测结果。通常通过将模型封装为应用程序接口(API)实现,使其能够与Web服务器、移动应用或物联网设备进行通信。
模型服务的首要目标是有效实现预测建模能力的业务化应用。 训练侧重于准确率和损失最小化,而服务则关注性能指标,例如 延迟(预测结果返回的速度)和吞吐量(每秒可处理的请求数量)。 稳健的服务基础设施确保计算机视觉(CV)系统在高负载下保持可靠性。这通常涉及容器化技术,例如使用Docker等工具将模型与其依赖项打包,以确保在不同计算环境中保持一致的行为。
通过基于数据的即时决策,模型服务为各行各业无处不在的人工智能功能提供动力。 数据。
要有效地使用模型,通常将模型导出为标准化格式(如ONNX)会带来诸多益处。 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 简化模型部署流程,支持云端API与边缘设备等多类终端节点。
尽管密切相关,"模型服务"与模型部署和推理存在本质区别。