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ı bir Derin Öğrenme (DL) çıkarım optimize edici ve çalışma zamanı kütüphanesidir. NVIDIA. NVIDIA GPU'larda çalışan derin öğrenme uygulamaları için çıkarım verimini en üst düzeye çıkarmak ve çıkarım gecikmesini en aza indirmek için özel olarak tasarlanmıştır. TensorRT , çeşitli çerçevelerden eğitimli sinir ağı modellerini alır ve dağıtım için son derece optimize edilmiş bir çalışma zamanı motoru oluşturmak üzere çok sayıda optimizasyon uygular. Bu süreç, özellikle hız ve yanıt verme hızının kritik olduğu üretim ortamlarında modelleri verimli bir şekilde dağıtmak için çok önemlidir.

Temel Özellikler ve Optimizasyonlar

TensorRT , çeşitli sofistike teknikler sayesinde önemli performans iyileştirmeleri elde eder:

  • Hassasiyet Kalibrasyonu: Doğrulukta minimum kayıpla model hassasiyetini FP32 'den FP16 veya INT8 gibi daha düşük hassasiyetlere(karışık hassasiyet veya model niceleme) düşürerek daha hızlı hesaplama ve daha düşük bellek kullanımı sağlar.
  • Katman ve Tensor Füzyonu: Birden fazla katmanı veya işlemi tek bir çekirdekte birleştirerek(Katman Füzyonu) bellek bant genişliği kullanımını ve çekirdek başlatma ek yükünü azaltır.
  • Çekirdek Otomatik Ayarlama: Hedef için önceden uygulanmış en iyi algoritmaları (çekirdekleri) seçer NVIDIA GPU mimarisi, belirli bir donanım için optimum performans sağlar.
  • Dinamik Tensor Belleği: Ömürleri çakışmayan tensörler için ayrılan belleği yeniden kullanarak bellek ayak izini en aza indirir.
  • Çoklu Akış Yürütme: Birden fazla giriş akışının paralel olarak işlenmesini sağlar.

TensorRT Nasıl Çalışır?

İş akışı tipik olarak eğitilmiş bir modelin alınmasını içerir (örn. PyTorch veya TensorFlowgibi bir ara format aracılığıyla ONNX) ve TensorRT iyileştiricisine besler. TensorRT modeli ayrıştırır, belirtilen hassasiyete ve hedef GPU'ya göre grafik optimizasyonları ve hedefe özgü optimizasyonlar gerçekleştirir ve son olarak TensorRT motoru olarak bilinen optimize edilmiş bir çıkarım planı oluşturur. Bu motor dosyası daha sonra hızlı çıkarım için dağıtılabilir.

Yapay Zeka ve Makine Öğreniminde Uygunluk

TensorRT , makine öğrenimi yaşam döngüsünün model dağıtım aşaması için oldukça önemlidir. Çıkarsamayı önemli ölçüde hızlandırma yeteneği, gerçek zamanlı çıkarım gerektiren uygulamalar için vazgeçilmez kılar, örneğin aşağıdaki gibi modellerle nesne algılama Ultralytics YOLO, görüntü segmentasyonu ve doğal dil işleme. gibi araçların yanı sıra NVIDIA yazılım yığınının önemli bir bileşenidir. CUDAgeliştiricilerin güçlü veri merkezi GPU 'larından Edge AI için enerji tasarruflu NVIDIA Jetson modüllerine kadar NVIDIA donanımının tüm potansiyelinden yararlanmasını sağlar. Ultralytics , sorunsuz entegrasyon sağlayarak kullanıcıların YOLO modellerini, genellikle Triton Çıkarım Sunucusu gibi platformlarla kullanılan optimize edilmiş dağıtım için TensorRT formatına aktar masına olanak tanır.

Gerçek Dünya Uygulamaları

TensorRT , hızlı ve verimli yapay zeka çıkarımına ihtiyaç duyulan çeşitli sektörlerde yaygın olarak kullanılmaktadır:

  1. Otonom Araçlar: Sürücüsüz araçlarda(Otomotivde Yapay Zeka) TensorRT , gömülü NVIDIA DRIVE platformlarında çalışan algılama modellerini (nesne algılama ve şerit segmentasyonu gibi) optimize ederek güvenlik için çok önemli olan gerçek zamanlı karar verme sürecini sağlar. RTDETR gibi modeller, bu tür sistemlerde kullanılmak üzere TensorRT kullanılarak optimize edilebilir(RTDETRv2 vs YOLOv5 Karşılaştırması).
  2. Tıbbi Görüntü Analizi: Hastaneler ve araştırma kurumları, tümör tespiti veya anomali tanımlama(Sağlık Hizmetlerinde Yapay Zeka) gibi görevler için tıbbi taramaları (CT, MRI) analiz eden yapay zeka modellerinin çıkarımını hızlandırmak, daha hızlı teşhis sağlamak ve klinik iş akışlarını desteklemek için TensorRT 'yi kullanır. Bu genellikle daha büyük Bilgisayarla Görme (CV) sistemlerinin bir parçasıdır.

TensorRT ve İlgili Teknolojiler

TensorRT özellikle NVIDIA GPU'lar için çıkarım optimizasyonuna odaklanırken ekosistemde başka araçlar da mevcuttur:

  • Derin Öğrenme Çerçeveleri (PyTorch, TensorFlow): Bunlar öncelikle modelleri eğitmek için kullanılır, ancak temel çıkarım yetenekleri de sunar. TensorRT , dağıtım için bu çerçevelerde eğitilen modelleri optimize eder.
  • ONNX Çalışma Zamanı: NVIDIA GPU'ları (genellikle TensorRT 'yi yürütme sağlayıcısı olarak kullanır), CPU'lar ve diğerleri dahil olmak üzere birden fazla donanım hızlandırıcısını destekleyen platformlar arası bir çıkarım motoru. Daha geniş donanım uyumluluğu sunar ancak NVIDIA donanımında doğrudan TensorRT ile aynı optimizasyon seviyesine ulaşamayabilir.
  • Intel OpenVINO: TensorRT 'ye benzer ancak Intel donanımı (CPU'lar, iGPU'lar, VPU'lar) için optimize edilmiştir. Ultralytics modelleri OpenVINO formatına da aktarılabilir.

TensorRT'nin temel farklılığı, NVIDIA donanımı ile derin entegrasyonu ve GPU'lar için uyarlanmış agresif optimizasyon stratejileridir ve genellikle daha genel amaçlı çalışma zamanlarına kıyasla NVIDIA platformlarında en yüksek performans kıyaslamalarını (bkz. MLPerf Benchmarks) sağlar. Ultralytics HUB gibi platformlar kullanılarak modellerin ve dağıtımların yönetilmesi kolaylaştırılabilir.

Tümünü okuyun