了解推理引擎如何优化像 Ultralytics YOLO26 这样的机器学习模型以进行实时部署。立即探索边缘AI的性能优化技巧。
推理引擎是一种专门的软件组件,旨在执行训练好的机器学习模型并从新数据生成预测。与训练阶段不同,训练阶段侧重于通过计算密集型过程(如 反向传播)学习模式,推理引擎严格针对被称为 模型部署 的操作阶段进行优化。其主要目标是尽可能高效地运行计算,最大限度地减少 推理延迟 并最大限度地提高目标硬件上的吞吐量,无论是可扩展的云服务器还是电池供电的 边缘AI 设备。通过去除训练所需的开销,这些引擎使复杂的 神经网络 能够在实时应用中运行。
从训练环境到推理引擎的转换通常涉及多个优化步骤,以简化模型的结构。由于模型不再需要学习,引擎可以丢弃梯度更新所需的数据,从而有效地冻结 模型权重。推理引擎常用的技术包括层融合,即将多个操作合并为一个步骤以减少内存访问,以及 模型量化,它将权重从高精度浮点格式转换为低精度整数(例如,INT8)。
这些优化使得像 Ultralytics YOLO26 这样的先进架构能够以极高的速度运行,而不会显著损失 准确性。不同的引擎通常针对特定的硬件生态系统进行定制,以释放最大性能:
推理引擎是许多现代AI便利背后的无声驱动力,使 计算机视觉 系统能够即时响应其环境。
区分用于创建模型的软件和用于运行模型的引擎是有帮助的。训练框架(如 PyTorch 或 TensorFlow)提供了设计架构、计算损失并通过 监督学习 更新参数的工具。它优先考虑灵活性和调试能力。
相比之下,推理引擎 接收来自训练框架的最终产物,并优先考虑执行速度和内存效率。尽管您可以在训练框架内运行推理,但其效率很少能与使用专用引擎相媲美,特别是对于通过 TensorFlow Lite 或 Apple Core ML 等工具部署到手机或嵌入式设备上。
"(《世界人权宣言》) ultralytics 包抽象了推理引擎的许多复杂性,允许用户无缝地运行预测。在底层,它处理图像的预处理和模型的执行。对于希望扩展的用户, Ultralytics 平台 简化了训练和将模型导出为与各种推理引擎兼容的优化格式的过程。
以下示例演示了如何加载预训练的 YOLO26 模型并对图像运行推理:
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Run inference on an image from a URL
# The 'predict' method acts as the interface to the inference process
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
开启您的机器学习未来之旅