ONNX Runtime 2026 sürümü, 2700’den fazla operatör desteği ve 18 farklı execution provider entegrasyonuyla cross-platform ML inference dünyasının ortak dili haline geldi; Microsoft’un Eylül 2025 raporuna göre üretim modelinin %47’si ONNX formatında dağıtılıyor. Konuyla ilişkili olarak Edge AI ve On-Device Inference 2026: TFLite, Core ML Rehberi rehberimiz detaylı incelemeyi içerir.
ONNX Runtime 2026 Pazar Bağlamı
Bir kurumun PyTorch ile eğitilmiş bir modeli aynı anda Azure ML kümeleri, iOS Core ML, Android NNAPI, Intel CPU, NVIDIA GPU, AMD ROCm ve WebAssembly tarayıcı ortamlarında servis etmesi geleneksel olarak 7 farklı stack gerektirirdi. ONNX (Open Neural Network Exchange) bu sorunu IR (Intermediate Representation) üzerinden çözer: model bir kez ONNX’e dönüştürülür, ardından her platformun execution provider’ı (CUDA, TensorRT, DirectML, OpenVINO, CoreML, NNAPI, ROCm, XNNPACK, QNN, ACL, ArmNN, OneDNN, NPU, RKNPU, Vitis AI, MIGraphX, WebGPU, WebGL) çağrıldığında en uygun donanım hızlandırması devreye girer. Microsoft’un Eylül 2025 raporu, kurumsal üretim ML modellerinin %47’sinin ONNX formatında dağıtıldığını, bu rakamın 2023’te %28 olduğunu gösteriyor.
ONNX Runtime’ın en güçlü tarafı zero-vendor-lock: aynı `.onnx` dosyası bir veri merkezi GPU’sunda 4720 token/sn, bir Snapdragon 8 Gen 3 telefonda 22 token/sn ile çalışabilir. 2026 v1.20 sürümünde QNN (Qualcomm Neural Network) execution provider ile mobil cihazlarda Llama 3.2 3B modeli batarya tüketimi %38 daha düşük seviyede inference yapabiliyor.
ONNX IR ve Execution Provider Mimarisi
ONNX dosyası bir protobuf serileştirilmiş graph’tir; her node bir operatör (Conv, MatMul, LayerNorm, Attention, vb.), her edge bir tensor. 2026 itibarıyla opset version 21 yayında, 2700+ operatör tanımlı; özellikle dinamik shape, control flow (If, Loop), custom operatörler ve string tensor desteği LLM ve klasik ML modelleri arasındaki tüm kullanım senaryolarını kapsıyor. Execution provider mekanizması bir model load edildiğinde graph’i parse eder, hangi node’ların hangi backend tarafından çalıştırılabileceğini belirler ve graph’i partition’lara ayırır. Tek bir model, örneğin attention’ı TensorRT EP’de, embedding lookup’ı CUDA EP’de, output post-processing’i CPU EP’de çalıştırabilir.
| Execution Provider | Donanım | Tipik Hız Artışı (CPU baseline) | Production GA | Use Case |
|---|---|---|---|---|
| CUDA EP | NVIDIA GPU | 22x | v0.5 | Veri merkezi |
| TensorRT EP | NVIDIA GPU (FP8/INT8) | 38x | v1.4 | High-throughput |
| OpenVINO EP | Intel CPU/GPU/NPU | 5.2x | v1.2 | Edge x86 |
| DirectML EP | Windows GPU (AMD/Intel/NVIDIA) | 14x | v1.5 | Windows app |
| CoreML EP | Apple Neural Engine | 11x | v1.7 | iOS/macOS |
| QNN EP | Qualcomm Hexagon NPU | 9.8x | v1.16 | Android mobil |
| ROCm EP | AMD MI300X | 19x | v1.18 | AMD veri merkezi |

