Sözlük

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ı ile gerçek zamanlı performans elde edin.

YOLO modellerini Ultralytics HUB ile basitçe
eğitin

Daha fazla bilgi edinin

TensorRT yüksek performanslı derin öğrenme çıkarımı için bir yazılım geliştirme kitidir (SDK). NVIDIA tarafından geliştirilmiştir ve özellikle NVIDIA GPU'larda olmak üzere üretim ortamlarında dağıtım için eğitilmiş sinir ağlarının optimizasyonunu kolaylaştırır. Eğitimli modelleri PyTorch veya TensorFlow gibi çerçevelerden almak ve bunları gerçek zamanlı uygulamalar için çok önemli olan daha hızlı ve daha verimli çıkarım için optimize etmek üzere tasarlanmıştır.

TensorRT nedir?

TensorRT esasen bir çıkarım iyileştirici ve çalışma zamanı motorudur. Eğitimli bir derin öğrenme modelini alır ve çıkarım aşamasında performansını artırmak için çeşitli optimizasyonlar uygular. Bu süreç grafik optimizasyonu, katman füzyonu, niceleme ve çekirdek otomatik ayarlama gibi teknikleri içerir. Modeli optimize ederek TensorRT gecikmeyi azaltır ve verimi artırır, böylece hızlı yanıt süreleri gerektiren uygulamalarda karmaşık yapay zeka modellerinin kullanılmasını mümkün kılar.

TensorRT bir eğitim çerçevesi değildir; daha ziyade, bir model aşağıdaki gibi çerçeveler kullanılarak eğitildikten sonra kullanılır PyTorch veya TensorFlow. Özellikle dağıtım aşamasına odaklanarak modellerin başta NVIDIA GPU'lar olmak üzere hedef donanım üzerinde mümkün olduğunca hızlı ve verimli bir şekilde çalışmasını sağlar. Bu, özellikle uç cihazlarda veya çıkarım hızının ve kaynak kullanımının kritik olduğu veri merkezlerinde çalışan uygulamalar için değerlidir.

TensorRT Nasıl Çalışır?

TensorRT adresindeki optimizasyon süreci, çıkarım performansını artırmak için birkaç temel adım içerir:

  • Grafik Optimizasyonu: TensorRT sinir ağı grafiğini analiz eder ve gereksiz işlemleri ortadan kaldırmak ve yürütme akışını kolaylaştırmak için yeniden yapılandırır. Bu, nihai çıktıya önemli ölçüde katkıda bulunmayan gereksiz katmanların veya işlemlerin kaldırılmasını içerebilir.
  • Katman Füzyonu: Birden fazla uyumlu katman, ek yükü azaltmak ve hesaplama verimliliğini artırmak için tek bir katmanda birleştirilir. Örneğin, ardışık konvolüsyon, bias ve ReLU katmanları genellikle tek bir işlemde birleştirilebilir.
  • Niceleme: TensorRT , modelin ağırlıklarının ve aktivasyonlarının hassasiyetini kayan noktadan (FP32 veya FP16) tamsayı formatlarına (INT8 veya daha düşük) indirgeyebilir. Bu, bellek bant genişliği gereksinimlerini azaltır ve özellikle tamsayı aritmetiği için optimize edilmiş donanımlarda hesaplamayı hızlandırır. Niceleme doğruluğu biraz azaltabilse de, TensorRT hızı önemli ölçüde artırırken bu etkiyi en aza indirmeyi amaçlamaktadır.
  • Kernel Auto-tuning: TensorRT , hedef GPU mimarisine dayalı olarak her katman işlemi için en verimli uygulamayı (kernel) seçer. Bu otomatik ayarlama süreci, modelin altta yatan donanım yeteneklerinden tam olarak yararlanmasını sağlar.

Bu optimizasyonlar toplu olarak, orijinal, optimize edilmemiş modelin çalıştırılmasına kıyasla çıkarım hızında ve verimliliğinde önemli iyileştirmeler sağlar.

Uygulamaları TensorRT

