ONNX 运行时 GPU

跨平台、硬件加速的机器学习推理 — 部署来自任何框架的任意模型

ONNX Runtime(ORT)是微软为 ONNX(开放神经网络交换)模型提供的开源推理引擎。它通过统一的 API 在 CPU、GPU 和专用加速器上提供硬件加速的推理。无论您的模型是在 PyTorch、TensorFlow、Scikit-learn 还是 XGBoost 中训练的 — 如果您能将其导出为 ONNX 格式,ORT 都能更快地运行它。

GitHub: microsoft/onnxruntimearrow-up-right — 14K+ ⭐


为什么选择 ONNX Runtime?

功能
ONNX Runtime
TorchScript
TensorFlow Serving

框架无关

❌ 仅限 PyTorch

❌ 仅限 TF

GPU 加速

✅ CUDA/TensorRT

INT8/FP16 量化

部分支持

部分支持

移动/边缘部署

有限

有限

算子融合

部分支持

易于集成

✅ Python/C++/Java

Python

Python/gRPC

circle-check

支持的执行提供程序

ONNX Runtime 支持多种硬件后端(执行提供程序):

提供程序
硬件
在 Clore.ai 上的预估费用

CUDAExecutionProvider

NVIDIA GPU

通用 GPU 推理

TensorrtExecutionProvider

NVIDIA GPU

最大吞吐量

CPUExecutionProvider

CPU

回退 / 边缘

ROCMExecutionProvider

AMD GPU

AMD 硬件

CoreMLExecutionProvider

Apple Silicon

macOS/iOS

OpenVINOExecutionProvider

Intel

Intel CPU/GPU


先决条件

  • 具有 GPU 租用的 Clore.ai 账户

  • 基础的 Python 知识

  • 已训练的模型(PyTorch、TensorFlow 或预先导出的 ONNX)


步骤 1 — 在 Clore.ai 上租用 GPU

  1. 前往 clore.aiarrow-up-right市场

  2. 任何 NVIDIA GPU 都可 — 小模型可用 RTX 3070, 大型 Transformer 可用 A100

  3. 对于 Transformer 模型: 建议使用 RTX 4090 或 A100

  4. 对于计算机视觉: RTX 3090 或 RTX 4090 即可满足需求


步骤 2 — 部署您的容器

ONNX Runtime 没有官方预构建容器,但 NVIDIA CUDA 基础镜像是理想选择:

Docker 镜像:

端口:

环境变量:

circle-info

或者,使用 pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime 该镜像包含 CUDA 和一个可用于安装 ORT 的 Python 环境。


步骤 3 — 安装支持 GPU 的 ONNX Runtime


步骤 4 — 将模型导出为 ONNX

PyTorch 模型导出

HuggingFace Transformers 导出

使用 ORT 优化导出


步骤 5 — 使用 ONNX Runtime 运行推理

基础 GPU 推理

批量推理以提高吞吐量


步骤 6 — TensorRT 执行提供程序(极致性能)

对于 NVIDIA GPU,TensorRT EP 可提供更佳性能:

circle-exclamation

步骤 7 — 为最大速度进行 INT8 量化


步骤 8 — 构建推理 API


步骤 9 — 监控 GPU 使用情况


性能基准

模型
GPU
提供程序
吞吐量(推理/秒)

ResNet50

RTX 4090

CUDA

~4,200

ResNet50

RTX 4090

TensorRT FP16

~8,500

BERT Base

RTX 4090

CUDA

~380

BERT Base

RTX 4090

TensorRT FP16

~720

YOLOv8n

RTX 3090

CUDA

~1,800

YOLOv8x

A100

TensorRT FP16

~920


故障排除

CUDA 提供程序不可用

TensorRT 编译错误

形状不匹配错误


高级:多模型流水线


附加资源


在 Clore.ai 上使用 ONNX Runtime 是为需要以最高 GPU 效率服务来自不同框架模型的生产推理服务的理想选择。


Clore.ai 的 GPU 建议

在 Clore.ai 上的预估费用
开发/测试
RTX 3090(24GB)

~$0.12/每 GPU/每小时

生产

RTX 4090(24GB)

生产级推理

大规模

A100 80GB

大规模部署

💡 本指南中的所有示例均可部署在

Clore.ai

GPU 服务器上。浏览可用 GPU 并按小时租用 — 无需承诺,提供完整的 root 访问权限。 Clore.aiarrow-up-right GPU 服务器。浏览可用 GPU 并按小时租用 — 无需承诺,提供完整的 root 访问权限。

最后更新于

这有帮助吗?