Quantization ve Optimizasyon Karşılaştırma
ONNX Runtime üç ana quantization stratejisi sunar: dynamic quantization (en hızlı kurulum, ortalama %2.1 doğruluk kaybı, 2.4x hız), static quantization (calibration dataset ile, %0.6 kayıp, 3.8x hız), QAT (quantization-aware training, neredeyse sıfır kayıp, 3.5x hız). 2026 sürümde 4-bit weight quantization (INT4) da yayında — Llama 3.1 8B modelinde MMLU skor düşüşü %1.4, model boyutu 16GB’den 4.2GB’ye iniyor.
- FP32: Referans, hiç optimizasyon yok, en yüksek doğruluk
- FP16: NVIDIA Volta+ ve modern AMD GPU’larda 2x hızlanma, %0.1-0.3 kayıp
- INT8: CPU üzerinde 4x hızlanma, edge cihazlarda %1-2 doğruluk kaybı
- INT4 (block-wise): 8x model boyut düşüşü, LLM’lerde %1.4 ortalama kayıp
- FP8 (E4M3): H100/H200 üzerinde 2x throughput, %0.6 doğruluk kaybı
İlgili konu: FP8 quantization ile inference hızlandırma
Production Implementation Pattern ve Cross-Platform Deployment
Tipik bir kurumsal akış şöyle: model PyTorch’ta eğitilir → `torch.onnx.export` veya `optimum.exporters.onnx` ile ONNX’e dönüştürülür → ONNX Runtime Optimizer ile graph optimization (constant folding, operator fusion, layer normalization fusion) uygulanır → quantization (dynamic veya static) → her hedef platform için doğru EP seçilerek dağıtım. Microsoft Olive aracı bu pipeline’ı otomatize ediyor: target hardware spec’i verildiğinde best optimization configuration’ı önerip uyguluyor. 2026 sürümde Olive, AutoML benzeri bir search space ile 12 farklı optimization kombinasyonunu paralel test edip ROC eğrisi üretebiliyor.

Operasyon, İzleme ve Maliyet
ONNX Runtime production’da `onnxruntime.SessionOptions` ile thread pool, memory arena, log level kontrol edilir. Inter-op ve intra-op thread sayısı CPU çekirdek sayısına göre ayarlanmazsa context switching p99 latency’yi %42 artırabilir. IO Binding ile pre-allocated GPU buffer’lara veri yazılarak host-device transfer’lerin engellenmesi mümkün; bu pattern özellikle yüksek throughput senaryolarında %22 latency düşüşü sağlıyor. Memory arena ve graph optimization seviyeleri (BASIC, EXTENDED, ALL) inference süresine doğrudan etki eder; ALL seviyesinde fusion sayısı tipik bir BERT modelinde 84.
| Konfigürasyon | Model Boyut | p50 Latency | p99 Latency | Throughput | Bellek MB |
|---|---|---|---|---|---|
| BERT FP32 CPU | 440 MB | 84ms | 180ms | 120 q/s | 620 |
| BERT INT8 CPU | 110 MB | 22ms | 48ms | 460 q/s | 180 |
| BERT FP16 CUDA | 220 MB | 4.2ms | 11ms | 2860 q/s | 340 |
| BERT INT8 TRT | 110 MB | 1.8ms | 4.8ms | 6420 q/s | 220 |
| Llama3-8B FP16 | 16 GB | 52ms | 110ms | 1240 tok/s | 17800 |
| Llama3-8B INT4 | 4.2 GB | 38ms | 82ms | 1980 tok/s | 4800 |
Sektörel Use Case: Otomotiv ve Perakende Edge Inference
Bir Alman otomotiv tedarikçisinin fabrika kalite kontrol sistemi, 38 ayrı tezgahta Intel NUC üzerinde OpenVINO EP ile saniyede 240 ürünü inceliyor — defect detection modeli MobileNetV3 + EfficientDet kombinasyonu. Aynı model bulutta NVIDIA A100 üzerinde CUDA EP ile eğitim doğrulama aşamasında, mobil saha mühendisi tabletlerinde DirectML EP ile çalışıyor. Bir global perakende zincirinin self-checkout terminalleri ise Snapdragon 8 Gen 3 + QNN EP ile ürün tanıma yapıyor; cihaz başına saniyede 18 sorgu, batarya etkisi %4. Bu vakalarda ONNX Runtime’ın kritik değeri tek bir kod tabanı + farklı EP seçimi sayesinde sağlanan %92 geliştirme süresi tasarrufu.

