Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Çıkarım Motoru

Çıkarım motorlarının gerçek zamanlı tahminler sunarak, modelleri optimize ederek ve çapraz platform dağıtımını mümkün kılarak yapay zekayı nasıl desteklediğini keşfedin.

Çıkarım motoru, eğitimli çıkarımları yürütmek için tasarlanmış özel bir yazılım bileşenidir. makine öğrenimi modelleri ve yeni verilerden tahminler. Büyük veri kümelerinden örüntü öğrenmeye odaklanan eğitim çerçevelerinin aksine, bir olarak bilinen operasyonel aşama için optimize edilmiştir. model dağıtımı. Öncelikli hedefi, bunları çalıştırmaktır modelleri mümkün olduğunca verimli bir şekilde çıkarım gecikmesi ve iş hacminin en üst düzeye çıkarılması İster güçlü bir bulut sunucusu isterse kaynakları kısıtlı bir sunucu olsun, hedef donanım uç yapay zeka cihazı.

Çıkarım Motoru Nasıl Çalışır?

Eğitilmiş bir modelden dağıtıma hazır bir uygulamaya geçiş, tipik olarak bir çıkarım motorunun şu şekilde hareket etmesini içerir çalışma zamanı ortamı. Bir model aşağıdaki gibi bir çerçevede eğitildikten sonra PyTorch veya TensorFlowgenellikle ağırdır ve veri içerir yapılar öğrenme için yararlı ancak tahmin için gereksizdir. Bir çıkarım motoru bu ek yükü ortadan kaldırır ve hesaplama grafiğine titiz optimizasyonlar uygular.

Temel optimizasyon teknikleri şunlardır:

  • Katman Füzyonu: Motor birden fazla katmanı birleştirir (örn. konvolüsyon, toplu normalleştirme ve aktivasyon) tek bir işlem haline getirir. Bu, bellek erişimini azaltır ve yürütmeyi hızlandırır.
  • Hassas Azaltma: İçinden model niceleme, motor dönüştürür yüksek hassasiyetli 32 bit kayan nokta formatından (FP32) INT8 veya FP16 gibi daha düşük hassasiyetli formatlara ağırlık verir. Bu önemli ölçüde ödün vermeden model boyutunu ve bellek bant genişliği kullanımını büyük ölçüde azaltır doğruluk.
  • Kernel Auto-Tuning: Motorlar gibi NVIDIA TensorRT otomatik olarak en verimli olanı seçer için algoritmalar ve donanım çekirdekleri GPU kullanılıyor.
  • Bellek Yönetimi: Verimli bellek yeniden kullanım stratejileri, bellek ayırma ve yeniden kullanma ek yükünü en aza indirir. için kritik olan çalışma zamanı sırasında bellek ayırma gerçek zamanlı çıkarım.

Ortak Çıkarım Motorları

Farklı motorlar, belirli donanım ekosistemlerine ve performans hedeflerine göre uyarlanmıştır:

  • NVIDIA TensorRT: NVIDIA GPU'lar için yüksek performanslı bir derin öğrenme çıkarım iyileştiricisi ve çalışma zamanı. Veri merkezlerinde ve otomotiv uygulamalarında yaygın olarak kullanılmaktadır. Kolayca yapabilirsiniz Ultralytics modellerini maksimum için TensorRT'ye aktarma Hız.
  • Intel OpenVINO Açık Görsel Çıkarım ve Sinir Ağı Optimizasyonu araç seti, aşağıdakiler dahil olmak üzere Intel donanımı için modelleri optimize eder CPU 'lar ve entegre GPU'lar. "Bir kez yaz, Intel ekosistemi içinde her yere dağıtın" yaklaşımı.
  • ONNX Çalışma Zamanı: Microsoft tarafından geliştirilen çapraz platform motoru ONNX biçimi. Modellere izin verir çeşitli donanım arka uçlarında verimli bir şekilde çalışmak için tek bir çerçevede eğitilmiştir.
  • TensorFlow Lite: Mobil ve IoT cihazları için tasarlanmıştır, TensorFlow Lite Android, iOS'ta düşük gecikmeli çıkarım sağlar gömülü sistemler.

Gerçek Dünya Uygulamaları

Çıkarım motorları, modern yapay zeka uygulamalarının görünmez backbone ve dünyaya anında tepki vermelerini sağlar.

  1. Otonom Sürüş: Otomotiv endüstrisinde, araçlar yön bulmak için bilgisayar görüşüne güvenir güvenli bir şekilde. Aracın yerleşik bilgisayarında çalışan bir çıkarım motoru, video akışlarını işleyerek yayalar için nesne algılama, diğer araçlar ve trafik işaretleri. Aşağıdaki gibi bir model kullanarak YOLO11, motor bu tahminlerin milisaniyeler içinde gerçekleşmesini sağlayarak aracın gerçek zamanlı olarak otonom bir şekilde fren yapmasına veya yön değiştirmesine olanak tanır Zaman.
  2. Akıllı Üretim: Üretim hatlarında otomatik kalite kontrolü için çıkarım motorları kullanılır. Yüksek hızlı kameralar bir konveyör bant üzerindeki ürünlerin görüntülerini yakalar ve bir çıkarım motoru bu görüntüleri işleyerek çatlaklar veya yanlış hizalamalar gibi kusurları detect eder. Bu yüksek verimli sistem, kusurlu ürünlerin gönderilmesini önler ve manuel denetim maliyetlerini azaltır.

Çıkarım Motoru ve Eğitim Çerçevesi

Modelleri oluşturmak için kullanılan araçlar ile bunları çalıştırmak için kullanılan araçları birbirinden ayırmak önemlidir.

  • Eğitim Çerçeveleri (örn. PyTorch, Keras): Bunlar esneklik ve deneyler için tasarlanmıştır. Öğrenme için gerekli olan geriye yayılımı, gradyan güncellemelerini ve dinamik grafikleri desteklerler ancak hesaplama açısından pahalı.
  • Çıkarım Motorları (örn. TensorRT, ONNX Runtime): Bunlar hız ve verimlilik için tasarlanmıştır. Onlar modeli mümkün olduğunca hızlı yürütülmesi gereken statik bir işlem kümesi olarak ele alır. Genellikle şunları desteklemezler eğitim veya yeni kalıplar öğrenme.

Çıkarım için Dışa Aktarma

Belirli bir çıkarım motorunu kullanmak için genellikle şunları yapmanız gerekir Eğitilmiş modelinizi uyumlu bir formata aktarın. İçin Örneğin, bir YOLO11 modelinin ONNX formatına aktarılması, ONNX Runtime tarafından çalıştırılmasına veya diğer motorlara aktarılmasına olanak tanır.

from ultralytics import YOLO

# Load a trained YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to ONNX format for use with ONNX Runtime
# This creates 'yolo11n.onnx' optimized for inference
model.export(format="onnx")

Geliştiriciler, bir çıkarım motorundan yararlanarak yapay zeka modellerinin tüm potansiyelini ortaya çıkarabilir ve bu modellerin çalışmasını sağlayabilir Bulut kümelerinden pille çalışan uç cihazlara kadar çeşitli üretim ortamlarında sorunsuz bir şekilde.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın