术语表

推理引擎

了解推理引擎如何通过提供实时预测、优化模型和实现跨平台部署为人工智能提供动力。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

人工智能(AI)机器学习(ML)领域,推理引擎是一个重要的软件或硬件组件,负责执行训练有素的模型,对新的、未见过的数据进行预测。模型在训练阶段学习到模式后,推理引擎会将这个训练有素的模型应用到现实世界的输入中。这一过程被称为推理,它使人工智能系统能够在实际应用中执行物体检测图像分类自然语言处理(NLP)等任务。从本质上讲,它是已部署的人工智能模型的运行核心,可将所学知识高效地转化为可操作的输出。

推理引擎如何工作

推理引擎利用预先训练好的模型,该模型通常使用深度学习(DL)框架开发,如 PyTorchTensorFlow等深度学习(DL)框架开发的,该模型封装了特定任务所需的知识。当输入新数据(如图像、音频片段或文本句子)时,推理引擎会通过模型的计算结构(通常是神经网络)对其进行处理。由此产生输出,例如识别图像中带有边界框的物体、转录语音或进行情感分类。 Ultralytics YOLO模型依赖于高效的推理引擎,以便在各种平台(从功能强大的云服务器到资源有限的边缘设备)上实现实时对象检测分割。推理引擎的性能直接影响应用的速度和响应能力,通常以推理延迟和吞吐量来衡量。

优化和主要功能

现代推理引擎的一个关键作用是优化。直接运行一个经过训练的大型深度学习模型,计算成本高且速度慢。推理引擎采用各种技术使模型更快、更高效,从而可以在不同的硬件上部署。常见的模型优化策略包括

  • 模型量化降低模型权重的精度(例如,从 32 位浮点数到 8 位整数),以减小模型大小并加快计算速度,通常对精度的影响最小。
  • 模型剪枝删除神经网络中多余或不重要的连接(权重),以创建更小、更快的模型。
  • 图优化:在模型计算图中融合层或重新排列操作,以提高在特定硬件上的执行效率。
  • 硬件加速:利用GPUTPU 等专用处理器或Google EdgeTPU NVIDIA Jetson 等设备上的专用人工智能加速器。

许多推理引擎还支持标准化的模型格式,如ONNX (开放神经网络交换),它允许在一个框架(如 PyTorch等)训练的模型可以在不同的引擎或平台上运行。流行的推理引擎包括 NVIDIA TensorRTIntel的OpenVINOTensorFlow Lite。Ultralytics 模型支持导出为与这些引擎兼容的各种格式,详见模型部署选项指南

推理引擎与训练框架

必须将推理引擎与训练框架区分开来。

  • 培训框架(如 PyTorch, TensorFlowKeras):这些是用于构建、训练和验证机器学习模型的综合库。它们为定义网络架构、实施反向传播、管理数据集和计算损失函数提供了工具。重点在于灵活性和学习过程。
  • 推理引擎(如 TensorRT, OpenVINOONNX Runtime):这些都是专门设计用于高效运行预训练模型以完成预测任务(模型部署)的工具。它们的主要重点是优化速度(低延迟)、低内存使用率以及与目标硬件的兼容性。它们通常采用使用框架训练的模型,并将其转换为优化格式。

实际应用

推理引擎对于在实际场景中部署人工智能至关重要:

  1. 自动驾驶汽车自动驾驶汽车(如 Waymo 开发的自动驾驶汽车)在很大程度上依赖于在嵌入式硬件(如NVIDIA Jetson 平台)上运行的高效推理引擎来实时处理传感器数据(摄像头、激光雷达)。引擎会优化复杂的计算机视觉模型(如YOLO ),以最小的延迟完成物体检测(检测汽车、行人、标志)和语义分割(理解道路布局)等任务,这对安全至关重要。了解更多有关人工智能在汽车解决方案中的应用
  2. 医学图像分析推理引擎可加速医学扫描(X 射线、CT、核磁共振成像)的分析,以完成检测肿瘤(参见脑肿瘤数据集)或异常等任务。通过推理引擎部署的优化模型可在医院服务器或专用医疗设备上快速运行,通过提供更快的诊断或第二意见来协助放射科医生(请参阅放射学中的人工智能)。了解人工智能在医疗保健领域的应用

从本质上讲,推理引擎是训练有素的人工智能模型与其实际应用之间的桥梁,可确保在各种设备和平台上高效地提供复杂的人工智能功能,包括通过Ultralytics HUB 等平台管理模型。

阅读全部