TensorRT
NVIDIA GPU'larda daha hızlı ve verimli çıkarım için derin öğrenme modellerini TensorRT ile optimize edin. YOLO ve yapay zeka uygulamalarıyla gerçek zamanlı performans elde edin.
TensorRT, NVIDIA'nın yüksek performanslı bir derin öğrenme çıkarım iyileştiricisi ve çalışma zamanı kitaplığıdır. NVIDIA Grafik İşlem Birimlerinde (GPU'lar) eğitilmiş sinir ağlarının (NN ) performansını en üst düzeye çıkarmak için özel olarak tasarlanmıştır. Bir model PyTorch veya TensorFlow gibi bir çerçeve kullanılarak eğitildikten sonra TensorRT bu modeli alır ve dağıtıma hazırlamak için çok sayıda optimizasyon uygular. Sonuç, çıkarım gecikmesini önemli ölçüde azaltabilen ve verimi artırabilen son derece verimli bir çalışma zamanı motorudur, bu da onu gerçek zamanlı çıkarım gerektiren uygulamalar için ideal hale getirir.
TensorRT Nasıl Çalışır?
TensorRT performans kazanımlarını, standart eğitimli bir modeli modern bir çıkarım motoruna dönüştüren çok adımlı bir optimizasyon süreciyle elde eder. Bu süreç büyük ölçüde otomatikleştirilmiştir ve üzerinde kullanılacağı belirli NVIDIA GPU mimarisine göre uyarlanmıştır. Temel optimizasyon teknikleri şunları içerir:
- Grafik Optimizasyonu: TensorRT, eğitilmiş modeli ayrıştırır ve kullanılmayan katmanları ortadan kaldırmak ve katmanları dikey (sıralı katmanları birleştirmek) ve yatay olarak (paralel katmanları birleştirmek) birleştirmek gibi grafik optimizasyonları gerçekleştirir. Bu, işlem sayısını ve bellek yükünü azaltır.
- Hassas Kalibrasyon: Karışık hassasiyet (FP16) ve INT8 gibi daha düşük hassasiyetli çıkarımları destekler. Model ağırlıklarını 32 bit kayan noktadan (FP32) model niceleme yoluyla daha düşük hassasiyetlere dönüştüren TensorRT, doğruluk üzerinde minimum etkiyle bellek kullanımını ve hesaplama gereksinimlerini önemli ölçüde azaltır.
- Çekirdek Otomatik Ayarlama: TensorRT, her işlem için optimize edilmiş GPU çekirdeklerinden oluşan geniş bir kütüphaneden seçim yapar veya hedef GPU için özel olarak ayarlanmış kendi çekirdeklerini oluşturur. Bu, her hesaplamanın donanım üzerinde mümkün olduğunca verimli bir şekilde gerçekleştirilmesini sağlar.
- Tensör Bellek Optimizasyonu: Modelin yürütülmesi boyunca tensörler için belleği yeniden kullanarak bellek kullanımını optimize eder, bellek ayak izini azaltır ve performansı artırır.
Ultralytics YOLO modelleri kolayca TensorRT formatına aktarılabilir ve geliştiricilerin bilgisayarla görme (CV) uygulamaları için bu optimizasyonlardan yararlanmalarına olanak tanır.
Gerçek Dünya Uygulamaları
TensorRT, zamana duyarlı ve kaynakların kısıtlı olduğu ortamlarda yüksek performanslı yapay zekayı dağıtmak için çok önemlidir.
- Otonom Araçlar: Sürücüsüz araçlarda, algılama sistemleri yayaları, diğer araçları ve engelleri tespit etmek için kamera ve sensörlerden gelen verileri gerçek zamanlı olarak işlemelidir. TensorRT ile optimize edilmiş Ultralytics YOLO11 gibi modeller, güvenli sürüş kararları vermek için kritik öneme sahip olan nesne algıl amayı son derece düşük gecikmeyle gerçekleştirebilir.
- Akıllı Üretim: Bir fabrika katında, üretimde yapay zeka otomatik kalite kontrolü için kullanılır. Bir kamera konveyör bant üzerindeki ürünlerin görüntülerini yakalar ve bir görüntü modeli bunları kusurlara karşı analiz eder. Bu sistemler TensorRT kullanarak yüksek hızlı üretim hatlarına ayak uydurabilir, sorunları anında tespit edebilir ve genel verimliliği artırabilir.
TensorRT ve İlgili Teknolojiler
TensorRT güçlü bir çıkarım motoru olsa da, yapay zeka ekosistemindeki diğer araçlardan ne kadar farklı olduğunu anlamak önemlidir:
- Derin Öğrenme Çerçeveleri: PyTorch ve TensorFlow gibi çerçeveler öncelikle modelleri eğitmek içindir. Kendi çıkarım yeteneklerine sahip olsalar da, dağıtım için TensorRT gibi özel bir çalışma zamanı kadar optimize edilmemişlerdir.
- ONNX Çalışma Zamanı: Open Neural Network Exchange (ONNX) formatı, modelleri birlikte çalışabilir şekilde temsil etmek için bir yol sağlar. ONNX Çalışma Zamanı, NVIDIA GPU'ları (TensorRT'yi bir yürütme sağlayıcısı olarak kullanabileceği) dahil olmak üzere çeşitli donanım platformlarında modelleri yürütebilir. Bununla birlikte, TensorRT ile doğrudan entegrasyon, donanıma özgü optimizasyonları nedeniyle NVIDIA donanımında genellikle daha iyi performans sağlar.
- Intel OpenVINO: OpenVINO, TensorRT'ye benzer ancak Intel donanımı (CPU'lar, iGPU'lar, VPU'lar) için optimize edilmiştir. Çıkarsamayı hızlandırmak için aynı amaca hizmet eder, ancak farklı bir donanım ekosistemi için uyarlanmıştır.
TensorRT'nin ana avantajı, GPU'lardan CUDA kitaplıklarına kadar NVIDIA ekosistemiyle derin entegrasyonudur ve MLPerf kıyaslamalarında sıklıkla gösterildiği gibi NVIDIA platformlarında dağıtılan modeller için benzersiz performans sağlar. Ultralytics HUB gibi MLOps platformları ile model dağıtımını yönetmek daha da kolaylaştırılabilir.