了解模型服务的基础知识——部署 AI 模型以实现实时预测、可扩展性以及与应用程序的无缝集成。
模型服务是机器学习生命周期的关键阶段,在这一阶段,经过训练的模型被托管在服务器或设备上,以处理实时推理请求。 处理实时推理请求。 一旦机器学习(ML)模型经过训练和验证,就必须将其集成到生产环境中,以提供价值。 一旦机器学习(ML)模型经过训练和验证,就必须将其集成到生产环境中以提供价值。服务充当 静态模型文件和最终用户应用程序之间的桥梁,通过 API 监听传入的数据(如图像或文本),并返回给最终用户应用程序。 文本),并返回模型的预测结果。这一过程 使软件系统能够利用 预测建模功能。 大规模利用预测建模功能。
有效的模型服务需要一个强大的软件架构,能够将模型加载到内存中,管理 GPU 等硬件资源,以及 硬件资源(如GPU),并 高效处理请求。虽然简单的脚本就能执行推理,但生产级的服务通常使用 专业框架,如 NVIDIA Triton 推理服务器或 TorchServe 等专业框架。这些工具经过优化,可处理高吞吐量和低 推理延迟,确保应用程序 即使在用户负荷较重的情况下也能保持响应速度。
全面的服务设置涉及多个不同的层面,它们协同工作,以可靠地提供预测。
要有效地为模型服务,将其导出为标准格式通常是有益的,如 ONNX这样的标准化格式 这样可以促进不同训练框架和服务引擎之间的互操作性。下面的示例演示了如何 加载一个 YOLO11模型并运行推理,模拟服务端点内部的逻辑。 的逻辑。
from ultralytics import YOLO
# Load the YOLO11 model (this would happen once when the server starts)
model = YOLO("yolo11n.pt")
# Simulate an incoming request with an image source
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions
results = model.predict(source=image_source)
# Process and return the results (e.g., bounding boxes)
for box in results[0].boxes:
print(f"Class: {box.cls}, Confidence: {box.conf}")
通过基于数据的即时决策,模型服务为各行各业无处不在的人工智能功能提供动力。 数据。
虽然经常互换使用,但有必要区分模型服务和模型部署。 模型部署。部署指的是更广泛的 将模型发布到生产环境中的过程,包括测试、打包和设置基础架构等步骤。 基础设施等步骤。模型服务是部署的特定运行时方面--实际运行模型和处理请求的行为。 和处理请求的行为。
有效的服务还需要持续的 模型监测,以detect 数据漂移,即输入数据的分布 偏离训练数据,从而可能 降低准确性。现代平台,如即将推出的 Ultralytics Platform)旨在统一这些阶段,提供从训练到服务和监控的无缝过渡。 从训练到服务和监控的无缝过渡。
服务策略的选择在很大程度上取决于使用情况。在线服务可为面向用户的应用提供即时 响应,但要求低延迟。相反,批量服务 批量服务则是离线处理大量数据,适用于夜间报告生成等任务,在这些任务中,即时反馈并不重要。 即时反馈并不重要。对于部署在远程硬件(如无人机或手机)上的应用,边缘人工智能可将服务流程转移到远程硬件上、 边缘人工智能将服务流程直接转移到设备上、 消除对云连接的依赖,降低带宽成本。
使用Prometheus等工具收集指标,使用 可视化工具Grafana可帮助工程团队track 基础架构的健康状况,确保模型持续提供可靠的 基础架构的健康状况,确保模型在 计算机视觉功能。 计算机视觉功能。

