ONNX Runtime GPU

Кросс-платформенное, аппаратно-ускоренное ML-инференс — развертывайте любую модель из любого фреймворка

ONNX Runtime (ORT) — это открытый движок инференса от Microsoft для моделей ONNX (Open Neural Network Exchange). Он обеспечивает аппаратно-ускоренный инференс на CPU, GPU и специализированных ускорителях через унифицированный API. Независимо от того, в 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

Частично

Частично

Развертывание на мобильных/edge-устройствах

Ограничено

Ограничено

Слияние операторов

Частично

Лёгкая интеграция

✅ Python/C++/Java

Python

Python/gRPC

circle-check

Поддерживаемые провайдеры выполнения

ONNX Runtime поддерживает несколько аппаратных бэкендов (провайдеров выполнения):

Провайдер
Оборудование
Сценарий использования

CUDAExecutionProvider

NVIDIA GPUs

Общий GPU-инференс

TensorrtExecutionProvider

NVIDIA GPUs

Максимальная пропускная способность

CPUExecutionProvider

CPU

Резерв / edge

ROCMExecutionProvider

AMD GPUs

Аппаратное обеспечение AMD

CoreMLExecutionProvider

Apple Silicon

macOS/iOS

OpenVINOExecutionProvider

Intel

Intel CPU/GPU


Требования

  • Аккаунт Clore.ai с арендой GPU

  • Базовые знания Python

  • Обученная модель (PyTorch, TensorFlow или заранее экспортированная в ONNX)


Шаг 1 — Арендуйте GPU на Clore.ai

  1. Перейдите на clore.aiarrow-up-rightМаркетплейс

  2. Любая NVIDIA GPU подходит — от RTX 3070 для небольших моделей до A100 для больших трансформеров

  3. Для моделей-трансформеров: Рекомендуются 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 и Python-окружение, готовое для установки ORT.


Шаг 3 — Установите ONNX Runtime с поддержкой GPU


Шаг 4 — Экспортируйте вашу модель в ONNX

Экспорт модели PyTorch

Экспорт HuggingFace Transformers

Экспорт с оптимизацией ORT


Шаг 5 — Запуск инференса с ONNX Runtime

Базовый GPU-инференс

Пакетный инференс для пропускной способности


Шаг 6 — Провайдер выполнения TensorRT (максимальная производительность)

Для GPU NVIDIA провайдер TensorRT обеспечивает ещё лучшую производительность:

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

Ошибки несоответствия формы


Продвинуто: конвейер с несколькими моделями


Дополнительные ресурсы


ONNX Runtime на Clore.ai — идеальный выбор для production-инференс-сервисов, которым нужно обслуживать модели из разных фреймворков с максимальной эффективностью использования GPU.


Рекомендации Clore.ai по GPU

Сценарий использования
Рекомендуемый GPU
Примерная стоимость на Clore.ai

Разработка/Тестирование

RTX 3090 (24GB)

~$0.12/gpu/hr

Производственный инференс

RTX 4090 (24GB)

~$0.70/gpu/hr

Развертывание в крупном масштабе

A100 80GB

~$1.20/gpu/hr

💡 Все примеры в этом руководстве можно развернуть на Clore.aiarrow-up-right GPU-серверах. Просматривайте доступные GPU и арендуйте по часам — без обязательств, с полным root-доступом.

Последнее обновление

Это было полезно?