TensorRT
TensorRTがNVIDIA GPU向けに深層学習モデルをどのように最適化するかを探ります。低レイテンシで高速な推論のために、Ultralytics YOLO26をTensorRTへエクスポートする方法を学びましょう。
TensorRTは、NVIDIAが開発した高性能なディープラーニング推論ソフトウェア開発キット(SDK)です。ニューラルネットワークモデルをデプロイメント用に最適化し、ディープラーニングアプリケーションにおいて低い推論レイテンシと高いスループットを実現するように設計されています。最適化コンパイラとして機能するTensorRTは、PyTorchやTensorFlowといった一般的なフレームワークで学習済みのネットワークを取り込み、NVIDIA GPU上で効率的に実行できるよう再構築します。この能力は、速度と効率が最優先される本番環境で複雑なAIモデルを実行するために不可欠です。
Link to this sectionTensorRTによるモデル最適化の仕組み#
TensorRTの核心的な機能は、学習済みのニューラルネットワークを、ターゲットとなるハードウェア専用に調整された最適化済み「エンジン」に変換することです。これは、いくつかの高度な技術を通じて実現されます。
- レイヤー融合: オプティマイザがニューラルネットワークの複数のレイヤーを単一のカーネルに結合することで、メモリアクセスのオーバーヘッドを削減し、実行速度を向上させます。
- 精度キャリブレーション: TensorRTは、混合精度(FP16)や整数量子化(INT8)といった低精度モードをサポートしています。数値を表現するために使用されるビット数を(多くの場合、最小限の精度損失で)削減することにより、開発者は数学演算を大幅に高速化し、メモリ使用量を減らすことができます。これはモデル量子化の一形態です。
- カーネル自動チューニング: このソフトウェアは、使用される特定のGPUアーキテクチャに最適なデータレイヤーとアルゴリズムを自動的に選択し、CUDAを介してハードウェアの並列処理能力を最大限に活用します。
Link to this section実社会での応用#
最小限の遅延で膨大なデータを処理できる能力により、TensorRTはコンピュータビジョンや、タイミングが重要となる複雑なAIタスクに依存する業界で広く採用されています。
-
自律型システム: 自動車分野におけるAIの領域では、自動運転車は歩行者、標識、障害物を瞬時に検知するために、複数のカメラからのビデオフィードを処理する必要があります。TensorRTを使用することで、物体検出ネットワークのような認識モデルはミリ秒単位でフレームを分析でき、車両の制御システムがラグなしで安全上重要な判断を下すことを可能にします。
-
産業オートメーション: 現代の工場では、自動光学検査のために製造分野におけるAIが活用されています。高速カメラが組立ライン上の製品画像をキャプチャし、TensorRTで最適化されたモデルが欠陥や異常をリアルタイムで識別します。これにより、品質管理が高速な生産環境のペースに追従できるようになり、多くの場合、工場の現場で直接エッジAIデバイス(NVIDIA Jetsonプラットフォームなど)にデプロイされます。
Link to this sectionUltralytics YOLOでのTensorRTの使用#
現代のAIツールを使用すれば、TensorRTをワークフローに統合するのは簡単です。ultralyticsパッケージは、標準的なPyTorchモデルをTensorRTエンジンに変換するためのシームレスな手法を提供します。これにより、ユーザーはUltralytics YOLO26の最先端アーキテクチャを、NVIDIA GPUのハードウェアアクセラレーションで活用できます。エクスポート前にデータセットや学習パイプラインを管理したいチームのために、Ultralytics Platformは、このような高性能デプロイメントに向けてモデルを準備するための包括的な環境を提供しています。
以下の例は、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")Link to this sectionTensorRT vs. ONNX vs. 学習フレームワーク#
モデルデプロイメントの分野でよく耳にする他の用語とTensorRTを区別することが重要です:
- PyTorch/TensorFlowとの比較: PyTorchのようなフレームワークは主にモデルの学習と研究用に設計されており、柔軟性とデバッグの容易さを提供します。TensorRTは、学習済みモデルを可能な限り高速に実行することだけを目的とした推論エンジンです。学習には使用されません。
- ONNXとの比較: ONNX(Open Neural Network Exchange)形式は、フレームワーク間の仲介ブリッジとして機能します。ONNXが(PyTorchから別のプラットフォームへモデルを移行するなど)相互運用性を提供するのに対し、TensorRTはハードウェア固有の最適化に重点を置いています。多くの場合、モデルはまずONNXに変換され、その後TensorRTによって解析されて最終的なエンジンが生成されます。
AIエージェントやビジョンシステムのパフォーマンスを最大化することを目指す開発者にとって、学習フレームワークからTensorRTのような最適化されたランタイムへの移行を理解することは、専門的なMLOpsにおける重要なステップです。