TensorRT gerçek zamanlı veya gerçek zamana yakın çıkarımın gerekli olduğu çeşitli uygulamalarda yaygın olarak kullanılmaktadır. İki somut örnek şunlardır:

  • Otonom Araçlar: Sürücüsüz araçlarda, hızlı nesne algılama ve sahneyi anlama, güvenlik ve yanıt verebilirlik için çok önemlidir. Ultralytics YOLOTensorRT ile optimize edildiğinde modeller, sensör verilerini gerçek zamanlı olarak işlemek için NVIDIA DRIVE platformlarında gerekli çıkarım hızlarına ulaşabilir, navigasyon ve engellerden kaçınma için hızlı karar verme sağlar.
  • Gerçek Zamanlı Video Analitiği: Güvenlik gözetimi veya trafik izleme gibi uygulamalar için TensorRT , nesne algılama, izleme ve analiz için yüksek çözünürlüklü video akışlarının minimum gecikmeyle işlenmesini sağlar. Bu, güvenlik alarm sistemlerinde izinsiz giriş tespiti veya akıllı şehirler için trafik akışı analizi gibi tespit edilen olaylara dayalı olarak anında uyarılara ve eylemlere olanak tanır.

TensorRT düşük gecikme ve yüksek verimin kritik olduğu tıbbi görüntü analizi, robotik ve bulut tabanlı çıkarım hizmetleri gibi diğer alanlarda da faydalıdır.

TensorRT ve Ultralytics YOLO

Ultralytics YOLO modelleri NVIDIA cihazlarına dağıtılmak üzere TensorRT kullanılarak dışa aktarılabilir ve optimize edilebilir. Ultralytics YOLO için dışa aktarma belgeleri, YOLO modellerinin TensorRT formatına nasıl dönüştürüleceğine ilişkin ayrıntılı talimatlar sağlar. Bu, kullanıcıların YOLO modellerinin çıkarım hızını önemli ölçüde hızlandırmak için TensorRT'un optimizasyon yeteneklerinden yararlanmasına olanak tanır.

YOLOv8 'u NVIDIA Jetson Edge cihazlarında kullanan kullanıcılar için TensorRT optimizasyonu, gerçek zamanlı performans elde etmek için genellikle çok önemli bir adımdır. Ayrıca, NVIDIA Jetson üzerindeki DeepStream, yüksek performanslı video analiz uygulamaları için TensorRT adresinden yararlanır.

Kullanmanın Faydaları TensorRT

TensorRT adresini kullanmak, derin öğrenme modellerini dağıtmak için birkaç önemli avantaj sağlar:

  • Artırılmış Çıkarım Hızı: Optimizasyonlar çıkarım gecikmesini önemli ölçüde azaltır ve verimi artırarak gerçek zamanlı performans sağlar.
  • Azaltılmış Gecikme: Otonom sistemler ve gerçek zamanlı analitik gibi anında yanıt gerektiren uygulamalar için daha düşük gecikme süresi kritik önem taşır.
  • Optimize Edilmiş Kaynak Kullanımı: Niceleme ve grafik optimizasyonu, bellek ayak izinin ve hesaplama taleplerinin azalmasını sağlayarak modellerin kaynak kısıtlı cihazlarda daha verimli çalışmasını sağlar.
  • Donanım Hızlandırma: TensorRT , NVIDIA GPU'larının kullanımını en üst düzeye çıkarmak için tasarlanmıştır ve NVIDIA donanımında optimum performans sağlar.
  • Dağıtım Hazırlığı: Üretime hazır bir çalışma zamanı ortamı sağlayarak eğitimli modelden uygulamaya dağıtım sürecini kolaylaştırır.

Özetle TensorRT , özellikle NVIDIA GPU'ları kullanırken yüksek performanslı derin öğrenme çıkarım uygulamaları dağıtmak isteyen geliştiriciler için hayati bir araçtır. Modelleri hız ve verimlilik için optimize eden TensorRT , araştırma ve gerçek dünya dağıtımı arasındaki boşluğu doldurmaya yardımcı olarak gelişmiş yapay zekayı çeşitli sektörlerde erişilebilir ve pratik hale getirir.

Tümünü okuyun