TensorRT
TensorRTがNVIDIA GPU向けに深層学習モデルをどのように最適化するかを探ります。低レイテンシで高速な推論のために、Ultralytics YOLO26をTensorRTへエクスポートする方法を学びましょう。
TensorRTは、NVIDIAが開発した高性能なディープラーニング推論ソフトウェア開発キット(SDK)です。ディープラーニングアプリケーション向けに、低いinference latencyと高いスループットを実現し、デプロイ用のニューラルネットワークモデルを最適化するように設計されています。最適化コンパイラとして機能することで、TensorRTはPyTorchやTensorFlowなどの一般的なフレームワークからの学習済みネットワークを取り込み、NVIDIA GPUs上で効率的に実行できるように再構築します。この機能は、速度と効率が最優先される本番環境で複雑なAIモデルを実行するために不可欠です。
TensorRTによるモデル最適化の仕組み#
TensorRTの核心的な機能は、学習済みのニューラルネットワークを、ターゲットとなるハードウェア専用に調整された最適化済み「エンジン」に変換することです。これは、いくつかの高度な技術を通じて実現されます。
- レイヤー融合: オプティマイザは、neural networkの複数のレイヤーを単一のカーネルに統合し、メモリへのアクセスのオーバーヘッドを削減して実行速度を向上させます。
- 精度キャリブレーション: TensorRTは、mixed precision(FP16)や整数量子化(INT8)などの低精度モードをサポートしています。数値を表すために使用されるビット数を減らすことにより(多くの場合、精度の低下を最小限に抑えながら)、開発者は算術演算を大幅に加速し、メモリ使用量を削減できます。これはmodel quantizationの一形態です。
- カーネル自動チューニング: ソフトウェアは、使用されている特定のGPUアーキテクチャに最適なデータレイヤーとアルゴリズムを自動的に選択し、CUDAを介してハードウェアの並列処理能力の最大活用を保証します。
実社会での応用#
最小限の遅延で膨大なデータを処理する能力があるため、TensorRTは、タイミングが重要なcomputer visionや複雑なAIタスクに依存する業界で広く採用されています。
-
自動運転システム: AI in automotiveの領域では、自動運転車は複数のカメラからの映像フィードを処理して、歩行者、標識、障害物を瞬時に検出する必要があります。TensorRTを使用することで、object detectionネットワークなどの知覚モデルは数ミリ秒でフレームを分析でき、車両の制御システムが遅延なしに安全に関わる重要な決定を下すことができます。
-
産業用自動化: 近代的な工場では、外観検査のためにAI in manufacturingが活用されています。高速カメラが生産ライン上の製品の画像を撮影し、TensorRTで最適化されたモデルがリアルタイムで欠陥や異常を識別します。これにより、品質管理が高速な生産環境に追従できるようになり、多くの場合、工場内のプラットフォームに直接edge AIデバイス(NVIDIA Jetsonプラットフォームなど)がデプロイされます。
Ultralytics YOLOでのTensorRTの使用#
TensorRTをワークフローに統合するのは、最新のAIツールを使用すれば簡単です。ultralyticsパッケージは、標準のPyTorchモデルをTensorRTエンジンに変換するためのシームレスな方法を提供します。これにより、ユーザーはUltralytics YOLO26の最先端のアーキテクチャをNVIDIA GPUのハードウェアアクセラレーションを活用して利用できるようになります。エクスポートの前にデータセットやトレーニングパイプラインを管理したいチームのために、Ultralytics Platformはこのような高性能なデプロイに向けてモデルを準備するための包括的な環境を提供します。
次の例は、Ultralytics YOLO26 モデルを TensorRT エンジンファイル(.engine)にエクスポートし、リアルタイム推論で使用する方法を示しています:
from ultralytics import YOLO
# Load the latest stable YOLO26 model (nano size)
model = YOLO("yolo26n.pt")
# Export the model to TensorRT format (creates 'yolo26n.engine')
# This step optimizes the computational graph for your specific GPU
model.export(format="engine")
# Load the optimized TensorRT engine for high-speed inference
trt_model = YOLO("yolo26n.engine")
# Run inference on an image source
results = trt_model("https://ultralytics.com/images/bus.jpg")TensorRT vs. ONNX vs. 学習フレームワーク#
model deploymentの分野でよく耳にする他の用語とTensorRTを区別することが重要です。
- PyTorch/TensorFlowとの比較: PyTorchのようなフレームワークは主にモデルの学習と研究用に設計されており、柔軟性とデバッグの容易さを提供します。TensorRTは、学習済みモデルを可能な限り高速に実行することだけを目的とした推論エンジンです。学習には使用されません。
- VS. ONNX: ONNX(Open Neural Network Exchange)形式は、フレームワーク間の中間ブリッジとして機能します。ONNXは相互運用性を提供しますが(例:モデルをPyTorchから別のプラットフォームに移動するなど)、TensorRTはハードウェア固有の最適化に焦点を当てています。多くの場合、モデルは最初にONNXに変換され、その後TensorRTによって解析されて最終的なエンジンが生成されます。
AI agentsやビジョンシステムのパフォーマンスを最大化することを目指す開発者にとって、トレーニングフレームワークからTensorRTのような最適化されたランタイムへの移行を理解することは、プロフェッショナルなMLOpsにおける重要なステップです。






