
5 движков, 1 resnet: битва inference-рантаймов 2026
DmitriyValetov 26 минут назад 5 движков, 1 resnet: битва inference-рантаймов 2026 Средний 7 мин 654 Машинное обучение * Обзор TL;DR: Прогнал ResNet-50 через PyTorch, ONNX Runtime, OpenVINO, TensorRT и TVM в...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Значимый прорыв формирует отрасль ИИ: DmitriyValetov 26 минут назад 5 движков, 1 resnet: битва inference-рантаймов 2026 Средний 7 мин 654 Машинное обучение * Обзор TL;DR: Прогнал ResNet-50 через PyTorch, ONNX Runtime, OpenVINO, TensorRT и TVM в FP32/FP16/INT8/INT4 на CPU Ryzen 9 6900HS и GPU RTX 3070 Ti Laptop в 46 конфигурациях. Лучший CPU: ONNX Runtime static INT8 — 15. 0 от torch baseline при bs=1).
Лучший GPU: TensorRT INT8 — 1. 16 ms / 863 img/s (×5. compile + FP16 даёт ×2.
Технические детали
6 ускорения без смены движка. Код и данные: github. com/DmitriyValetov/resnet50-inference-benchmark.
ВведениеЕсть такая рубрика — бенчмарки гонять. Эта статья как раз из таких. По мотивам ряда публикаций про inference-движки захотелось сделать свою — с более подробными метриками и открытым кодом.
Inference-движки нам нужны, когда модель обучена и её нужно гонять в проде, либо масштабно валидировать. В следующей таблице приведу многообразие движков и зону их применимости:ФреймворкСервер/ОблакоEdgeПримечаниеTensorRT✅✅Только NVIDIA GPUONNX Runtime✅✅Универсальный вариантOpenVINO✅✅В основном заточен под intel экосистему, но на rysen тоже показал прирост производительностиTVM✅✅Компилятор, µTVM для MCU edge-ai-visionExecuTorch❌✅Замена PyTorch MobileTFLite/LiteRT❌✅Движок под Android/iOS/RPiNCNN❌✅Tencent edge engineMNN❌✅Alibaba edge enginePaddle Lite❌✅Baidu edge engineТак же существуют различные методы оптимизации производительности (в настоящей статье речь пойдет только о тех, которые не меняют архитектуру сети), поддерживаемые большей частью движков, пусть и с местными нюансами, это: снижение точности вычислений (FP32→FP16/INT8/INT4), kernel fusion, графовые оптимизации. В этой статье испытаниям подвергнется ResNet-50 в 46 конфигурациях на 5 движках, с цифрами, таблицами и графиками.
Отраслевые последствия
Испытательный стендКомпонентКонфигурацияCPUAMD Ryzen 9 6900HS (8C/16T, Zen 3+)GPUNVIDIA RTX 3070 Ti Laptop (8 GB GDDR6)RAM32 GB DDR5ОкружениеDocker, Ubuntu 22. 8МодельResNet-50, веса ImageNet1K_V1Датасет для эвала10k изображений (подмножество ImageNet val) - Top-1 / Top-5 AccuracyКак считаем скоростьLatency/Throughput при bs=1 и bs=64Warmup10 итерацийMeasurement50–100 итераций, медианаСетка batch size1, 8, 16, 32, 64Baselinetorch FP32 eager modeМетодыВсего прогнано 46 конфигураций по пяти движкам:ДвижокКонфигурацийЧто внутриPyTorch19FP32/FP16 CPU+CUDA, autocast, 6 × torch. compile, 3 quant (dynamic/static FX/PT2E), PT2E+compile ×2, W4 GPU (eager + 2 compile)ONNX Runtime8FP32/FP16/INT8 dynamic/INT8 static × (CPU + CUDA)OpenVINO3FP32/FP16/INT8 — CPUTensorRT3FP32/FP16/INT8 — CUDATVM13FP32/FP16/INT8 × (CPU + CUDA), default/MetaSchedule/AutoTVMВсего46Torch: бейзлайн и богатый набор оптимизацийTorch — то, с чего все начинают: обучение, эксперименты.
Чаще всего на нем инференс в проде не гоняют, но, к моему удивлению, внутри экосистемы PyTorch есть большой спектр настройки инференса. Сетапы torchPrecisionМетодУстройстваПримечаниеFP32eagerCPU, CUDAbaselineFP16model. half()CPUвход float16FP16torch.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





