Inference Engine

Türkçe karşılığı: Çıkarım motoruAlan: Makine Öğrenmesi Sistemleri

Eğitilmiş model grafiğini hedef donanım üzerinde çalıştıran; kernel seçimi, bellek planlama, graph optimizasyonu ve batching gibi yürütme kararlarını yöneten runtime.

Model ile Runtime Arasındaki Ayrım

Model dosyası ağın yapısını ve parametrelerini tanımlayabilir; inference engine ise bu yapının gerçek CPU, GPU veya başka bir hızlandırıcı üzerinde nasıl yürütüleceğini belirler. Bu nedenle ONNX gibi bir model değişim biçimi ile inference engine aynı şey değildir.

Yürütme Optimizasyonları

Engine; operator fusion, constant folding, kernel seçimi, tensor bellek planlama, quantized execution, batching ve device placement gibi işlemler uygulayabilir. Aynı model bu kararlar nedeniyle farklı runtime'larda farklı latency, throughput ve bellek kullanımı gösterebilir.

Numerik davranış da precision ve kernel gerçeklemelerine göre küçük farklılıklar gösterebilir. Bir modelin format olarak yüklenebilmesi, çıktılarının başka engine ile bit düzeyinde aynı olacağını garanti etmez.

Üretim Perspektifi

Engine benchmark'ı uçtan uca sistem latency'si değildir. Preprocessing, veri transferi, queueing ve post-processing ayrıca ölçülmelidir.

İlgili Kavramlar