TensorRT
TensorRTを使用して深層学習モデルを最適化し、NVIDIA GPU上でより高速かつ効率的な推論を実現します。YOLOおよびAIアプリケーションでリアルタイムパフォーマンスを実現します。
TensorRTは、NVIDIAが提供する高性能な深層学習推論オプティマイザーおよびランタイムライブラリです。これは、NVIDIAのGPU(Graphics Processing Units)上で、学習済みのニューラルネットワーク(NN)のパフォーマンスを最大限に引き出すように特別に設計されています。PyTorchやTensorFlowなどのフレームワークを使用してモデルを学習した後、TensorRTはそのモデルを受け取り、デプロイメントに備えて多数の最適化を適用します。その結果、推論レイテンシを大幅に削減し、スループットを向上させることができる、非常に効率的なランタイムエンジンが実現し、リアルタイム推論を必要とするアプリケーションに最適です。
TensorRTの仕組み
TensorRTは、標準的なトレーニング済みモデルを合理化された推論エンジンに変換する多段階の最適化プロセスを通じて、パフォーマンスの向上を実現します。このプロセスはほぼ自動化されており、デプロイされる特定のNVIDIA GPUアーキテクチャに合わせて調整されています。主な最適化手法は次のとおりです。
- グラフ最適化: TensorRTは、トレーニング済みのモデルを解析し、未使用のレイヤーの削除、レイヤーの垂直方向(連続するレイヤーの結合)および水平方向(並列レイヤーの結合)の融合など、グラフの最適化を実行します。これにより、演算数とメモリオーバーヘッドが削減されます。
- 精度キャリブレーション: 混合精度(FP16)やINT8など、より低い精度での推論をサポートします。TensorRTは、モデル量子化によってモデルの重みを32ビット浮動小数点(FP32)からより低い精度に変換することで、精度への影響を最小限に抑えながら、メモリ使用量と計算要件を大幅に削減します。
- カーネル自動チューニング: TensorRTは、各オペレーション用に最適化されたGPUカーネルの膨大なライブラリから選択するか、ターゲットGPU用に特別に調整された独自のカーネルを作成します。これにより、すべての計算がハードウェア上で可能な限り効率的に実行されるようになります。
- テンソルメモリの最適化: モデルの実行全体でテンソルのメモリを再利用することにより、メモリ使用量を最適化し、メモリフットプリントを削減し、パフォーマンスを向上させます。
Ultralytics YOLOモデルは、TensorRT形式に簡単にエクスポートでき、開発者はこれらの最適化をコンピュータビジョン(CV)アプリケーションに活用できます。
実際のアプリケーション
TensorRTは、時間制約やリソース制約のある環境で高性能AIをデプロイする上で非常に重要です。
- 自動運転車:自動運転車では、歩行者、他の車両、障害物を検出するために、知覚システムがカメラやセンサーからのデータをリアルタイムで処理する必要があります。Ultralytics YOLO11のようなモデルは、TensorRTで最適化することで、極めて低い遅延で物体検出を実行でき、安全な運転判断を下すために不可欠です。
- スマートマニュファクチャリング: 工場フロアでは、製造業におけるAIが自動品質管理に使用されています。カメラはコンベヤーベルト上の製品の画像をキャプチャし、ビジョンモデルがそれらを分析して欠陥がないか確認します。TensorRTを使用することで、これらのシステムは高速生産ラインに対応し、問題を即座に特定し、全体的な効率を向上させることができます。
TensorRTと関連技術の比較
TensorRTは強力な推論エンジンですが、AIエコシステム内の他のツールとどのように異なるかを理解することが重要です。
- 深層学習フレームワーク: PyTorchやTensorFlowのようなフレームワークは、主にモデルのトレーニング用です。独自の推論機能はありますが、TensorRTのような特殊なランタイムほどデプロイメントに最適化されていません。
- ONNX Runtime: Open Neural Network Exchange(ONNX)形式は、モデルを相互運用可能な方法で表現する方法を提供します。ONNX Runtimeは、NVIDIA GPU(TensorRTを実行プロバイダーとして使用できる)を含む、さまざまなハードウェアプラットフォームでモデルを実行できます。ただし、TensorRTとの直接統合は、ハードウェア固有の最適化により、NVIDIAハードウェアでより優れたパフォーマンスを発揮することがよくあります。
- Intel OpenVINO: OpenVINOはTensorRTに似ていますが、Intelハードウェア(CPU、iGPU、VPU)用に最適化されています。推論を加速するという同じ目的を果たしますが、異なるハードウェアエコシステム向けに調整されています。
TensorRTの主な利点は、GPUからCUDAライブラリまで、NVIDIAのエコシステムとの深い統合にあり、MLPerfベンチマークでよく示されるように、NVIDIAプラットフォームにデプロイされたモデルに対して比類のないパフォーマンスを可能にします。モデルのデプロイメント管理は、Ultralytics HUBのようなMLOpsプラットフォームでさらに効率化できます。