TensorRT
NVIDIA GPU'larda daha hızlı ve verimli çıkarım için TensorRT ile derin öğrenme modellerini optimize edin. YOLO ve yapay zeka uygulamalarıyla gerçek zamanlı performansa ulaşın.
TensorRT, NVIDIA'nın yüksek performanslı bir derin öğrenme çıkarım optimizasyon aracı ve çalışma zamanı kütüphanesidir. Özellikle, eğitilmiş sinir ağlarının (NN) NVIDIA Grafik İşleme Birimlerinde (GPU'lar) performansını en üst düzeye çıkarmak için tasarlanmıştır. Bir model PyTorch veya TensorFlow gibi bir framework 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, gerçek zamanlı çıkarım gerektiren uygulamalar için ideal hale getiren yüksek verimli bir çalışma zamanı motorudur.
TensorRT Nasıl Çalışır
TensorRT, standart bir eğitilmiş modeli aerodinamik bir çıkarım motoruna dönüştüren çok adımlı bir optimizasyon süreci yoluyla performans kazanımlarını elde eder. Bu süreç büyük ölçüde otomatiktir ve dağıtılacağı belirli NVIDIA GPU mimarisine göre uyarlanmıştır. Temel optimizasyon teknikleri şunları içerir:
- Graf Optimizasyonu: TensorRT, eğitilmiş modeli ayrıştırır ve kullanılmayan katmanları ortadan kaldırmak ve katmanları dikey olarak (sıralı katmanları birleştirmek) ve yatay olarak (paralel katmanları birleştirmek) birleştirmek gibi graf optimizasyonları gerçekleştirir. Bu, işlem sayısını ve bellek yükünü azaltır.
- Hassasiyet Kalibrasyonu: Karışık hassasiyet (FP16) ve INT8 gibi daha düşük hassasiyetli çıkarımı destekler. Model ağırlıklarını 32 bit kayan noktalı (FP32) sayılardan model kuantalama yoluyla daha düşük hassasiyetlere dönüştürerek, 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 yapılmasını 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, bu da geliştiricilerin bilgisayarlı görü (CV) uygulamaları için bu optimizasyonlardan yararlanmasını sağlar.
Gerçek Dünya Uygulamaları
TensorRT, zamana duyarlı ve kaynak kısıtlı ortamlarda yüksek performanslı yapay zekayı dağıtmak için çok önemlidir.
- Otonom Araçlar: Kendi kendine giden arabalarda, algılama sistemleri yayaları, diğer araçları ve engelleri tespit etmek için kameralardan ve sensörlerden gelen verileri gerçek zamanlı olarak işlemelidir. TensorRT ile optimize edilmiş Ultralytics YOLO11 gibi modeller, güvenli sürüş kararları almak için kritik öneme sahip olan son derece düşük gecikmeyle nesne tespiti gerçekleştirebilir.
- Akıllı Üretim: Bir fabrika zemininde, üretimde yapay zeka otomatik kalite kontrolü için kullanılır. Bir kamera, bir taşıma bandındaki ürünlerin görüntülerini yakalar ve bir görme modeli bunları kusurlar açısından analiz eder. TensorRT kullanılarak, bu sistemler yüksek hızlı üretim hatlarına ayak uydurabilir, sorunları anında tanımlayabilir ve genel verimliliği artırabilir.
TensorRT ve İlgili Teknolojiler Karşılaştırması
TensorRT güçlü bir çıkarım motoru olsa da, AI ekosistemindeki diğer araçlardan nasıl farklı olduğunu anlamak önemlidir:
- Derin Öğrenme Çatıları: PyTorch ve TensorFlow gibi çatılar öncelikle modelleri eğitmek içindir. Kendi çıkarım yeteneklerine sahip olsalar da, TensorRT gibi özel bir çalışma zamanı kadar dağıtım için optimize edilmemiştir.
- ONNX Çalışma Zamanı: Açık Sinir Ağı Değişimi (ONNX) biçimi, modelleri birlikte çalışabilir şekilde temsil etmenin bir yolunu 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. Amacı çıkarım hızlandırmak olsa da, farklı bir donanım ekosistemi için uyarlanmıştır.
TensorRT'nin temel avantajı, NVIDIA GPU'larından CUDA kütüphanelerine kadar NVIDIA ekosistemiyle derinlemesine entegre olmasıdır. Bu entegrasyon, genellikle MLPerf kıyaslamalarında görüldüğü gibi, NVIDIA platformlarında dağıtılan modeller için benzersiz bir performans sağlar. Model dağıtımını yönetmek, Ultralytics HUB gibi MLOps platformlarıyla daha da kolaylaştırılabilir.