Kurumsal ONNX Runtime Dönüşümünde Karşılaşılan Tipik Sorunlar
Danışmanlık projelerinde gözlemlenen tipik darboğazlar:
- PyTorch’tan ONNX’e dönüşümde custom operatör desteklenmediğinde export hatası
- Dynamic shape kullanılan modellerde TensorRT EP partition boundary’sinin yanlış kesilmesi ve %35 throughput kaybı
- Quantization sırasında calibration dataset distribution drift’i nedeniyle doğruluk düşüşünün %3’ü aşması
- Intra-op ve inter-op thread sayısı uyumsuz konfigüre edildiğinde CPU üzerinde context switching p99 patlatması
- IO Binding kullanılmadığında GPU-CPU transfer’lerin throughput’u yarıya düşürmesi
- Mobil cihazlarda QNN EP yerine CPU EP’ye düşüldüğünde batarya tüketiminin 3.8x artması
Sonuç
ONNX Runtime 2026 itibarıyla cross-platform ML inference dünyasının ortak dili: 2700+ operatör, 18 execution provider, 2 farklı quantization stratejisi ve Microsoft Olive aracıyla optimization automation. Kurumsal bir dağıtım planlanırken doğru sıra: önce model envanterini ONNX’e dönüştürün, ardından her hedef platform için en uygun EP’yi belirleyin, Olive ile optimization parametrelerini calibrate edin ve son olarak observability ile production’a alın. Danışmanlık projelerinde gördüğümüz tipik kazanç: 7 farklı stack yerine tek bir model artifact ile %92 dağıtım süresi tasarrufu ve %58 toplam altyapı maliyeti düşüşü.
Sıkça Sorulan Sorular
ONNX Runtime kaç execution provider destekliyor?
2026 v1.20 sürümünde 18 execution provider yayında: CUDA, TensorRT, OpenVINO, DirectML, CoreML, QNN, ROCm, MIGraphX, WebGPU, WebGL, XNNPACK, ArmNN, ACL, OneDNN, Vitis AI, RKNPU, ANE ve CPU.
Quantization sonrası ne kadar doğruluk kaybı oluşur?
INT8 static quantization ile tipik kayıp %0.6, dynamic quantization ile %2.1, INT4 block-wise ile Llama 3.1 8B’de MMLU üzerinde %1.4 kayıp gözlemleniyor.
ONNX modeli mobil cihazda nasıl çalıştırılır?
iOS için CoreML EP, Android için QNN veya NNAPI EP kullanılır; Llama 3.2 3B modeli Snapdragon 8 Gen 3 üzerinde QNN ile saniyede 22 token ve %38 daha düşük batarya tüketimi sağlıyor.
TensorRT EP ile CUDA EP arasındaki fark nedir?
TensorRT EP graph’i derleyip optimize edilmiş plan oluşturur, CUDA EP runtime graph yorumlar; TensorRT EP tipik olarak 38x CPU baseline hızlanma sunarken CUDA EP 22x sunar.
Microsoft Olive ne işe yarar?
Olive, hedef donanım özelliklerine göre 12 farklı optimization kombinasyonunu (quantization, fusion, pruning, distillation) paralel test edip ROC eğrisi üreterek en iyi konfigürasyonu otomatik öneren bir araçtır.
Resmi referanslar: ONNX Runtime dokümantasyonu, Microsoft ONNX Runtime GitHub, Microsoft Olive optimization framework, ONNX operator specifications. Tamamlayıcı içerikler: Edge LLM deployment karşılaştırma, Triton multi-model serving.










Ömer ÖNAL
Mayıs 23, 2026ONNX Runtime’a taşıdığımız müşterilerin tipik kazancı şaşırtıcı: 7 ayrı platform stack’i yerine tek model artifact ile %92 deployment süresi tasarrufu ve %58 toplam altyapı maliyeti düşüşü. Microsoft Olive ile hedef donanıma göre 12 farklı optimization kombinasyonunu paralel test ederek best configuration’ı bulmak artık deneme yanılma değil, otomatik bir süreç.