深圳Yolo 视觉
深圳
立即加入
词汇表

模型服务

了解模型服务的基础知识——部署 AI 模型以实现实时预测、可扩展性以及与应用程序的无缝集成。

模型服务是机器学习生命周期的关键阶段,在这一阶段,经过训练的模型被托管在服务器或设备上,以处理实时推理请求。 处理实时推理请求。 一旦机器学习(ML)模型经过训练和验证就必须将其集成到生产环境中,以提供价值。 一旦机器学习(ML)模型经过训练和验证,就必须将其集成到生产环境中以提供价值。服务充当 静态模型文件和最终用户应用程序之间的桥梁,通过 API 监听传入的数据(如图像或文本),并返回给最终用户应用程序。 文本,并返回模型的预测结果。这一过程 使软件系统能够利用 预测建模功能。 大规模利用预测建模功能。

有效的模型服务需要一个强大的软件架构,能够将模型加载到内存中,管理 GPU 等硬件资源,以及 硬件资源(如GPU),并 高效处理请求。虽然简单的脚本就能执行推理,但生产级的服务通常使用 专业框架,如 NVIDIA Triton 推理服务器TorchServe 等专业框架。这些工具经过优化,可处理高吞吐量和低 推理延迟,确保应用程序 即使在用户负荷较重的情况下也能保持响应速度。

服务架构的核心组成部分

全面的服务设置涉及多个不同的层面,它们协同工作,以可靠地提供预测。

  • 推理引擎:负责执行模型数学运算的核心软件。 引擎通常针对特定硬件进行优化,例如 TensorRTOpenVINO以最大限度地提高性能。
  • 应用程序接口:应用程序通过定义的协议与服务模型通信。 REST API因其简单而常用于网络集成,而 gRPC则适用于要求高性能和低延迟的内部微服务。 延迟。
  • 模型注册中心:用于管理已训练模型不同版本的集中存储库。这 如果新的模型部署带来了意想不到的问题,这可确保服务系统能轻松回滚到以前的版本。 模型部署会带来意想不到的问题时,服务系统可轻松回滚到之前的版本。
  • 容器化:工具,如 Docker等工具将模型及其依赖关系打包到 隔离的容器中。这保证了不同环境下的一致性,从开发人员的笔记本电脑到云中的 云中的Kubernetes集群。
  • 负载平衡器:在高流量情况下,负载平衡器 负载平衡器可将传入的推理请求分配给 多个模型副本,以防止任何一台服务器成为瓶颈,从而确保 可扩展性

具体实施

要有效地为模型服务,将其导出为标准格式通常是有益的,如 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}")

实际应用

通过基于数据的即时决策,模型服务为各行各业无处不在的人工智能功能提供动力。 数据。

  • 智能零售:零售商利用 人工智能在零售业中的应用,实现结账流程自动化。 由物体检测模型提供服务的摄像头 实时识别传送带上的产品,无需扫描条形码即可计算总成本。
  • 质量保证:在工业环境中、 制造系统中的人工智能使用已送达的 模型来检测装配线。部件的高分辨率图像被发送到本地边缘服务器,在那里 模型检测出划痕或错位等缺陷,触发即时警报,移除有问题的物品。
  • 金融欺诈检测:银行采用 异常检测模型,通过安全的 API 对发生的交易数据进行分析。如果某项交易符合欺诈活动的模式,系统可 立即阻止交易,防止经济损失。

模型服务与模型部署

虽然经常互换使用,但有必要区分模型服务和模型部署。 模型部署。部署指的是更广泛的 将模型发布到生产环境中的过程,包括测试、打包和设置基础架构等步骤。 基础设施等步骤。模型服务是部署的特定运行时方面--实际运行模型和处理请求的行为。 和处理请求的行为。

有效的服务还需要持续的 模型监测,以detect 数据漂移,即输入数据的分布 偏离训练数据,从而可能 降低准确性。现代平台,如即将推出的 Ultralytics Platform)旨在统一这些阶段,提供从训练到服务和监控的无缝过渡。 从训练到服务和监控的无缝过渡。

选择正确的战略

服务策略的选择在很大程度上取决于使用情况。在线服务可为面向用户的应用提供即时 响应,但要求低延迟。相反,批量服务 批量服务则是离线处理大量数据,适用于夜间报告生成等任务,在这些任务中,即时反馈并不重要。 即时反馈并不重要。对于部署在远程硬件(如无人机或手机)上的应用,边缘人工智能可将服务流程转移到远程硬件上、 边缘人工智能将服务流程直接转移到设备上、 消除对云连接的依赖,降低带宽成本。

使用Prometheus等工具收集指标,使用 可视化工具Grafana可帮助工程团队track 基础架构的健康状况,确保模型持续提供可靠的 基础架构的健康状况,确保模型在 计算机视觉功能。 计算机视觉功能。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入