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. Günümüzde Uç Yapay Zekâ için performans ipuçlarını incele.
Çı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 açısından yoğun süreçlerle örüntüleri öğrenmeye odaklanan eğitim aşamasının aksine, çıkarım motoru tamamen model dağıtımı olarak bilinen operasyonel aşama için optimize edilmiştir. Temel amacı, ister ölçeklenebilir bir bulut sunucusu ister pille çalışan bir Edge AI cihazı olsun, hedef donanımda hesaplamaları mümkün olduğunca verimli şekilde gerçekleştirmek, çıkarım gecikmesini en aza indirmek ve işlem hacmini en üst düzeye çıkarmaktır. Eğitim için gereken ek yükü ortadan kaldıran bu motorlar, karmaşık sinir ağlarının gerçek zamanlı uygulamalarda çalışmasını 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ı sadeleştirmek için çeşitli optimizasyon adımlarını içerir. Modelin artık öğrenmesi gerekmediğinden motor, gradyan güncellemeleri için gereken verileri atabilir ve model ağırlıklarını etkin şekilde sabitleyebilir. Çıkarım motorlarında 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 füzyonu ve ağırlıkları yüksek hassasiyetli kayan nokta biçimlerinden daha düşük hassasiyetli tamsayılara (ör. INT8) dönüştüren model niceleme yer alır.
Bu optimizasyonlar, Ultralytics YOLO26 gibi gelişmiş mimarilerin doğrulukta önemli bir kayıp olmadan inanılmaz yüksek hızlarda çalışmasını sağlar. Farklı motorlar, en yüksek performansı ortaya çıkarmak için genellikle belirli donanım ekosistemlerine göre uyarlanır:
- NVIDIA TensorRT: Donanıma özgü çekirdeklerden yararlanarak ve ağ grafiğini optimize ederek NVIDIA GPU'larında yüksek performanslı çıkarım sağlar.
- Intel OpenVINO: CPU'lar ve tümleşik grafikler dahil olmak üzere Intel mimarilerinde derin öğrenme performansını optimize eder ve bu nedenle uç bilişim için idealdir.
- ONNX Runtime: ONNX biçimindeki modelleri destekleyen, farklı framework'ler ve donanım arka uçları arasında köprü sağlayan platformlar arası bir hızlandırıcıdır.
Gerçek Dünya Uygulamaları#
Çıkarım motorları, birçok modern yapay zeka kolaylığının görünmez itici gücüdür ve bilgisayarlı görü sistemlerinin çevrelerine anında tepki vermesini sağlar.
-
Otonom Araçlar: Sürücüsüz otomobillerde nesne algılama modellerinin yayaları, trafik işaretlerini ve diğer araçları milisaniyeler içinde tanımlaması gerekir. Aracın donanımı üzerinde yerel olarak çalışan bir çıkarım motoru, bulut bağlantısına güvenmenin tehlikeli gecikmelere yol açacak olması nedeniyle bu işlemenin gerçek zamanlı çıkarım hızlarında gerçekleşmesini sağlar.
-
Akıllı Üretim: Fabrikalar, montaj hatlarındaki ürünleri denetlemek için endüstriyel IoT kameralarından yararlanır. Bir çıkarım motoru, anomali algılama gerçekleştirmek için video akışlarını işler ve kusurları anında işaretler. Bu otomasyon, üretimi yavaşlatmadan israfı azaltır ve sıkı kalite kontrolü sağlar.
Çıkarım Motoru ve Eğitim Framework'ü Karşılaştırması#
Modeli oluşturmak için kullanılan yazılımla modeli çalıştırmak için kullanılan motoru birbirinden ayırmak yararlıdır. Bir Eğitim Framework'ü (PyTorch veya TensorFlow gibi), mimarileri tasarlamak, kaybı hesaplamak ve parametreleri denetimli öğrenme yoluyla güncellemek için araçlar sağlar. Esnekliğe ve hata ayıklama olanaklarına öncelik verir.
Buna karşılık, Çıkarım Motoru, eğitim framework'ünden çıkan tamamlanmış yapıyı alır ve yürütme hızına ve bellek verimliliğine öncelik verir. Bir eğitim framework'ü içinde çıkarım çalıştırabilsen de, özellikle TensorFlow Lite veya Apple Core ML gibi araçlarla cep telefonlarına ya da gömülü cihazlara dağıtım yapılırken özel bir motor kullanmak kadar verimli olması nadirdir.
Ultralytics YOLO26 ile Çıkarım Motoru Kullanma#
ultralytics paketi, çıkarım motorlarının karmaşıklığının büyük bölümünü soyutlayarak kullanıcıların sorunsuz şekilde tahmin çalıştırmasını sağlar. Arka planda görüntülerin ön işlenmesini ve modelin yürütülmesini yönetir. Ölçeklendirme yapmak isteyen kullanıcılar için Ultralytics Platform, modellerin çeşitli çıkarım motorlarıyla uyumlu optimize edilmiş biçimlere eğitilmesi ve dışa aktarılması 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österir:
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()





