Inference Engine
Bir çıkarım motorunun, Ultralytics YOLO26 gibi makine öğrenimi modellerini gerçek zamanlı dağıtım için nasıl optimize ettiğini keşfet. Uç yapay zeka için performans ipuçlarını bugün öğren.
Bir çıkarım motoru, eğitilmiş makine öğrenimi modellerini çalıştırmak ve yeni verilerden tahminler üretmek için tasarlanmış özel bir yazılım bileşenidir. geri yayılım gibi hesaplama yoğunluklu süreçler yoluyla kalıpları öğrenmeye odaklanan eğitim aşamasının aksine, bir çıkarım motoru kesinlikle model dağıtımı olarak bilinen operasyonel aşama için optimize edilmiştir. Birincil amacı, ölçeklenebilir bir bulut sunucusu veya pille çalışan bir Edge AI cihazı olsun, hedef donanımda çıkarım gecikmesini en aza indirerek ve verimliliği en üst düzeye çıkararak hesaplamaları olabildiğince verimli bir şekilde çalıştırmaktır. Bu motorlar, eğitim için gereken ek yükü ortadan kaldırarak karmaşık sinir ağlarının gerçek zamanlı uygulamalarda işlev görmesini sağlar.
Çıkarım Motorları Performansı Nasıl Optimize Eder?#
Bir eğitim ortamından çıkarım motoruna geçiş, genellikle modelin yapısını kolaylaştırmak için birkaç optimizasyon adımı içerir. Modelin artık öğrenmesi gerekmediğinden, motor gradyan güncellemeleri için gereken verileri atabilir ve model ağırlıklarını etkili bir şekilde dondurabilir. Çıkarım motorları tarafından kullanılan yaygın teknikler arasında, bellek erişimini azaltmak için birden fazla işlemin tek bir adımda birleştirildiği katman birleştirme ve ağırlıkları yüksek hassasiyetli kayan noktalı formatlardan daha düşük hassasiyetli tamsayılara (örn. INT8) dönüştüren model niceleme yer alır.
Bu optimizasyonlar, Ultralytics YOLO26 gibi gelişmiş mimarilerin doğrulukta önemli bir kayıp yaşamadan inanılmaz yüksek hızlarda çalışmasına olanak tanır. Farklı motorlar genellikle maksimum performans elde etmek için belirli donanım ekosistemlerine göre uyarlanmıştır:
- NVIDIA TensorRT: Donanıma özgü çekirdekleri kullanarak ve ağ grafiğini optimize ederek NVIDIA GPU'larında yüksek performanslı çıkarım sunar.
- Intel OpenVINO: Kenar bilişim için ideal hale getirecek şekilde CPU'lar ve tümleşik grafikler dahil olmak üzere Intel mimarilerinde derin öğrenme performansını optimize eder.
- ONNX Runtime: ONNX formatındaki modelleri destekleyen, farklı çerçeveler ve donanım arka uçları arasında bir köprü sağlayan platformlar arası bir hızlandırıcıdır.
Gerçek Dünya Uygulamaları#
Çıkarım motorları, bilgisayarlı görü sistemlerinin çevrelerine anında tepki vermesini sağlayarak birçok modern yapay zeka kolaylığının arkasındaki sessiz sürücülerdir.
-
Otonom Araçlar: Otonom araçlarda nesne algılama modelleri yayaları, trafik işaretlerini ve diğer araçları milisaniyeler içinde tanımlamak zorundadır. Arabanın donanımında yerel olarak çalışan bir çıkarım motoru, bir bulut bağlantısına güvenmek tehlikeli gecikmelere yol açacağından bu işlemin gerçek zamanlı çıkarım hızlarıyla gerçekleşmesini sağlar.
-
Akıllı Üretim: Fabrikalar, montaj hatlarındaki ürünleri incelemek için endüstriyel IoT kameraları kullanır. Bir çıkarım motoru, kusurları anında işaretleyerek anomali tespiti gerçekleştirmek için video akışlarını işler. Bu otomasyon, üretimi yavaşlatmadan israfı azaltır ve sıkı kalite kontrolü sağlar.
Çıkarım Motoru ve Eğitim Çerçevesi Karşılaştırması#
Modeli oluşturmak için kullanılan yazılım ile onu çalıştırmak için kullanılan motor arasında ayrım yapmak faydalıdır. Bir Eğitim Çerçevesi (PyTorch veya TensorFlow gibi), mimari tasarlamak, kaybı hesaplamak ve denetimli öğrenme yoluyla parametreleri güncellemek için araçlar sağlar. Esnekliğe ve hata ayıklama yeteneklerine öncelik verir.
Buna karşılık, Çıkarım Motoru eğitim çerçevesinden bitmiş yapıtı alır ve yürütme hızı ile bellek verimliliğine öncelik verir. Bir eğitim çerçevesi içinde çıkarım çalıştırabilseniz de, özellikle TensorFlow Lite veya Apple Core ML gibi araçlar aracılığıyla cep telefonlarına veya gömülü cihazlara dağıtım için özel bir motor kullanmak kadar asla verimli değildir.
Ultralytics YOLO26 İle Bir Çıkarım Motoru Kullanma#
ultralytics paketi, çıkarım motorlarının karmaşıklığının büyük kısmını soyutlayarak kullanıcıların sorunsuz bir şekilde tahminler çalıştırmasına olanak tanır. Kaputun altında, görüntülerin ön işlemesini ve modelin yürütülmesini yönetir. Ölçeklendirmek isteyen kullanıcılar için Ultralytics Platform, modelleri eğitme ve çeşitli çıkarım motorlarıyla uyumlu optimize edilmiş formatlara dışarı aktarma sürecini basitleştirir.
Aşağıdaki örnek, önceden eğitilmiş bir YOLO26 modelinin nasıl yükleneceğini ve bir görüntü üzerinde çıkarımın nasıl çalıştırılacağını göstermektedir:
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Run inference on an image from a URL
# The 'predict' method acts as the interface to the inference process
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()





